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}*{scrollbar-color:#00ffe04d #1a1a1a80;scrollbar-width:thin}::-webkit-scrollbar{height:12px;width:12px}::-webkit-scrollbar-track{background:#1a1a1a80;border-radius:10px;margin:4px}::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#00ffe04d,#00c8b466);border:2px solid #1a1a1a80;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#00ffe080,#00c8b499);box-shadow:0 0 10px #00ffe04d}::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg,#00ffe0b3,#00c8b4cc)}::-webkit-scrollbar-corner{background:#1a1a1a80}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:focus{outline:2px solid var(--color-secondary-400);outline-offset:2px}::selection{background-color:var(--color-secondary-400);color:var(--text-inverse)}::-moz-selection{background-color:var(--color-secondary-400);color:var(--text-inverse)}:root{--color-primary-900:#0a0a0a;--color-primary-800:#0e0e0e;--color-primary-700:#111;--color-primary-600:#1a1a1a;--color-primary-500:#1f1f1f;--color-primary-400:#2a2a2a;--color-primary-300:#333;--color-primary-200:#4a4a4a;--color-primary-100:#666;--color-primary-50:grey;--color-secondary-900:#003d36;--color-secondary-800:#004d44;--color-secondary-700:#006b5d;--color-secondary-600:#008a76;--color-secondary-500:#00a88f;--color-secondary-400:#00c7a8;--color-secondary-300:#00e6c1;--color-secondary-200:#00ffe0;--color-secondary-100:#33ffea;--color-secondary-50:#66fff4;--color-accent-purple:#8b5cf6;--color-accent-blue:#3b82f6;--color-accent-green:#10b981;--color-accent-yellow:#f59e0b;--color-accent-red:#ef4444;--color-accent-pink:#ec4899;--color-white:#fff;--color-black:#000;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-success:var(--color-accent-green);--color-warning:var(--color-accent-yellow);--color-error:var(--color-accent-red);--color-info:var(--color-accent-blue);--bg-primary:var(--color-primary-900);--bg-secondary:var(--color-primary-800);--bg-tertiary:var(--color-primary-700);--bg-surface:var(--color-primary-600);--bg-elevated:var(--color-primary-500);--bg-overlay:#000c;--bg-glass:#ffffff0d;--text-primary:var(--color-white);--text-secondary:var(--color-gray-300);--text-tertiary:var(--color-gray-400);--text-muted:var(--color-gray-500);--text-accent:var(--color-secondary-200);--text-inverse:var(--color-black);--border-primary:var(--color-primary-400);--border-secondary:var(--color-primary-300);--border-accent:var(--color-secondary-200);--border-focus:var(--color-secondary-400);--font-primary:"Segoe UI",-apple-system,BlinkMacSystemFont,"Roboto","Oxygen","Ubuntu","Cantarell","Fira Sans","Droid Sans","Helvetica Neue",sans-serif;--font-secondary:"SF Mono","Monaco","Inconsolata","Roboto Mono","Source Code Pro",monospace;--font-heading:"Inter",var(--font-primary);--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-lg:1.125rem;--text-xl:1.25rem;--text-2xl:1.5rem;--text-3xl:1.875rem;--text-4xl:2.25rem;--text-5xl:3rem;--text-6xl:3.75rem;--text-7xl:4.5rem;--text-8xl:6rem;--text-9xl:8rem;--leading-none:1;--leading-tight:1.25;--leading-snug:1.375;--leading-normal:1.5;--leading-relaxed:1.625;--leading-loose:2;--font-thin:100;--font-extralight:200;--font-light:300;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--font-extrabold:800;--font-black:900;--tracking-tighter:-0.05em;--tracking-tight:-0.025em;--tracking-normal:0em;--tracking-wide:0.025em;--tracking-wider:0.05em;--tracking-widest:0.1em;--space-0:0;--space-px:1px;--space-0-5:0.125rem;--space-1:0.25rem;--space-1-5:0.375rem;--space-2:0.5rem;--space-2-5:0.625rem;--space-3:0.75rem;--space-3-5:0.875rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-7:1.75rem;--space-8:2rem;--space-9:2.25rem;--space-10:2.5rem;--space-11:2.75rem;--space-12:3rem;--space-14:3.5rem;--space-16:4rem;--space-20:5rem;--space-24:6rem;--space-28:7rem;--space-32:8rem;--space-36:9rem;--space-40:10rem;--space-44:11rem;--space-48:12rem;--space-52:13rem;--space-56:14rem;--space-60:15rem;--space-64:16rem;--space-72:18rem;--space-80:20rem;--space-96:24rem;--radius-none:0;--radius-sm:0.125rem;--radius-base:0.25rem;--radius-md:0.375rem;--radius-lg:0.5rem;--radius-xl:0.75rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a,0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--shadow-inner:inset 0 2px 4px 0 #0000000f;--shadow-none:0 0 #0000;--shadow-glow-sm:0 0 5px #00ffe04d;--shadow-glow-md:0 0 10px #00ffe066;--shadow-glow-lg:0 0 20px #00ffe080;--shadow-glow-xl:0 0 30px #00ffe099;--ease-linear:linear;--ease-in:cubic-bezier(0.4,0,1,1);--ease-out:cubic-bezier(0,0,0.2,1);--ease-in-out:cubic-bezier(0.4,0,0.2,1);--ease-bounce:cubic-bezier(0.68,-0.55,0.265,1.55);--ease-elastic:cubic-bezier(0.175,0.885,0.32,1.275);--duration-75:75ms;--duration-100:100ms;--duration-150:150ms;--duration-200:200ms;--duration-300:300ms;--duration-500:500ms;--duration-700:700ms;--duration-1000:1000ms;--transition-fast:all var(--duration-150) var(--ease-out);--transition-base:all var(--duration-200) var(--ease-out);--transition-slow:all var(--duration-300) var(--ease-out);--transition-colors:color var(--duration-150) var(--ease-out),background-color var(--duration-150) var(--ease-out),border-color var(--duration-150) var(--ease-out);--transition-transform:transform var(--duration-200) var(--ease-out);--transition-opacity:opacity var(--duration-200) var(--ease-out);--z-0:0;--z-10:10;--z-20:20;--z-30:30;--z-40:40;--z-50:50;--z-auto:auto;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--z-toast:1080;--breakpoint-xs:480px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1280px;--breakpoint-2xl:1536px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1280px;--container-2xl:1536px;--container-full:100%;--btn-height-sm:var(--space-8);--btn-height-md:var(--space-10);--btn-height-lg:var(--space-12);--btn-padding-x-sm:var(--space-3);--btn-padding-x-md:var(--space-4);--btn-padding-x-lg:var(--space-6);--input-height:var(--space-10);--input-padding-x:var(--space-3);--input-border-width:1px;--input-focus-ring:0 0 0 3px #00ffe01a;--card-padding:var(--space-6);--card-radius:var(--radius-lg);--card-shadow:var(--shadow-md);--nav-height:var(--space-16);--nav-padding-x:var(--space-6);--aspect-square:1/1;--aspect-video:16/9;--aspect-photo:4/3;--opacity-0:0;--opacity-5:0.05;--opacity-10:0.1;--opacity-20:0.2;--opacity-25:0.25;--opacity-30:0.3;--opacity-40:0.4;--opacity-50:0.5;--opacity-60:0.6;--opacity-70:0.7;--opacity-75:0.75;--opacity-80:0.8;--opacity-90:0.9;--opacity-95:0.95;--opacity-100:1;--blur-none:0;--blur-sm:4px;--blur-base:8px;--blur-md:12px;--blur-lg:16px;--blur-xl:24px;--blur-2xl:40px;--blur-3xl:64px;--ripple-color:#ffffff4d;--ripple-duration:600ms;--ripple-size:300px;--magnetic-distance:10px;--magnetic-duration:var(--duration-200);--magnetic-ease:var(--ease-out);--haptic-scale-down:0.95;--haptic-scale-up:1.02;--haptic-duration:var(--duration-150);--haptic-shadow-press:var(--shadow-sm);--haptic-shadow-hover:var(--shadow-md),var(--shadow-glow-sm);--icon-scale-hover:1.15;--icon-glow-color:var(--color-secondary-200);--icon-transition:transform var(--duration-200) var(--ease-out),color var(--duration-200) var(--ease-out),filter var(--duration-200) var(--ease-out)}@keyframes ripple{0%{opacity:1;transform:scale(0)}to{opacity:0;transform:scale(4)}}@keyframes hapticPress{0%{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--shadow-sm);transform:scale(1)}50%{box-shadow:0 1px 2px 0 #0000000d;box-shadow:var(--haptic-shadow-press);transform:scale(.95);transform:scale(var(--haptic-scale-down))}to{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 5px #00ffe04d;box-shadow:var(--haptic-shadow-hover);transform:scale(1)}}@keyframes tooltipFadeIn{0%{opacity:0;transform:translate(-50%,-5px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-color-scheme:dark){:root{color-scheme:dark}}@media (prefers-reduced-motion:reduce){:root{--duration-75:0ms;--duration-100:0ms;--duration-150:0ms;--duration-200:0ms;--duration-300:0ms;--duration-500:0ms;--duration-700:0ms;--duration-1000:0ms;--ripple-duration:0ms;--haptic-duration:0ms;--magnetic-duration:0ms}}@media (prefers-contrast:high){:root{--text-primary:#fff;--text-secondary:#fff;--border-primary:#fff;--border-secondary:#fff}}*,.app,.section,article,aside,div,footer,header,main,nav,section{box-sizing:border-box;max-width:100%}body{position:relative}canvas,iframe,img,svg,video{box-sizing:border-box;height:auto;max-width:100%}div,h1,h2,h3,h4,h5,h6,p,span{word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;overflow-wrap:break-word}code,pre{word-wrap:break-word;white-space:pre-wrap}code,pre,table{max-width:100%;overflow-x:auto}table{display:block;white-space:nowrap;width:100%}@media (max-width:768px){.app{max-width:100vw;overflow-x:hidden;padding-left:0;padding-right:0;position:relative;width:100vw}.section{margin-left:auto;margin-right:auto}.hero,.section{box-sizing:border-box;max-width:100%;padding-left:1rem;padding-right:1rem;width:100%}.hero{min-height:calc(100vh - 4rem)}.hero-text{flex-shrink:1;max-width:100%;width:100%}.experience-item,.project-card,.skills-category{box-sizing:border-box;max-width:100%;width:100%}}@media (max-width:480px){.app{padding:0}.section{padding-left:.5rem;padding-right:.5rem}.hero{padding:2rem .5rem}}.mobile-debug{background:#ff00001a!important;border:2px solid red!important}.mobile-container-debug *{border:1px solid blue!important}.production .mobile-container-debug *,.production .mobile-debug{background:#0000!important;border:none!important}*,:after,:before{box-sizing:border-box;margin:0;padding:0}*{word-wrap:break-word;overflow-wrap:break-word}html{background:var(--bg-primary);font-size:16px;scroll-behavior:smooth}body,html{color:var(--text-primary);max-width:100%;overflow-x:hidden;width:100%}body{-webkit-overflow-scrolling:touch;background:linear-gradient(135deg,var(--color-primary-900) 0,var(--color-primary-700) 100%);font-family:var(--font-primary);line-height:var(--leading-normal);margin:0;min-height:100vh;padding:0}a{color:var(--text-accent);text-decoration:none;transition:var(--transition-colors)}a:focus,a:hover{color:var(--color-accent-blue)}a:focus,button:focus,input:focus,select:focus,textarea:focus{box-shadow:0 0 0 3px var(--border-focus);outline:none}.app{align-items:stretch;display:flex;flex-direction:column;min-height:100vh;padding:0;padding-top:var(--nav-height);width:100%}.section{margin:0 auto;max-width:var(--container-lg);padding:0 var(--space-6);width:100%}.section+.section{margin-top:var(--space-16)}@media (max-width:var(--breakpoint-md )){.app{padding-top:var(--nav-height)}.section{padding:0 var(--space-4)}.section+.section{margin-top:var(--space-12)}}@media (max-width:var(--breakpoint-sm )){.app{padding-top:var(--nav-height)}.section{padding:0 var(--space-3)}.section+.section{margin-top:var(--space-8)}}@media (max-width:var(--breakpoint-xs )){.app{padding-top:var(--nav-height)}.section{padding:0 var(--space-2)}.section+.section{margin-top:var(--space-6)}}@media (max-width:var(--breakpoint-md )){a,button,input,select,textarea{min-height:44px}img{height:auto;max-width:100%;width:auto}*{-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%}input,select,textarea{font-size:16px}*{box-sizing:border-box;max-width:100%}code,pre{word-wrap:break-word;overflow-x:auto}}@media (max-width:var(--breakpoint-xs )){h1,h2,h3,h4,h5,h6{margin-top:0}h1,h2,h3,h4,h5,h6,p{margin-bottom:var(--space-2)}a,button,input[type=button],input[type=submit]{min-height:48px;min-width:48px}}.hero{align-items:center;background:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);display:flex;flex-wrap:wrap;justify-content:center;min-height:calc(100vh - var(--nav-height));overflow:hidden;padding:var(--space-16) var(--space-6);position:relative;width:100%}.hero:before{background:radial-gradient(circle at center,#00ffe014 0,#00ffe00a 40%,#0000 70%);height:80%;right:0;top:50%;transform:translateY(-50%);width:50%}.hero:after,.hero:before{content:"";pointer-events:none;position:absolute;z-index:0}.hero:after{animation:float-circle 8s var(--ease-in-out) infinite;border:1px solid #00ffe026;border-radius:50%;height:300px;right:10%;top:30%;width:300px}.hero-text{max-width:700px;text-align:left;width:100%;z-index:var(--z-10)}.hero-text h1{text-wrap:balance;-webkit-text-wrap:balance;color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(2.75rem,5.5vw,4rem);font-weight:800;-webkit-hyphens:none;hyphens:none;letter-spacing:-.025em;line-height:1.15;margin-bottom:var(--space-8);overflow-wrap:break-word;white-space:normal;word-spacing:.1em}.hero-text h1:after{content:"";display:inline-block;width:0}.hero-text p{text-wrap:pretty;-webkit-text-wrap:pretty;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-secondary);font-family:var(--font-primary);font-size:clamp(1.125rem,2.2vw,1.5rem);font-weight:400;hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;line-height:1.65;margin-bottom:var(--space-10);max-width:650px;orphans:3;overflow-wrap:normal;text-rendering:optimizeLegibility;widows:3;word-break:keep-all}.hero-button{background-color:var(--color-secondary-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-primary);display:inline-block;font-size:var(--text-lg);font-weight:var(--font-medium);overflow:hidden;padding:var(--space-3) var(--space-6);position:relative;text-decoration:none;transition:transform var(--magnetic-duration) var(--magnetic-ease),box-shadow var(--duration-200) var(--ease-out),background var(--duration-200) var(--ease-out);will-change:transform;z-index:var(--z-10)}.hero-button:before{background:var(--ripple-color);border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0}.hero-button:focus,.hero-button:hover{background-color:var(--color-secondary-600);box-shadow:var(--haptic-shadow-hover);transform:scale(var(--haptic-scale-up))}.hero-button:active{transform:scale(var(--haptic-scale-down))}.hero-button:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}.hero-button:focus{box-shadow:var(--shadow-glow-lg),0 0 0 3px var(--border-focus);outline:none}.hero-nyx{margin-top:var(--space-8);position:relative;z-index:var(--z-10)}.nyx-bot{align-items:center;animation:float-rotate 4s var(--ease-in-out) infinite,pulseGlow 3s var(--ease-in-out) infinite;-webkit-backdrop-filter:blur(var(--blur-base));backdrop-filter:blur(var(--blur-base));background:linear-gradient(135deg,var(--color-secondary-600) 0,var(--color-secondary-500) 100%),var(--bg-glass);background-blend-mode:overlay;border:2px solid var(--color-secondary-400);border-radius:var(--radius-full);box-shadow:var(--shadow-md),var(--shadow-glow-md);display:flex;font-size:var(--text-6xl);height:120px;justify-content:center;padding:var(--space-6);width:120px}.nyx-bot:hover{animation-play-state:paused;box-shadow:var(--shadow-lg),var(--shadow-glow-lg);transform:scale(1.1)}.nyx-bot p{color:var(--text-secondary);font-family:var(--font-secondary);font-size:var(--text-sm);text-align:center}.nyx-bot-text{-webkit-backdrop-filter:blur(var(--blur-sm));backdrop-filter:blur(var(--blur-sm));background:linear-gradient(135deg,var(--color-secondary-700),var(--color-secondary-600)),var(--bg-glass);background-blend-mode:overlay;border:1px solid var(--color-secondary-500);border-radius:var(--radius-md);box-shadow:var(--shadow-sm),var(--shadow-glow-sm);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);right:calc(100% + var(--space-2));z-index:var(--z-10)}.nyx-bot-text,.nyx-bot-text:after{position:absolute;top:50%;transform:translateY(-50%)}.nyx-bot-text:after{border-bottom:var(--space-2) solid #0000;border-left:var(--space-2) solid var(--color-secondary-600);border-top:var(--space-2) solid #0000;content:"";height:0;right:-var(--space-2);width:0}@keyframes float-circle{0%,to{opacity:.15;transform:translateY(0) scale(1)}50%{opacity:.25;transform:translateY(-20px) scale(1.05)}}@keyframes float-rotate{0%{transform:translateY(0) rotate(0deg)}25%{transform:translateY(-8px) rotate(2deg)}50%{transform:translateY(0) rotate(0deg)}75%{transform:translateY(-8px) rotate(-2deg)}to{transform:translateY(0) rotate(0deg)}}@keyframes pulseGlow{0%,to{box-shadow:var(--shadow-md),var(--shadow-glow-md)}50%{box-shadow:var(--shadow-lg),var(--shadow-glow-lg)}}@media (max-width:var(--breakpoint-md )){.hero{flex-direction:column;justify-content:center;min-height:calc(100vh - var(--nav-height));padding:var(--space-16) var(--space-4)}.hero-text{text-align:center}.hero:before{opacity:.5;width:70%}.hero:after{height:200px;opacity:.5;width:200px}.hero-text{margin-bottom:var(--space-8);max-width:100%}.hero-text h1{font-size:clamp(2.25rem,5vw,2.75rem);letter-spacing:-.02em;line-height:1.2;margin-bottom:var(--space-6)}.hero-text p{font-size:clamp(1.0625rem,2.5vw,1.25rem);line-height:1.6;margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:90%}.hero-button{font-size:var(--text-lg);margin-bottom:var(--space-6);min-height:48px;padding:var(--space-4) var(--space-8)}.hero-nyx{margin:0 auto}.nyx-bot{font-size:var(--text-5xl);height:100px;width:100px}.nyx-bot-text{max-width:calc(100vw - var(--space-8));overflow:hidden;text-overflow:ellipsis;top:-var(--space-10);white-space:nowrap}.nyx-bot-text,.nyx-bot-text:after{left:50%;right:auto;transform:translateX(-50%)}.nyx-bot-text:after{border-bottom:none;border-left:var(--space-2) solid #0000;border-right:var(--space-2) solid #0000;border-top:var(--space-2) solid var(--color-secondary-600);bottom:-var(--space-2);top:auto}}@media (max-width:var(--breakpoint-sm )){.hero{padding:var(--space-12) var(--space-3)}.hero:after,.hero:before{opacity:.3}.hero-text h1{font-size:clamp(1.875rem,4.5vw,2.25rem);letter-spacing:-.015em;line-height:1.25;margin-bottom:var(--space-5)}.hero-text p{font-size:clamp(1rem,2.2vw,1.125rem);line-height:1.55;margin-bottom:var(--space-6);max-width:95%}.hero-button{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.nyx-bot{font-size:var(--text-4xl);height:80px;width:80px}}@media (max-width:var(--breakpoint-xs )){.hero{padding:var(--space-10) var(--space-2)}.hero-text h1{font-size:clamp(1.625rem,4vw,1.875rem);line-height:1.3;margin-bottom:var(--space-4);word-spacing:.05em}.hero-text p{font-size:clamp(.9375rem,2vw,1rem);line-height:1.5;margin-bottom:var(--space-5);max-width:100%}.hero-button{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-5)}.nyx-bot-text{font-size:var(--text-xs);padding:var(--space-1-5) var(--space-2)}.hero:after,.hero:before{display:none}}@media (prefers-reduced-motion:reduce){.hero:after{animation:none}.hero-button{transition:none}}.particle-background{height:100%;left:0;opacity:.6;pointer-events:none;position:absolute;top:0;width:100%;z-index:1}@media (max-width:var(--breakpoint-md )){.particle-background{opacity:.3}}@media (prefers-reduced-motion:reduce){.particle-background{display:none}}@keyframes breathingGlow{0%,to{box-shadow:var(--shadow-glow-md);opacity:1;transform:scale(1) rotate(0deg)}50%{box-shadow:var(--shadow-glow-lg);opacity:.9;transform:scale(1.05) rotate(1deg)}}@keyframes bounceIn{0%{opacity:0;transform:scale(.5) rotate(0deg)}60%{opacity:1;transform:scale(1.2) rotate(-2deg)}80%{transform:scale(.9) rotate(2deg)}to{transform:scale(1) rotate(0deg)}}@keyframes wiggleAttention{0%,to{transform:rotate(0deg)}15%{transform:rotate(5deg)}30%{transform:rotate(-5deg)}45%{transform:rotate(4deg)}60%{transform:rotate(-4deg)}75%{transform:rotate(2deg)}}@keyframes rotateHover{0%{transform:rotate(0deg) scale(1)}to{transform:rotate(1turn) scale(1.1)}}@keyframes clickFeedback{0%{transform:scale(1)}50%{transform:scale(.9)}to{transform:scale(1)}}@keyframes floatHint{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}@keyframes modalOpen{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spinner{to{transform:rotate(1turn)}}@keyframes typingDots{0%,80%,to{opacity:.4;transform:translateY(0)}40%{opacity:1;transform:translateY(-4px)}}.nyx-floating-button{--btn-breath-duration:var(--duration-1000);--btn-breath-ease:var(--ease-in-out);--btn-bounce-duration:var(--duration-500);--btn-attention-duration:var(--duration-800);--btn-hover-duration:var(--duration-300);--btn-click-duration:var(--duration-150);animation:breathingGlow var(--btn-breath-duration) var(--btn-breath-ease) infinite;backdrop-filter:blur(var(--blur-base));-webkit-backdrop-filter:blur(var(--blur-base));background:linear-gradient(135deg,var(--color-secondary-600) 0,var(--color-secondary-500) 100%),var(--bg-glass);background-blend-mode:overlay;border:2px solid var(--color-secondary-400);border-radius:var(--radius-full);bottom:var(--space-10);box-shadow:var(--shadow-glow-md);color:var(--text-primary);cursor:pointer;height:var(--space-14);overflow:hidden;position:fixed;right:var(--space-8);transform-origin:center;transition:transform var(--duration-150) var(--ease-out),box-shadow var(--duration-150) var(--ease-out);width:var(--space-14);will-change:transform;z-index:var(--z-modal)}.chat-logo,.nyx-floating-button{align-items:center;display:flex;justify-content:center}.chat-logo{height:100%;pointer-events:none;width:100%}.chat-logo .chatbot-logo-svg{display:block;height:100%;transform-origin:center;width:100%}.chat-logo:empty:before{content:"🤖";font-size:var(--text-3xl);pointer-events:none}.nyx-floating-button--active{animation:bounceIn var(--btn-bounce-duration) var(--ease-bounce) both}.nyx-floating-button--attention{animation:wiggleAttention var(--btn-attention-duration) var(--ease-in-out) infinite}.nyx-floating-button:focus,.nyx-floating-button:hover{animation:rotateHover var(--btn-hover-duration) var(--ease-out) both;outline:none}.nyx-floating-button:active{animation:clickFeedback var(--btn-click-duration) var(--ease-out) both}@media (prefers-reduced-motion:reduce){.nyx-floating-button,.nyx-floating-button--active,.nyx-floating-button--attention,.nyx-floating-button:active,.nyx-floating-button:focus,.nyx-floating-button:hover{animation:none!important;transition:none!important}.chat-header .close-btn,.chat-input button{animation:none!important}}.nyx-hint{align-items:center;animation:floatHint var(--duration-2000) var(--ease-in-out) infinite;bottom:calc(var(--space-10) + var(--space-6));color:var(--color-secondary-300);display:flex;flex-direction:column;font-size:var(--text-sm);font-weight:var(--font-semibold);position:fixed;right:var(--space-8);z-index:calc(var(--z-modal) - 1)}.nyx-hint .arrow{border-left:var(--space-1) solid #0000;border-right:var(--space-1) solid #0000;border-top:8px solid var(--color-secondary-300);height:0;margin-top:var(--space-1);width:0}.chat-modal{animation:modalOpen var(--duration-200) var(--ease-out) both;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background:var(--bg-glass);border:1px solid var(--color-secondary-500);border-radius:var(--radius-lg);bottom:calc(var(--space-10) + var(--space-6));box-shadow:var(--shadow-lg),var(--shadow-glow-md);color:var(--text-primary);display:flex;flex-direction:column;height:400px;max-height:70vh;max-width:90vw;overflow:hidden;position:fixed;right:var(--space-8);width:320px;z-index:var(--z-modal)}.chat-header{align-items:center;background:linear-gradient(135deg,var(--color-secondary-600),var(--color-secondary-700));border-bottom:2px solid var(--color-secondary-400);display:flex;font-size:var(--text-lg);font-weight:var(--font-semibold);justify-content:space-between;padding:var(--space-3) var(--space-4)}.chat-header .close-btn{background:#0000;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:var(--text-xl);transition:color var(--duration-150) var(--ease-out),box-shadow var(--duration-150) var(--ease-out),transform var(--haptic-duration) var(--ease-out);will-change:transform}.chat-header .close-btn:focus,.chat-header .close-btn:hover{box-shadow:var(--shadow-glow-sm);color:var(--color-secondary-200);outline:none;transform:scale(var(--haptic-scale-up))}.chat-header .close-btn:active{transform:scale(var(--haptic-scale-down));transition:transform var(--haptic-duration) var(--ease-out)}.chat-body{display:flex;flex:1 1;flex-direction:column;gap:var(--space-2);overflow-y:auto}.chat-body,.chat-msg{padding:var(--space-3)}.chat-msg{word-wrap:break-word;border-radius:var(--radius-md);line-height:1.4;max-width:80%;white-space:pre-wrap}.chat-msg.user{align-self:flex-end;background-color:var(--color-secondary-600);border-bottom-right-radius:0;color:var(--text-primary)}.chat-msg.nyx,.chat-msg.user{box-shadow:var(--shadow-glow-sm)}.chat-msg.nyx{align-self:flex-start;background:linear-gradient(135deg,var(--color-secondary-300),var(--color-secondary-200));border-bottom-left-radius:0;color:var(--text-inverse);padding:var(--space-3)}.chat-msg.loading{align-self:center;background:#0000;padding:var(--space-2)}.chat-msg.loading:after{animation:spinner var(--duration-500) var(--ease-in-out) infinite;border:var(--input-border-width) solid var(--text-secondary);border-radius:var(--radius-full);border-top-color:var(--color-secondary-400);content:"";display:inline-block;height:var(--space-4);width:var(--space-4)}.chat-msg.nyx.typing{background:#0000;color:var(--text-secondary)}.typing-indicator{align-items:center;display:inline-flex;gap:var(--space-1)}.typing-indicator span{animation:typingDots var(--duration-1000) var(--ease-in-out) infinite;background:var(--color-secondary-400);border-radius:var(--radius-full);display:block;height:var(--space-2);width:var(--space-2)}.typing-indicator span:nth-child(2){animation-delay:.16s}.typing-indicator span:nth-child(3){animation-delay:.32s}.chat-input{backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));background:var(--bg-glass);border-top:1px solid var(--color-secondary-500);display:flex;gap:var(--space-2);padding:var(--space-3)}.chat-input input{background:var(--color-secondary-800);border:none;border-radius:var(--radius-sm);color:var(--text-primary);flex:1 1;outline:none;padding:var(--space-2);transition:box-shadow var(--duration-150) var(--ease-out)}.chat-input input:focus{box-shadow:0 0 0 3px var(--color-secondary-400)}.chat-input input::placeholder{color:var(--text-muted)}.chat-input button{background:linear-gradient(135deg,var(--color-secondary-500),var(--color-secondary-400));border:none;border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);color:var(--text-inverse);cursor:pointer;overflow:hidden;padding:var(--space-2) var(--space-4);position:relative;transition:background var(--duration-150) var(--ease-out),transform var(--haptic-duration) var(--ease-out),box-shadow var(--duration-150) var(--ease-out);will-change:transform}.chat-input button:before{background:var(--ripple-color);border-radius:var(--radius-full);content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0;z-index:0}.chat-input button:focus,.chat-input button:hover{background:linear-gradient(135deg,var(--color-secondary-600),var(--color-secondary-500));box-shadow:var(--shadow-glow-sm);outline:none;transform:scale(var(--haptic-scale-up))}.chat-input button:active{box-shadow:var(--haptic-shadow-press);transform:scale(var(--haptic-scale-down))}.chat-input button:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}@media (max-width:var(--breakpoint-md )){.nyx-floating-button{bottom:var(--space-8);height:var(--space-12);right:var(--space-6);width:var(--space-12)}.nyx-hint{bottom:calc(var(--space-8) + var(--space-4));font-size:var(--text-xs);right:var(--space-6)}.chat-modal{bottom:var(--space-8);height:350px;max-height:60vh;max-width:300px;right:var(--space-6);width:calc(100vw - var(--space-12))}}@media (max-width:var(--breakpoint-sm )){.nyx-floating-button{bottom:var(--space-6);height:var(--space-10);right:var(--space-4);width:var(--space-10)}.nyx-hint{bottom:calc(var(--space-6) + var(--space-3));font-size:var(--text-xs);right:var(--space-4)}.chat-modal{bottom:var(--space-6);height:300px;left:var(--space-4);max-height:50vh;max-width:none;right:var(--space-4);width:calc(100vw - var(--space-8))}.chat-header{font-size:var(--text-base);padding:var(--space-2) var(--space-3)}.chat-body{gap:var(--space-1-5)}.chat-body,.chat-msg{padding:var(--space-2)}.chat-msg{font-size:var(--text-sm)}.chat-input{gap:var(--space-2);padding:var(--space-2)}.chat-input input{font-size:var(--text-sm);min-height:40px;padding:var(--space-2)}.chat-input button{min-height:40px;min-width:60px;padding:var(--space-2) var(--space-3)}}@media (max-width:var(--breakpoint-xs )){.nyx-floating-button{height:var(--space-8);width:var(--space-8)}.chat-modal,.nyx-floating-button{bottom:var(--space-4);right:var(--space-3)}.chat-modal{height:250px;left:var(--space-3);max-height:40vh;width:calc(100vw - var(--space-6))}.nyx-hint{display:none}}@media (max-width:var(--breakpoint-md )){.nyx-speech-bubble{bottom:calc(var(--space-8) + var(--space-2));font-size:var(--text-xs);padding:var(--space-1-5) var(--space-2-5);right:calc(var(--space-6) + var(--space-12) + var(--space-2))}}@media (max-width:var(--breakpoint-sm )){.nyx-speech-bubble{bottom:calc(var(--space-6) + var(--space-2));font-size:var(--text-xs);line-height:var(--leading-tight);max-width:calc(100vw - var(--space-8) - var(--space-10) - var(--space-4));padding:var(--space-1) var(--space-2);right:calc(var(--space-4) + var(--space-10) + var(--space-1-5));white-space:normal}}@media (max-width:var(--breakpoint-xs )){.nyx-speech-bubble{display:none}}@keyframes speechBubbleFadeIn{0%{opacity:0;transform:translateX(10px) scale(.9)}to{opacity:1;transform:translateX(0) scale(1)}}.nyx-speech-bubble{animation:speechBubbleFadeIn var(--duration-300) var(--ease-out) both;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));background:linear-gradient(135deg,var(--color-secondary-600),var(--color-secondary-500));border:1px solid var(--color-secondary-400);border-radius:var(--radius-md);bottom:calc(var(--space-10) + var(--space-2));box-shadow:var(--shadow-md),var(--shadow-glow-sm);color:var(--text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-2) var(--space-3);position:fixed;right:calc(var(--space-8) + var(--space-14) + var(--space-3));white-space:nowrap;z-index:calc(var(--z-modal) - 1)}.speech-pointer{border-bottom:6px solid #0000;border-left:8px solid var(--color-secondary-600);border-top:6px solid #0000;height:0;position:absolute;right:-8px;top:50%;transform:translateY(-50%);width:0}@media (max-width:var(--breakpoint-sm )){.nyx-speech-bubble{bottom:calc(var(--space-8) + var(--space-2));font-size:var(--text-xs);padding:var(--space-1) var(--space-2);right:calc(var(--space-4) + var(--space-14) + var(--space-2))}}@media (prefers-reduced-motion:reduce){.nyx-speech-bubble{animation:none!important}}.projects{background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);margin:0 auto;max-width:1400px;padding:var(--space-16) var(--space-6);width:100%}.projects h2{font-family:var(--font-heading);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-12);text-align:center}.project-list{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin:0 auto;max-width:1200px}@media (max-width:var(--breakpoint-lg )){.project-list{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width:var(--breakpoint-md )){.projects{padding:var(--space-12) var(--space-4)}.projects h2{font-size:var(--text-3xl);margin-bottom:var(--space-8)}.project-list{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}}@media (max-width:var(--breakpoint-sm )){.projects{padding:var(--space-8) var(--space-3)}.projects h2{font-size:var(--text-2xl)}.project-list{gap:var(--space-4);grid-template-columns:1fr}.project-badges{gap:var(--space-1-5);left:var(--space-2);top:var(--space-2)}.project-card:before{animation:none}.project-card:focus-within img,.project-card:hover img{transform:scale(1.05)}.project-card img{height:180px}.project-card h3{font-size:var(--text-lg);padding:var(--space-4) var(--space-4) 0 var(--space-4)}.project-card p{font-size:var(--text-sm)}.project-card p,.project-tech-stack{padding:0 var(--space-4)}.project-links{padding:var(--space-3) var(--space-4) var(--space-4) var(--space-4)}}@media (max-width:var(--breakpoint-xs )){.project-badges{left:var(--space-1-5);top:var(--space-1-5)}.project-card:focus-within .project-image-wrapper,.project-card:hover .project-image-wrapper{transform:none}.project-card img{height:160px}.project-card h3{font-size:var(--text-base);padding:var(--space-3) var(--space-3) 0 var(--space-3)}.project-card p{font-size:var(--text-xs);padding:0 var(--space-3)}.project-tech-stack{gap:var(--space-1-5);padding:0 var(--space-3)}.project-links{gap:var(--space-3);padding:var(--space-2-5) var(--space-3) var(--space-3) var(--space-3)}.project-card a{font-size:var(--text-xs)}}@media (prefers-reduced-motion:reduce){.project-card:before{animation:none}.project-card:focus-within img,.project-card:hover img{transform:scale(1.05)}.project-card:focus-within .project-image-wrapper,.project-card:hover .project-image-wrapper{transform:none}.project-image-overlay{transition:opacity var(--duration-200) var(--ease-out)}.project-card a{transition:color var(--duration-200) var(--ease-out)}.project-card a:focus,.project-card a:hover{transform:none}}.project-card{background:var(--bg-elevated);border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:flex;flex-direction:column;height:100%;overflow:visible;padding:0;position:relative;transition:var(--transition-base)}.project-badges{display:flex;flex-wrap:wrap;gap:var(--space-2);left:var(--space-3);position:absolute;top:var(--space-3);z-index:10}.tag-category.category-web-app{background-color:#3b82f626;border-color:#3b82f680}.tag-category.category-web-app:hover{background-color:#3b82f640;border-color:#3b82f6cc}.tag-category.category-ai{background-color:#8b5cf626;border-color:#8b5cf680}.tag-category.category-ai:hover{background-color:#8b5cf640;border-color:#8b5cf6cc}.project-status{align-items:center;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));background:var(--bg-glass);border:1px solid var(--border-secondary);border-radius:var(--radius-full);color:var(--text-primary);display:inline-flex;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2)}.status-dot{border-radius:var(--radius-full);display:inline-block;height:var(--space-2);margin-right:var(--space-1);width:var(--space-2)}.project-status.status-live .status-dot{background-color:var(--color-accent-green);box-shadow:0 0 8px #10b98199}.project-status.status-in-progress .status-dot{background-color:var(--color-accent-yellow);box-shadow:0 0 8px #f59e0b99}.project-status.status-completed .status-dot{background-color:var(--color-accent-blue);box-shadow:0 0 8px #3b82f699}.project-image-wrapper{border-radius:var(--radius-sm);overflow:hidden;perspective:1000px;position:relative}.project-card img{display:block;height:200px;object-fit:cover;transform-style:preserve-3d;transition:transform var(--duration-300) var(--ease-out);width:100%}.project-image-overlay{background:linear-gradient(135deg,#8b5cf633,#3b82f633);inset:0;opacity:0;pointer-events:none;position:absolute;transition:var(--transition-base)}.project-card h3{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0 0 var(--space-3) 0;padding:var(--space-5) var(--space-5) 0 var(--space-5)}.project-card p{color:var(--text-secondary);flex-grow:1;font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-4) 0;padding:0 var(--space-5)}.project-tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0 0 var(--space-5) 0;padding:0 var(--space-5)}.project-tech-stack .tag{background-color:var(--bg-surface);border:1px solid var(--border-primary);border-radius:var(--radius-md);color:var(--text-secondary);font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2-5)}.project-links{background:var(--bg-surface);border-top:1px solid var(--border-primary);display:flex;flex-wrap:wrap;gap:var(--space-4);margin-top:auto;padding:var(--space-4) var(--space-5) var(--space-5) var(--space-5)}.project-card a{align-items:center;border-radius:var(--radius-md);color:var(--text-accent);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);overflow:hidden;padding:var(--space-2) var(--space-3);position:relative;text-decoration:none;transition:var(--transition-base),transform var(--haptic-duration) var(--ease-out);will-change:transform}.project-card a:before{background:var(--ripple-color);border-radius:var(--radius-full);content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0;z-index:0}.project-card a .link-icon{font-size:var(--text-sm);position:relative;transition:transform var(--duration-300) var(--ease-out);z-index:1}.project-card a:after{background:var(--text-accent);bottom:var(--space-1);content:"";height:2px;left:var(--space-3);position:absolute;transition:var(--transition-transform);width:0;z-index:1}.project-card a:focus,.project-card a:hover{box-shadow:var(--shadow-md),var(--shadow-glow-sm);color:var(--color-accent-blue);transform:translateY(-2px) scale(var(--haptic-scale-up))}.project-card a:active{box-shadow:var(--haptic-shadow-press);transform:translateY(0) scale(var(--haptic-scale-down))}.project-card a:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}.project-card a:focus:after,.project-card a:hover:after{width:calc(100% - var(--space-6))}.project-card a:focus .link-icon,.project-card a:hover .link-icon{transform:translateX(2px)}.project-card:focus-within,.project-card:hover{border-color:var(--border-focus);box-shadow:var(--shadow-xl),var(--shadow-glow-md);transform:translateY(-var(--space-2)) scale(1.02)}.project-card:focus-within .project-image-wrapper,.project-card:hover .project-image-wrapper{transform:rotateX(0deg) rotateY(0deg);transform:rotateX(var(--rotate-x,0deg)) rotateY(var(--rotate-y,0deg));transition:transform var(--duration-200) var(--ease-out)}.project-card:focus-within img,.project-card:hover img{transform:scale(1.08) rotateX(2deg) rotateY(2deg)}.project-card:focus-within .project-image-overlay,.project-card:hover .project-image-overlay{opacity:1}.tag{align-items:center;background-color:var(--bg-elevated);border:1px solid var(--border-primary);border-radius:var(--radius-full);color:var(--text-secondary);cursor:default;display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-1) var(--space-3);transition:var(--transition-base),transform var(--haptic-duration) var(--ease-out);white-space:nowrap;will-change:transform}.tag:hover{background-color:var(--color-secondary-500);border-color:var(--color-secondary-200);box-shadow:var(--shadow-sm);color:var(--text-primary);transform:translateY(-2px) scale(var(--haptic-scale-up))}.tag:active{transform:translateY(0) scale(var(--haptic-scale-down));transition:transform var(--haptic-duration) var(--ease-out)}.tag-icon{color:var(--text-accent);font-size:var(--text-base);transition:var(--transition-colors)}.tag:hover .tag-icon{color:var(--color-secondary-100)}.tag-tech{background-color:var(--bg-surface);border-color:var(--border-accent);color:var(--text-accent);font-weight:var(--font-semibold)}.tag-tech:hover{background-color:var(--color-secondary-600);border-color:var(--color-secondary-100);box-shadow:var(--shadow-glow-sm);color:var(--text-primary);transform:translateY(-2px) scale(var(--haptic-scale-up))}.tag-tech:active{transform:translateY(0) scale(var(--haptic-scale-down))}.tag-tech .tag-icon{color:var(--color-secondary-200)}.tag-tech:hover .tag-icon{color:var(--color-secondary-50)}.tag-skill{background-color:var(--bg-elevated);border-color:var(--border-primary);color:var(--text-secondary);padding:var(--space-2) var(--space-4)}.tag-skill:hover{background-color:var(--color-secondary-500);border-color:var(--color-secondary-200);box-shadow:var(--shadow-md);color:var(--text-primary);transform:translateY(-2px) scale(var(--haptic-scale-up))}.tag-skill:active{transform:translateY(0) scale(var(--haptic-scale-down))}.tag-skill .tag-icon{color:var(--text-accent);font-size:var(--text-xl)}.tag-skill:hover .tag-icon{color:var(--color-secondary-100)}.tag-category{backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));background-color:#8b5cf626;border:1px solid #8b5cf680;box-shadow:var(--shadow-sm);color:var(--text-primary);font-weight:var(--font-semibold);padding:var(--space-1-5) var(--space-3)}.tag-category:hover{background-color:#8b5cf640;border-color:#8b5cf6cc;box-shadow:var(--shadow-glow-sm);transform:translateY(-2px) scale(var(--haptic-scale-up))}.tag-category:active{transform:translateY(0) scale(var(--haptic-scale-down))}@media (max-width:768px){.tag{font-size:var(--text-xs);gap:var(--space-1-5);padding:var(--space-1) var(--space-2-5)}.tag-icon{font-size:var(--text-sm)}.tag-skill{padding:var(--space-1-5) var(--space-3)}.tag-skill .tag-icon{font-size:var(--text-lg)}}@media (prefers-reduced-motion:reduce){.tag,.tag-category,.tag-skill,.tag-tech{transition:none}.tag-category:hover,.tag-skill:hover,.tag-tech:hover,.tag:hover{transform:none}}.about{background-color:var(--bg-secondary);box-sizing:border-box;color:var(--text-secondary);overflow:hidden;padding:var(--space-16) var(--space-6);position:relative;width:100%}.about:before{animation:fadeIn 1s var(--ease-out) forwards;background:radial-gradient(circle at top center,var(--color-accent-blue) var(--opacity-10),#0000);content:"";height:50%;left:50%;opacity:.3;pointer-events:none;position:absolute;top:0;transform:translateX(-50%);width:120%}.about h2{animation:fadeInUp .6s var(--ease-out) forwards;color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-5xl);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin-bottom:var(--space-8);opacity:0;text-align:center}.about-container{animation:fadeInUp .6s var(--ease-out) var(--duration-300) forwards;margin:0 auto;max-width:var(--container-md);opacity:0}.about-content{color:var(--text-primary);font-size:var(--text-base);line-height:var(--leading-relaxed)}.about-content p{margin-bottom:var(--space-4);text-align:justify}.about-content strong{color:var(--text-accent);font-weight:var(--font-semibold)}.about-cta{background:linear-gradient(135deg,var(--bg-elevated),var(--bg-surface));border:1px solid var(--border-secondary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-lg);margin:var(--space-12) auto 0;max-width:var(--container-md);overflow:hidden;padding:var(--space-10);position:relative;text-align:center}.about-cta:before{background:radial-gradient(circle at center,var(--color-secondary-500) 0,#0000 70%);content:"";inset:0;opacity:.05;pointer-events:none;position:absolute}.about-cta h3{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);margin-bottom:var(--space-4)}.about-cta p{color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);margin-left:auto;margin-right:auto;max-width:600px}.cta-button{align-items:center;background:var(--color-secondary-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--text-primary);display:inline-flex;font-size:var(--text-lg);font-weight:var(--font-semibold);gap:var(--space-2);overflow:hidden;padding:var(--space-4) var(--space-8);position:relative;text-decoration:none;transition:var(--transition-base)}.cta-button:hover{background:var(--color-secondary-600);box-shadow:var(--shadow-xl),var(--shadow-glow-lg);transform:translateY(-2px) scale(1.05)}.cta-icon{transition:transform var(--duration-200) var(--ease-out)}.cta-button:hover .cta-icon{transform:translateX(4px)}@media (max-width:var(--breakpoint-md )){.about{padding:var(--space-12) var(--space-4)}.about h2{font-size:var(--text-3xl);margin-bottom:var(--space-6)}.about-content{font-size:var(--text-base)}.about-content p{text-align:left}.about-cta{padding:var(--space-6)}.about-cta h3{font-size:var(--text-2xl)}.about-cta p{font-size:var(--text-base)}}@media (max-width:var(--breakpoint-sm )){.about{padding:var(--space-8) var(--space-3)}.about h2{font-size:var(--text-2xl)}.about-content{font-size:var(--text-sm);line-height:var(--leading-normal)}.about-content p{margin-bottom:var(--space-3)}}@media (max-width:var(--breakpoint-xs )){.about{padding:var(--space-6) var(--space-2)}.about h2{font-size:var(--text-xl)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.cta-button:hover,.cta-button:hover .cta-icon{transform:none}}.contact{background-color:var(--bg-primary);box-sizing:border-box;margin:0 auto;max-width:1200px;padding:var(--space-16) var(--space-6);text-align:center;width:100%}.contact,.contact h2{color:var(--text-primary)}.contact h2{font-family:var(--font-heading);font-size:var(--text-5xl);line-height:var(--leading-tight);margin-bottom:var(--space-4)}.contact p{color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin-bottom:var(--space-6);margin-left:auto;margin-right:auto;max-width:var(--container-md)}.contact-buttons{display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:center;margin-bottom:var(--space-12)}.email-button{align-items:center;background:var(--color-secondary-500);border:2px solid var(--color-secondary-500);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-2);height:var(--btn-height-md);justify-content:center;overflow:hidden;padding:0 var(--btn-padding-x-md);position:relative;text-decoration:none;transition:transform var(--magnetic-duration) var(--magnetic-ease),background var(--duration-200) var(--ease-out),box-shadow var(--duration-200) var(--ease-out);will-change:transform}.email-button:before{background:var(--ripple-color);border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0}.email-button:hover{background:var(--color-secondary-600);border-color:var(--color-secondary-600);box-shadow:var(--haptic-shadow-hover);transform:translateY(-2px) scale(var(--haptic-scale-up))}.email-button:active{box-shadow:var(--haptic-shadow-press);transform:translateY(0) scale(var(--haptic-scale-down))}.email-button:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}.email-button:focus{box-shadow:0 0 0 3px var(--border-focus);outline:none}.resume-button.secondary{align-items:center;background:#0000;border:2px solid var(--color-secondary-200);border-radius:var(--radius-lg);box-shadow:none;color:var(--color-secondary-200);cursor:pointer;display:inline-flex;font-size:var(--text-base);font-weight:var(--font-medium);gap:var(--space-2);height:var(--btn-height-md);justify-content:center;overflow:hidden;padding:0 var(--btn-padding-x-md);position:relative;text-decoration:none;transition:transform var(--magnetic-duration) var(--magnetic-ease),background var(--duration-200) var(--ease-out),box-shadow var(--duration-200) var(--ease-out);will-change:transform}.resume-button.secondary:before{background:var(--ripple-color);border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0}.resume-button.secondary:hover{background:var(--color-secondary-500);border-color:var(--color-secondary-500);box-shadow:var(--haptic-shadow-hover);color:var(--text-inverse);transform:translateY(-2px) scale(var(--haptic-scale-up))}.resume-button.secondary:active{box-shadow:var(--haptic-shadow-press);transform:translateY(0) scale(var(--haptic-scale-down))}.resume-button.secondary:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}.resume-button.secondary:focus{box-shadow:0 0 0 3px var(--border-focus);outline:none}.button-icon,.chat-button.tertiary{font-size:var(--text-base)}.chat-button.tertiary{align-items:center;background:#0000;border:1px solid var(--border-secondary);border-radius:var(--radius-lg);box-shadow:none;color:var(--text-secondary);cursor:pointer;display:inline-flex;font-weight:var(--font-medium);gap:var(--space-2);height:var(--btn-height-md);justify-content:center;overflow:hidden;padding:0 var(--btn-padding-x-md);position:relative;transition:var(--transition-base),transform var(--haptic-duration) var(--ease-out);will-change:transform}.chat-button.tertiary:before{background:var(--ripple-color);border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--ripple-duration) ease-out,height var(--ripple-duration) ease-out;width:0}.chat-button.tertiary:hover{background:var(--bg-elevated);border-color:var(--border-primary);box-shadow:var(--haptic-shadow-hover);color:var(--text-primary);transform:translateY(-2px) scale(var(--haptic-scale-up))}.chat-button.tertiary:active{box-shadow:var(--haptic-shadow-press);transform:translateY(0) scale(var(--haptic-scale-down))}.chat-button.tertiary:active:before{height:var(--ripple-size);transition:width 0s,height 0s;width:var(--ripple-size)}.chat-button.tertiary:focus{box-shadow:0 0 0 3px var(--border-focus);outline:none}.form-container-glass{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#14192399;border:1px solid #ffffff1a;border-radius:24px;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #ffffff0d;margin:0 auto var(--space-8);max-width:650px;overflow:visible;padding:var(--space-8);position:relative}.contact-form{gap:var(--space-5)}.contact-form,.form-group{display:flex;flex-direction:column}.form-group{gap:var(--space-2)}.floating-field{display:flex;flex-direction:column;gap:var(--space-1);position:relative}.contact-form input,.contact-form textarea{background:#1e232d80;border:2px solid #ffffff1a;border-radius:12px;box-sizing:border-box;color:var(--text-primary);font-family:var(--font-primary);font-size:16px;padding:18px 16px 8px;transition:all .3s ease;width:100%}.contact-form input::placeholder,.contact-form textarea::placeholder{color:#0000}.contact-form input:hover,.contact-form textarea:hover{background:#1e232db3;border-color:#fff3}.floating-field label{background:#0000;color:#ffffff80;font-size:16px;font-weight:500;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:18px;transform-origin:left center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:1}.floating-field input:focus~label,.floating-field input:not(:placeholder-shown)~label,.floating-field textarea:focus~label,.floating-field textarea:not(:placeholder-shown)~label{background:#141923e6;color:#00ffe0;font-size:12px;font-weight:600;left:12px;padding:0 6px;top:-10px}.floating-field input:-webkit-autofill~label{background:#141923e6;font-size:12px;left:12px;padding:0 6px;top:-10px}.contact-form input:focus,.contact-form textarea:focus{background:#1e232dcc;border-color:#00ffe099;box-shadow:0 0 0 3px #00ffe01a,0 0 20px #00ffe026;outline:none}.input-error{animation:shake .4s ease;background:#ef44440d!important;border-color:#ef444499!important}.input-error:focus{border-color:#ef4444cc!important;box-shadow:0 0 0 3px #ef444426,0 0 20px #ef44441a!important}.error-message{align-items:center;animation:slideDown .3s ease;color:#ef4444;display:flex;font-size:13px;gap:6px;margin-top:6px}.error-message:before{content:"⚠";font-size:14px}@keyframes shake{0%,to{transform:translateX(0)}25%{transform:translateX(-8px)}75%{transform:translateX(8px)}}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.char-counter{align-items:center;color:#fff6;display:flex;font-size:12px;justify-content:space-between;margin-top:6px}.char-count{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;font-weight:600;transition:color .3s ease}.char-count.warning{color:#ffc107}.char-count.max{color:#ef4444}.char-hint{color:#ffffff4d;font-size:11px;font-style:italic}.contact-form textarea{line-height:1.6;min-height:150px;padding-top:24px;resize:vertical}.form-submit-button{background:linear-gradient(135deg,#00ffe0,#00c8b4);border:none;border-radius:12px;box-shadow:0 4px 16px #00ffe04d;color:#0a0f19;cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;overflow:hidden;padding:16px 24px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%;will-change:transform}.form-submit-button:before{background:#ffffff4d;border-radius:50%;content:"";height:0;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .6s ease-out,height .6s ease-out;width:0}.form-submit-button:hover:not(:disabled){background:linear-gradient(135deg,#00ffe0,#00dcc8);box-shadow:0 8px 24px #00ffe066;transform:translateY(-2px)}.form-submit-button:active:not(:disabled){box-shadow:0 2px 8px #00ffe04d;transform:translateY(0) scale(.98)}.form-submit-button:active:not(:disabled):before{height:300px;transition:width 0s,height 0s;width:300px}.form-submit-button:disabled{background:#6464644d;box-shadow:none;cursor:not-allowed;opacity:.5}.form-submit-button:focus{box-shadow:0 0 0 3px #00ffe04d,0 4px 16px #00ffe04d;outline:none}.form-status{border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-3);text-align:center}.form-status.success{color:var(--color-accent-green);gap:var(--space-3);padding:var(--space-6)}.success-checkmark{height:80px;width:80px}.checkmark-svg{border-radius:var(--radius-full)}.checkmark-check,.checkmark-circle{stroke:var(--color-accent-green)}.form-status.success.animate .checkmark-circle{animation:checkmarkCircle .6s var(--ease-out) forwards}.form-status.success.animate .checkmark-check{animation:checkmarkCheck .3s var(--ease-out) .6s forwards}.success-text{color:var(--color-accent-green);font-size:var(--text-base);font-weight:var(--font-medium)}.form-status.success{align-items:center;animation:slideDown .3s ease;background:#10b9811a;border:1px solid #10b9814d;border-radius:12px;color:#10b981;display:flex;flex-direction:column;gap:16px;padding:24px}.success-checkmark{align-items:center;display:flex;height:60px;justify-content:center;width:60px}.checkmark-svg{height:100%;width:100%}.checkmark-circle{stroke:#10b981;stroke-width:2;stroke-dasharray:166;stroke-dashoffset:166;stroke-linecap:round;fill:none}.checkmark-check{stroke:#10b981;stroke-width:3;stroke-dasharray:48;stroke-dashoffset:48;stroke-linecap:round;transform-origin:50% 50%}.form-status.success.animate .checkmark-circle{animation:checkmarkCircle .6s cubic-bezier(.4,0,.2,1) forwards}.form-status.success.animate .checkmark-check{animation:checkmarkCheck .3s cubic-bezier(.4,0,.2,1) .6s forwards}@keyframes checkmarkCircle{to{stroke-dashoffset:0}}@keyframes checkmarkCheck{to{stroke-dashoffset:0}}.success-text{color:#10b981;font-size:15px;font-weight:600;margin:0;text-align:center}.form-status.error{animation:slideDown .3s ease;background:#ef44441a;border:1px solid #ef44444d;border-radius:12px;color:#ef4444}.form-skeleton{display:flex;flex-direction:column;gap:var(--space-5);margin:0 auto var(--space-8);max-width:600px}.skeleton-item{animation:skeletonPulse 1.5s ease-in-out infinite;background:linear-gradient(90deg,var(--bg-surface) 0,var(--bg-elevated) 50%,var(--bg-surface) 100%);background-size:200% 100%;border-radius:var(--radius-lg)}.skeleton-input{height:40px;width:100%}.skeleton-textarea{height:120px;width:100%}.skeleton-button{height:48px;width:100%}@keyframes skeletonPulse{0%{background-position:200% 0}to{background-position:-200% 0}}.contact-divider{margin:var(--space-8) auto;max-width:600px;position:relative;text-align:center}.contact-divider:before{background:var(--border-primary);content:"";height:1px;left:0;position:absolute;right:0;top:50%}.contact-divider span{background:var(--bg-primary);color:var(--text-tertiary);display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);padding:0 var(--space-4);position:relative}@media (max-width:var(--breakpoint-md )){.contact{padding:var(--space-12) var(--space-4)}.contact h2{font-size:var(--text-3xl)}.contact p{font-size:var(--text-base)}.form-container-glass{padding:var(--space-6)}.contact-buttons,.contact-form{gap:var(--space-4)}.contact-buttons{align-items:center;flex-direction:column}.chat-button.tertiary,.email-button,.resume-button.secondary{max-width:280px;min-height:48px;width:100%}}@media (max-width:var(--breakpoint-sm )){.contact{padding:var(--space-8) var(--space-3)}.contact h2{font-size:var(--text-2xl)}.contact p{font-size:var(--text-sm)}.form-container-glass{border-radius:20px;padding:var(--space-5)}.contact-form{gap:var(--space-3)}.contact-form input,.contact-form textarea{font-size:15px;padding:16px 12px 6px}.floating-field label{font-size:15px;left:12px;top:16px}.floating-field input:focus~label,.floating-field input:not(:placeholder-shown)~label,.floating-field textarea:focus~label,.floating-field textarea:not(:placeholder-shown)~label{font-size:11px}.form-submit-button{font-size:15px;padding:14px 20px}.skeleton-input{height:36px}.skeleton-textarea{height:100px}.skeleton-button{height:44px}}@media (max-width:var(--breakpoint-xs )){.contact{padding:var(--space-6) var(--space-2)}.form-container-glass{border-radius:16px;padding:var(--space-4)}.contact-form{gap:var(--space-2-5)}.chat-button.tertiary,.email-button,.resume-button.secondary{max-width:100%;padding:var(--space-3) var(--space-4)}}.skills{background-color:var(--bg-primary);box-sizing:border-box;margin:0 auto;max-width:1200px;padding:var(--space-16) var(--space-6);width:100%}.skills,.skills h2{color:var(--text-primary)}.skills h2{font-family:var(--font-heading);font-size:var(--text-4xl);letter-spacing:var(--tracking-wide);margin-bottom:var(--space-12);text-align:center}.skills-grid{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin:0 auto;max-width:1000px}.skill-item{display:inline-block}@media (max-width:var(--breakpoint-md )){.skills{padding:var(--space-12) var(--space-4)}.skills h2{font-size:var(--text-3xl);margin-bottom:var(--space-8)}.skills-grid{gap:var(--space-2-5)}}@media (max-width:var(--breakpoint-sm )){.skills{padding:var(--space-8) var(--space-3)}.skills h2{font-size:var(--text-2xl);margin-bottom:var(--space-6)}.skills-grid{gap:var(--space-2)}}@media (max-width:var(--breakpoint-xs )){.skills{padding:var(--space-6) var(--space-2)}.skills h2{font-size:var(--text-xl)}}.navbar{align-items:center;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);background-color:#1a1d29cc;background-color:var(--bg-glass,#1a1d29cc);box-shadow:0 2px 10px #0000004d;color:#fff;color:var(--text-primary,#fff);display:flex;justify-content:space-between;left:0;padding:1rem 1.5rem;position:fixed;top:0;transition:background-color var(--duration-300) var(--ease-out),box-shadow var(--duration-300) var(--ease-out),-webkit-backdrop-filter var(--duration-300) var(--ease-out);transition:background-color var(--duration-300) var(--ease-out),box-shadow var(--duration-300) var(--ease-out),backdrop-filter var(--duration-300) var(--ease-out);transition:background-color var(--duration-300) var(--ease-out),box-shadow var(--duration-300) var(--ease-out),backdrop-filter var(--duration-300) var(--ease-out),-webkit-backdrop-filter var(--duration-300) var(--ease-out);width:100%;z-index:1000}.navbar.scrolled{backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background-color:var(--bg-elevated);box-shadow:var(--shadow-lg),var(--shadow-glow-sm)}.scroll-progress-bar{background:linear-gradient(90deg,var(--color-accent-purple),var(--color-accent-blue),var(--color-secondary-200));box-shadow:0 0 10px #00ffe080;height:3px;left:0;pointer-events:none;position:absolute;top:0;transition:width var(--duration-200) var(--ease-out);z-index:var(--z-10)}.navbar-logo{color:#64ffda;color:var(--text-accent,#64ffda);font-size:1.5rem;font-weight:700;text-decoration:none;z-index:1001}.navbar-toggle{align-items:center;background:none;border:1px solid #2a2d3a;border:1px solid var(--border-primary,#2a2d3a);border-radius:4px;color:#fff;color:var(--text-primary,#fff);cursor:pointer;display:none;flex-direction:column;font-size:1.2rem;height:32px;justify-content:space-around;padding:8px;position:relative;transition:var(--transition-base);width:32px;z-index:1001}.hamburger-bar{background-color:var(--text-primary);border-radius:var(--radius-full);display:block;height:2px;transform-origin:center;transition:transform var(--duration-300) var(--ease-out),opacity var(--duration-200) var(--ease-out);width:24px}.navbar-toggle.active .hamburger-bar:first-child{transform:translateY(8px) rotate(45deg)}.navbar-toggle.active .hamburger-bar:nth-child(2){opacity:0;transform:scale(0)}.navbar-toggle.active .hamburger-bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}.mobile-menu-backdrop{backdrop-filter:blur(var(--blur-md));-webkit-backdrop-filter:blur(var(--blur-md));background:var(--bg-overlay);display:none;inset:0;opacity:0;pointer-events:none;position:fixed;transition:opacity var(--duration-300) var(--ease-out);z-index:var(--z-dropdown)}.mobile-menu-backdrop.active{display:block;opacity:1;pointer-events:auto}.navbar-links{display:flex;gap:2rem;list-style:none;z-index:1000}.navbar-links,.navbar-links li{margin:0;padding:0}.navbar-links li a{border:none!important;border-radius:4px;box-shadow:none!important;color:#fff;color:var(--text-primary,#fff);display:block;outline:none!important;padding:.5rem 1rem;position:relative;text-decoration:none;transition:color .3s ease,background-color .3s ease}.navbar-links li a:hover{color:#64ffda;color:var(--text-accent,#64ffda);transform:translateY(-2px);transition:var(--transition-base),transform var(--duration-200) var(--ease-out)}.navbar-links li a:active{transform:translateY(0) scale(var(--haptic-scale-down));transition:transform var(--haptic-duration) var(--ease-out)}.navbar-links li a:active,.navbar-links li a:focus,.navbar-links li a:focus-visible,.navbar-links li a:visited{border:none!important;box-shadow:none!important;outline:none!important}.navbar-links li a.active{border:none!important;box-shadow:none!important;color:#64ffda;color:var(--text-accent,#64ffda);font-weight:600;outline:none!important;position:relative}.navbar-links li a.active:after{background-color:#00ffe0;background-color:var(--color-secondary-200,#00ffe0);bottom:-2px;box-shadow:0 0 8px #00ffe080;content:"";height:2px;left:0;position:absolute;width:100%}.section-preview-tooltip{animation:tooltipFadeIn var(--duration-200) var(--ease-out) forwards;backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background:var(--bg-elevated);border:1px solid var(--border-focus);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl),var(--shadow-glow-md);max-width:300px;min-width:200px;opacity:0;padding:var(--space-3) var(--space-4);pointer-events:none;position:fixed;transform:translate(-50%);z-index:var(--z-tooltip)}.preview-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-base);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin-bottom:var(--space-1)}.preview-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.navbar-icons{display:flex;gap:1rem;z-index:1001}.navbar-icons a{align-items:center;border-radius:9999px;border-radius:var(--radius-full,9999px);color:#fff;color:var(--text-primary,#fff);display:inline-flex;font-size:1.2rem;justify-content:center;padding:.5rem;padding:var(--space-2,.5rem);text-decoration:none;transition:transform .2s ease-out,color .2s ease-out,filter .2s ease-out;transition:var(
    --icon-transition,transform .2s ease-out,color .2s ease-out,filter .2s ease-out
  );will-change:transform}.navbar-icons a,.navbar-icons a:focus,.navbar-icons a:hover{border:none!important;box-shadow:none!important;outline:none!important}.navbar-icons a:focus,.navbar-icons a:hover{color:#00ffe0;color:var(--icon-glow-color,#00ffe0);filter:drop-shadow(0 0 8px #00ffe0);filter:drop-shadow(0 0 8px var(--icon-glow-color,#00ffe0));transform:scale(1.15) translateY(-2px);transform:scale(var(--icon-scale-hover,1.15)) translateY(-2px)}.navbar-icons a:active{border:none!important;box-shadow:none!important;filter:none;outline:none!important;transform:scale(.95);transform:scale(var(--haptic-scale-down,.95));transition:transform .15s ease-out;transition:transform var(--haptic-duration,.15s) var(--ease-out,ease-out)}.navbar-icons a:focus-visible,.navbar-icons a:visited{border:none!important;box-shadow:none!important;outline:none!important}@media screen and (max-width:768px){.navbar-toggle{display:flex!important;order:3}.navbar-icons,.section-preview-tooltip{display:none!important}.navbar-links{backdrop-filter:blur(var(--blur-lg))!important;-webkit-backdrop-filter:blur(var(--blur-lg))!important;background:var(--bg-glass)!important;border:1px solid #2a2d3a!important;border:1px solid var(--border-primary,#2a2d3a)!important;border-top:none!important;box-shadow:0 4px 12px #0000004d!important;display:flex!important;flex-direction:column!important;gap:0!important;left:0!important;margin:0!important;opacity:0!important;padding:0!important;pointer-events:none!important;position:absolute!important;right:0!important;top:100%!important;transform:translateX(-100%)!important;transition:transform var(--duration-300) var(--ease-out),opacity var(--duration-300) var(--ease-out)!important;width:100%!important;z-index:var(--z-fixed)!important}.navbar-links.active{opacity:1!important;pointer-events:auto!important;transform:translateX(0)!important}.navbar-links li{border-bottom:1px solid #2a2d3a!important;border-bottom:1px solid var(--border-primary,#2a2d3a)!important;margin:0!important;padding:0!important;width:100%!important}.navbar-links li:last-child{border-bottom:none!important}.navbar-links li a{border:none!important;border-radius:0!important;box-shadow:none!important;color:#fff!important;color:var(--text-primary,#fff)!important;display:block!important;font-size:1.1rem!important;margin:0!important;outline:none!important;padding:1rem 1.5rem!important;text-align:left!important;text-decoration:none!important;transition:background-color .2s ease!important;width:100%!important}.navbar-links li a:focus,.navbar-links li a:hover{background-color:#2a2d3a!important;background-color:var(--bg-elevated,#2a2d3a)!important;border:none!important}.navbar-links li a.active,.navbar-links li a:focus,.navbar-links li a:hover{box-shadow:none!important;color:#64ffda!important;color:var(--text-accent,#64ffda)!important;outline:none!important}.navbar-links li a.active{border-left:3px solid #00ffe0!important;border-left:3px solid var(--color-secondary-200,#00ffe0)!important;font-weight:600!important}.navbar-links li a.active:after{display:none!important}}@media screen and (max-width:480px){.navbar{padding:.75rem 1rem!important}.navbar-logo{font-size:1.25rem!important}.navbar-toggle{font-size:1rem!important;padding:6px!important}.navbar-links li a{font-size:1rem!important;padding:.875rem 1rem!important}}@media (prefers-reduced-motion:reduce){.hamburger-bar,.mobile-menu-backdrop,.navbar.scrolled,.scroll-progress-bar{transition:none}.navbar-links{transition:none!important}.section-preview-tooltip{animation:none;opacity:1}}.footer{background:linear-gradient(180deg,var(--bg-secondary) 0,var(--bg-tertiary) 100%);box-shadow:0 -2px 8px #00ffe01a;box-sizing:border-box;color:var(--text-secondary);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);margin-top:var(--space-16);max-width:100vw;overflow:hidden;padding:var(--space-12) 0 var(--space-6);position:relative;width:100vw}.footer:before{background:linear-gradient(90deg,#0000,var(--color-secondary-200),#0000);content:"";height:1px;left:0;opacity:.3;position:absolute;right:0;top:0}.footer-container{grid-gap:var(--space-8);display:grid;gap:var(--space-8);grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin:0 auto var(--space-8);max-width:var(--container-lg);padding:0 var(--space-6);text-align:left}.footer-column{display:flex;flex-direction:column;gap:var(--space-3)}.footer-heading{color:var(--text-primary);font-family:var(--font-primary);font-size:var(--text-lg);font-weight:600;letter-spacing:.5px;margin:0 0 var(--space-2)}.footer-nav{display:flex;flex-direction:column;gap:var(--space-2)}.footer-nav-link{background:none;border:none;color:var(--text-secondary);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-sm);padding:var(--space-1) 0;position:relative;text-align:left;text-decoration:none;transition:var(--transition-colors),transform .2s ease;width:fit-content}.footer-nav-link:before{content:"→";left:-20px;opacity:0;position:absolute;transition:opacity .2s ease,left .2s ease}.footer-nav-link:hover{color:var(--color-secondary-100);transform:translateX(8px)}.footer-nav-link:hover:before{left:-16px;opacity:1}.footer-nav-link:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-secondary-200);outline-offset:2px}.footer-social{display:flex;flex-direction:column;gap:var(--space-2)}.footer-social-link{align-items:center;border-radius:var(--radius-md);color:var(--text-secondary);display:flex;font-size:var(--text-sm);gap:var(--space-2);padding:var(--space-2);text-decoration:none;transition:var(--transition-colors),transform .2s ease;width:fit-content}.footer-social-link svg{font-size:var(--text-lg);transition:transform .2s ease}.footer-social-text{font-family:var(--font-primary)}.footer-social-link:hover{background-color:#00ffe00d;color:var(--icon-glow-color);transform:translateX(4px)}.footer-social-link:hover svg{transform:scale(1.1)}.footer-social-link:focus-visible{outline:2px solid var(--color-secondary-200);outline-offset:2px}.footer-description{color:var(--text-tertiary);font-family:var(--font-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0}.footer-tech-stack{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-top:var(--space-2)}.footer-tech-badge{align-items:center;background-color:#00ffe01a;border:1px solid #00ffe033;border-radius:var(--radius-full);color:var(--color-secondary-100);display:inline-flex;font-family:var(--font-mono);gap:var(--space-1);padding:var(--space-1) var(--space-2)}.footer-tech-badge,.footer-tech-badge svg{font-size:var(--text-xs)}.footer-divider{background:linear-gradient(90deg,#0000,var(--color-secondary-200),#0000);height:1px;margin:var(--space-6) auto;max-width:var(--container-lg);opacity:.2;width:calc(100% - var(--space-12))}.footer-bottom{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin:0 auto;max-width:var(--container-lg);padding:0 var(--space-6)}.footer-copy{display:flex;flex-direction:column;gap:var(--space-1)}.footer-text{color:var(--text-tertiary);font-family:var(--font-primary);font-size:var(--text-xs);margin:0}.footer-tagline{align-items:center;display:flex;gap:var(--space-1)}.footer-heart{animation:heartbeat 1.5s ease-in-out infinite;color:#ff6b6b;font-size:var(--text-xs)}@keyframes heartbeat{0%,to{transform:scale(1)}25%{transform:scale(1.1)}50%{transform:scale(1)}}.footer-scroll-top{align-items:center;background:linear-gradient(135deg,var(--color-secondary-200),var(--color-secondary-100));border:none;border-radius:var(--radius-full);box-shadow:0 2px 8px #00ffe033;color:var(--bg-primary);cursor:pointer;display:flex;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:600;gap:var(--space-2);padding:var(--space-2) var(--space-4);transition:transform .2s ease,box-shadow .2s ease}.footer-scroll-top:hover{box-shadow:0 4px 12px #00ffe04d;transform:translateY(-2px)}.footer-scroll-top:active{transform:translateY(0)}.footer-scroll-top:focus-visible{outline:2px solid var(--color-secondary-200);outline-offset:2px}@media (max-width:var(--breakpoint-md )){.footer{margin-top:var(--space-12);padding:var(--space-8) 0 var(--space-4)}.footer-container{gap:var(--space-6);grid-template-columns:1fr;padding:0 var(--space-4);text-align:center}.footer-column,.footer-nav{align-items:center}.footer-nav-link{text-align:center}.footer-nav-link:before{display:none}.footer-nav-link:hover{transform:scale(1.05)}.footer-social{flex-direction:row;gap:var(--space-3);justify-content:center}.footer-social-link{font-size:var(--text-sm)}.footer-social-link svg{font-size:var(--text-lg)}.footer-description{text-align:center}.footer-tech-stack{justify-content:center}.footer-bottom{flex-direction:column;padding:0 var(--space-4);text-align:center}.footer-copy{align-items:center}.footer-text{font-size:var(--text-sm)}.footer-divider{width:calc(100% - var(--space-8))}}@media (max-width:var(--breakpoint-sm )){.footer{margin-top:var(--space-8);padding:var(--space-4) var(--space-2)}.footer-social{gap:var(--space-3)}.footer-social a{font-size:var(--text-base);min-height:40px;min-width:40px;padding:var(--space-1)}.footer-text{line-height:var(--leading-relaxed)}.footer-link,.footer-text{font-size:var(--text-xs)}}@media (max-width:var(--breakpoint-xs )){.footer{padding:var(--space-3) var(--space-1-5)}}@media (prefers-reduced-motion:reduce){.footer-link,.footer-social a{transition:none}}@media (max-width:var(--breakpoint-md )){.footer{margin-top:var(--space-12);padding:var(--space-8) var(--space-3) var(--space-4)}.footer-container{gap:var(--space-6);grid-template-columns:1fr;text-align:center}.footer-column,.footer-nav{align-items:center}.footer-nav-link{text-align:center}.footer-nav-link:before{display:none}.footer-nav-link:hover{transform:scale(1.05)}.footer-social{flex-direction:row;justify-content:center}.footer-description{text-align:center}.footer-tech-stack{justify-content:center}.footer-bottom{flex-direction:column;text-align:center}.footer-copy{align-items:center}}@media (max-width:var(--breakpoint-sm )){.footer{margin-top:var(--space-8);padding:var(--space-6) 0 var(--space-3)}.footer-container{gap:var(--space-4)}.footer-bottom,.footer-container{padding:0 var(--space-3)}.footer-divider{width:calc(100% - var(--space-6))}.footer-heading{font-size:var(--text-base)}.footer-description,.footer-nav-link,.footer-social-link{font-size:var(--text-xs)}.footer-social-link svg{font-size:var(--text-base)}.footer-scroll-top{font-size:var(--text-xs);padding:var(--space-1-5) var(--space-3)}.footer-text{font-size:10px}}@media (max-width:var(--breakpoint-xs )){.footer{padding:var(--space-4) 0 var(--space-2)}.footer-container{gap:var(--space-3)}.footer-bottom,.footer-container{padding:0 var(--space-2)}.footer-divider{width:calc(100% - var(--space-4))}.footer-scroll-top span{display:none}.footer-scroll-top{border-radius:var(--radius-full);height:40px;justify-content:center;padding:var(--space-2);width:40px}}@media (prefers-reduced-motion:reduce){.footer-heart,.footer-nav-link,.footer-scroll-top,.footer-social-link{animation:none;transition:none}.footer-nav-link:hover,.footer-scroll-top:hover,.footer-social-link:hover{transform:none}}.experience{background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);margin:0 auto;max-width:1200px;padding:var(--space-16) var(--space-6);position:relative;width:100%}.experience:before{background:radial-gradient(circle at center,#00ffe00d 0,#00ffe005 40%,#0000 70%);content:"";height:300px;pointer-events:none;position:absolute;right:5%;top:10%;width:300px;z-index:0}.experience h2{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-5xl);font-weight:var(--font-bold);margin-bottom:var(--space-12);position:relative;text-align:center;z-index:1}.experience-item{animation:slideInUp var(--duration-700) var(--ease-out) forwards;background:#0000;border:1px solid var(--border-secondary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);margin:0 auto var(--space-12);max-width:800px;opacity:0;overflow:hidden;padding:var(--space-8);position:relative}.experience-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-4);justify-content:space-between;margin-bottom:var(--space-6)}.experience-title{flex:1 1;min-width:250px}.experience-item h3{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin-bottom:var(--space-3)}.company-name{color:var(--text-secondary);font-size:var(--text-xl);font-weight:var(--font-semibold);margin-bottom:var(--space-2)}.company-name a{color:var(--color-secondary-300);display:inline-block;position:relative;text-decoration:none;transition:color var(--duration-200) var(--ease-out)}.company-name a:after{background:var(--color-secondary-200);bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width var(--duration-300) var(--ease-out);width:0}.company-name a:hover{color:var(--color-secondary-100)}.company-name a:hover:after{width:100%}.company-website{font-size:var(--text-sm);margin-bottom:var(--space-2)}.company-website a{align-items:center;color:var(--text-tertiary);display:inline-flex;gap:var(--space-1);text-decoration:none;transition:color var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out)}.company-website a:hover{color:var(--color-secondary-200);transform:translateX(4px)}.location{align-items:center;backdrop-filter:blur(var(--blur-sm));-webkit-backdrop-filter:blur(var(--blur-sm));background:var(--bg-glass);border:1px solid var(--border-primary);border-radius:var(--radius-full);color:var(--text-secondary);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2) var(--space-4)}.location time{color:var(--color-secondary-300);font-weight:var(--font-semibold)}.experience-item ul{display:flex;flex-direction:column;gap:var(--space-4);list-style:none;margin-top:var(--space-6);padding-left:0}.experience-item li{color:var(--text-secondary);font-size:var(--text-base);line-height:var(--leading-relaxed);padding-left:var(--space-8);position:relative;transition:color var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out)}.experience-item li:before{background:linear-gradient(135deg,var(--color-secondary-500),var(--color-secondary-300));border-radius:var(--radius-sm);box-shadow:var(--shadow-glow-sm);content:"";height:var(--space-4);left:0;position:absolute;top:8px;transition:transform var(--duration-200) var(--ease-out);width:var(--space-4)}.experience-item li:hover{color:var(--text-primary);transform:translateX(4px)}.experience-item li:hover:before{transform:rotate(45deg) scale(1.2)}@keyframes slideInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes gradientShift{0%{background-position:0 50%}50%{background-position:100% 50%}to{background-position:0 50%}}@media (max-width:var(--breakpoint-md )){.experience{padding:var(--space-12) var(--space-4)}.experience:before{height:200px;opacity:.5;width:200px}.experience h2{font-size:var(--text-4xl);margin-bottom:var(--space-8)}.experience-item{margin:0 0 var(--space-8) 0;max-width:100%;padding:var(--space-6)}.experience-item h3{font-size:var(--text-2xl)}.company-name{font-size:var(--text-lg)}.experience-item li{font-size:var(--text-sm)}}@media (max-width:var(--breakpoint-sm )){.experience{padding:var(--space-8) var(--space-3)}.experience:before{display:none}.experience h2{font-size:var(--text-3xl);margin-bottom:var(--space-6)}.experience-item{margin-bottom:var(--space-6);padding:var(--space-5)}.experience-header{flex-direction:column}.experience-item h3{font-size:var(--text-xl)}.company-name{font-size:var(--text-base)}.location{font-size:var(--text-xs);padding:var(--space-1-5) var(--space-3)}.experience-item ul{gap:var(--space-3)}.experience-item li{font-size:var(--text-sm);padding-left:var(--space-6)}.experience-item li:before{height:var(--space-3);top:6px;width:var(--space-3)}}@media (max-width:var(--breakpoint-xs )){.experience{padding:var(--space-6) var(--space-2)}.experience h2{font-size:var(--text-2xl)}.experience-item{padding:var(--space-4)}.experience-item h3{font-size:var(--text-lg)}.company-name{font-size:var(--text-sm)}.experience-item li{font-size:var(--text-xs);padding-left:var(--space-5)}}@media (prefers-reduced-motion:reduce){.experience-item{animation:none;opacity:1}.experience-item li,.experience-item li:before{transition:none}}.not-found{align-items:center;background-color:var(--bg-primary);display:flex;justify-content:center;min-height:100vh;overflow:hidden;padding:var(--space-6);position:relative}.not-found:before{background:radial-gradient(circle at center,#00ffe00d 0,#0000 70%);content:"";height:600px;left:50%;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);width:600px;z-index:0}.not-found-content{max-width:600px;position:relative;text-align:center;width:100%;z-index:1}.not-found-heading{animation:glow 2s ease-in-out infinite alternate;color:var(--text-accent);font-size:var(--text-9xl);font-weight:var(--font-black);line-height:var(--leading-none);margin:0;margin-bottom:var(--space-4);text-shadow:0 0 40px #00ffe04d}@keyframes glow{0%{text-shadow:0 0 20px #00ffe04d,0 0 30px #00ffe033}to{text-shadow:0 0 30px #00ffe080,0 0 40px #00ffe04d,0 0 50px #00ffe033}}.not-found-title{color:var(--text-primary);font-size:var(--text-4xl);font-weight:var(--font-bold);line-height:var(--leading-tight);margin:0;margin-bottom:var(--space-4)}.not-found-message{color:var(--text-secondary);font-size:var(--text-lg);line-height:var(--leading-relaxed);margin:0;margin-bottom:var(--space-8);margin-left:auto;margin-right:auto;max-width:500px}.not-found-button{align-items:center;background-color:var(--color-secondary-500);border:2px solid var(--color-secondary-500);border-radius:var(--radius-lg);color:var(--text-inverse);cursor:pointer;display:inline-flex;font-family:var(--font-primary);font-size:var(--text-lg);font-weight:var(--font-semibold);justify-content:center;overflow:hidden;padding:var(--space-4) var(--space-8);position:relative;text-decoration:none;transition:var(--transition-base)}.not-found-button:before{background:#ffffff1a;border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width var(--duration-500) var(--ease-out),height var(--duration-500) var(--ease-out);width:0}.not-found-button:hover{background-color:var(--color-secondary-400);border-color:var(--color-secondary-400);box-shadow:var(--shadow-glow-md);transform:translateY(-2px)}.not-found-button:hover:before{height:300px;width:300px}.not-found-button:active{transform:translateY(0)}.not-found-button:focus-visible{outline:2px solid var(--color-secondary-200);outline-offset:2px}@media (max-width:768px){.not-found{padding:var(--space-4)}.not-found-heading{font-size:var(--text-7xl)}.not-found-title{font-size:var(--text-3xl)}.not-found-message{font-size:var(--text-base);margin-bottom:var(--space-6)}.not-found-button{font-size:var(--text-base);padding:var(--space-3) var(--space-6)}.not-found:before{height:400px;width:400px}}@media (max-width:480px){.not-found-heading{font-size:var(--text-6xl)}.not-found-title{font-size:var(--text-2xl)}.not-found:before{height:300px;width:300px}}@media (prefers-reduced-motion:reduce){.not-found-heading{animation:none;text-shadow:0 0 30px #00ffe066}.not-found-button{transition:none}.not-found-button:before{display:none}.not-found-button:hover{transform:none}}
/*# sourceMappingURL=main.046e1a5a.css.map*/