body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Helvetica Neue,sans-serif;text-rendering:optimizeLegibility}*{scrollbar-color:#d3eee54d #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,#d3eee54d,#91d4be66);border:2px solid #1a1a1a80;border-radius:10px;-webkit-transition:background .3s ease;transition:background .3s ease}::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#d3eee580,#91d4be99);box-shadow:0 0 10px #d3eee54d}::-webkit-scrollbar-thumb:active{background:linear-gradient(135deg,#d3eee5b3,#91d4becc)}::-webkit-scrollbar-corner{background:#1a1a1a80}code{font-feature-settings:"liga" 1,"calt" 1;font-family:JetBrains Mono,SF Mono,Monaco,Inconsolata,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:#0d3d2f;--color-secondary-800:#115542;--color-secondary-700:#157052;--color-secondary-600:#1a8c64;--color-secondary-500:#26d99d;--color-secondary-400:#91d4be;--color-secondary-300:#bae5d5;--color-secondary-200:#d3eee5;--color-secondary-100:#e8f7f2;--color-secondary-50:#f4fbf9;--color-accent-mint:#91d4be;--color-accent-teal:#26d99d;--color-accent-blue:#8ca6d9;--color-accent-purple:#a936e2;--color-accent-cyan:#30c9e8;--color-accent-lime:#afdb57;--color-accent-magenta:#b82e8a;--color-accent-green:#10b981;--color-accent-yellow:#f59e0b;--color-accent-red:#ef4444;--color-accent-pink:#ec4899;--chart-1:#26d99d;--chart-2:#a936e2;--chart-3:#30c9e8;--chart-4:#afdb57;--chart-5:#b82e8a;--color-card:#101412;--color-muted-bg:#2a2d2d;--color-input:#3f4040;--color-focus:#d0d6d8;--color-destructive:#422;--color-destructive-text:#f87272;--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:#26d99d;--color-warning:#f59e0b;--color-error:#f87272;--color-info:#8ca6d9;--bg-primary:#191f1d;--bg-secondary:#101412;--bg-tertiary:#272e2f;--bg-surface:#101412;--bg-elevated:#2a2d2d;--bg-overlay:#000c;--bg-glass:#ffffff0d;--text-primary:#91d4be;--text-secondary:#bac3c5;--text-tertiary:var(--color-gray-400);--text-muted:#bac3c5;--text-accent:#d3eee5;--text-accent-secondary:#8ca6d9;--text-inverse:#191f1d;--btn-primary-bg:#d3eee5;--btn-primary-text:#191f1d;--btn-secondary-bg:#272e2f;--btn-secondary-text:#91d4be;--border-primary:#2a2d2d;--border-secondary:#373b43;--border-accent:#d3eee5;--border-focus:#d0d6d8;--font-primary:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI","Roboto","Oxygen","Ubuntu","Cantarell","Helvetica Neue",sans-serif;--font-secondary:"JetBrains Mono","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.2;--leading-snug:1.35;--leading-normal:1.5;--leading-relaxed:1.65;--leading-loose:1.8;--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.04em;--tracking-tight:-0.02em;--tracking-normal:0em;--tracking-wide:0.02em;--tracking-wider:0.04em;--tracking-widest:0.08em;--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 #d3eee526;--shadow-glow-md:0 0 10px #d3eee533;--shadow-glow-lg:0 0 20px #d3eee540;--shadow-glow-xl:0 0 30px #d3eee54d;--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 #d0d6d826;--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:#91d4be;--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 #d3eee526;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}}a,body,button,h1,h2,h3,h4,h5,h6,input,label,li,p,select,span,td,textarea,th{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body,div,figcaption,label,li,p,span,td,th{word-wrap:break-word;overflow-wrap:break-word;word-break:keep-all}*{hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none}.hyphenate-long-words{hyphens:auto;-webkit-hyphens:auto;-moz-hyphens:auto;-ms-hyphens:auto}h1,h2,h3,h4,h5,h6{text-wrap:balance;white-space:normal}.description,.text-content,p{text-wrap:pretty;white-space:normal}.badge,.btn,.button,.chip,.label-inline,.no-wrap,.tag,a[role=button],button{white-space:nowrap}.code-block,.technical-term,.url,code,pre{word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}.about-content p,.article-content p,.text-content p{max-width:65ch}p{orphans:3;widows:3}body{text-align:left}@media (min-width:768px){.text-justify-desktop{text-align:justify}}@media (max-width:767px){.text-justify-desktop{text-align:left}}h1{font-size:clamp(1.875rem,4vw + 1rem,4rem);line-height:clamp(1.2,1.15,1.1)}h2{font-size:clamp(1.5rem,3vw + .5rem,3rem);line-height:clamp(1.3,1.25,1.2)}h3{font-size:clamp(1.25rem,2.5vw + .5rem,2.25rem);line-height:clamp(1.4,1.35,1.3)}h4{font-size:clamp(1.125rem,2vw + .25rem,1.875rem)}h5{font-size:clamp(1rem,1.5vw + .25rem,1.5rem)}h5,h6{line-height:1.5}h6{font-size:clamp(.875rem,1vw + .25rem,1.25rem)}.text-base,body,p{font-size:clamp(.9375rem,1vw + .5rem,1.125rem);line-height:clamp(1.5,1.55,1.65)}.text-large{font-size:clamp(1.0625rem,1.5vw + .5rem,1.5rem);line-height:clamp(1.5,1.55,1.6)}.text-small{font-size:clamp(.8125rem,.5vw + .5rem,1rem);line-height:1.5}@media (max-width:479px){body,p{line-height:1.5}h1,h2,h3{line-height:1.2}}@media (min-width:480px) and (max-width:1023px){body,p{line-height:1.6}h1,h2,h3{line-height:1.25}}@media (min-width:1024px){body,p{line-height:1.65}h1,h2,h3{line-height:1.3}}::selection{background-color:#91d4be;background-color:var(--color-secondary-400,#91d4be);color:#191f1d;color:var(--text-inverse,#191f1d)}::-moz-selection{background-color:#91d4be;background-color:var(--color-secondary-400,#91d4be);color:#191f1d;color:var(--text-inverse,#191f1d)}[tabindex]:focus,a:focus,button:focus,input:focus,select:focus,textarea:focus{outline:2px solid #d0d6d8;outline:2px solid var(--border-focus,#d0d6d8);outline-offset:2px}@media (prefers-contrast:high){a,body,button,p,span{font-weight:500;font-weight:var(--font-medium,500)}h1,h2,h3,h4,h5,h6{font-weight:700;font-weight:var(--font-bold,700)}}*{box-sizing:border-box}body,html{max-width:100vw;overflow-x:hidden}.text-wrap{word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.text-nowrap,.text-truncate{white-space:nowrap}.text-truncate{overflow:hidden;text-overflow:ellipsis}.text-truncate-2{-webkit-line-clamp:2}.text-truncate-2,.text-truncate-3{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.text-truncate-3{-webkit-line-clamp:3}.text-balance{text-wrap:balance}.text-pretty{text-wrap:pretty}.text-keep-all{word-break:keep-all}.text-break-word{overflow-wrap:break-word;word-break:break-word}*,:after,:before{box-sizing:border-box;margin:0;max-width:100%;padding:0}*{word-wrap:break-word;max-width:100%;overflow-wrap:break-word}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);font-size:16px;scroll-behavior:smooth;text-rendering:optimizeLegibility}body,html{color:var(--text-primary);max-width:100%;overflow-x:hidden;width:100%}body{-webkit-overflow-scrolling:touch;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;background:linear-gradient(135deg,var(--color-primary-900) 0,var(--color-primary-700) 100%);font-family:var(--font-primary);font-weight:400;letter-spacing:.01em;line-height:var(--leading-relaxed);margin:0;min-height:100vh;padding:0}a{text-decoration:none;transition:var(--transition-colors)}a,a:focus,a:hover{color:var(--text-accent)}a:focus{box-shadow:0 0 0 3px var(--border-focus);outline:none}h1,h2,h3,h4,h5,h6{color:var(--text-primary);font-family:var(--font-heading);font-weight:600;letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);margin-bottom:var(--space-4)}h1{font-size:clamp(2rem,4vw + 1rem,3.5rem);font-weight:700;letter-spacing:-.03em;line-height:1.1}h2{font-size:clamp(1.75rem,3vw + .75rem,2.5rem);letter-spacing:-.02em;line-height:1.2}h2,h3{font-weight:600}h3{font-size:clamp(1.375rem,2vw + .5rem,1.875rem);line-height:1.3}h4{font-size:clamp(1.125rem,1.5vw + .375rem,1.5rem);font-weight:600;line-height:1.4}p{color:var(--text-secondary);font-size:var(--text-base);letter-spacing:.01em;line-height:var(--leading-relaxed);margin-bottom:var(--space-4)}b,strong{color:var(--text-primary);font-weight:600}em,i{font-style:italic}ol,ul{margin-bottom:var(--space-4);padding-left:1.5em}li{line-height:var(--leading-relaxed);margin-bottom:var(--space-2)}code,pre{font-family:var(--font-secondary);font-size:.9em;letter-spacing:-.01em}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;padding:0;position:relative;width:100%}.section:after{background:linear-gradient(90deg,#0000,#d3eee51a 20%,#d3eee533 50%,#d3eee51a 80%,#0000);bottom:0;content:"";height:1px;left:50%;max-width:1200px;position:absolute;transform:translateX(-50%);width:80%}.section:last-of-type:after{display:none}@media (max-width:var(--breakpoint-md )){.app{padding-top:var(--nav-height)}}@media (max-width:var(--breakpoint-sm )){.app{padding-top:var(--nav-height)}}@media (max-width:var(--breakpoint-xs )){.app{padding-top:var(--nav-height)}}@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}}.app,.section,article,aside,canvas,div,footer,header,iframe,img,main,nav,section,svg,video{box-sizing:border-box;max-width:100%}canvas,iframe,img,svg,video{height:auto}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%}body{cursor:auto!important}.cursor-dot,.cursor-outline,.custom-cursor{display:none!important}a,button{cursor:pointer!important}input,select,textarea{cursor:text!important}@supports (padding:max(0px)){.about,.contact,.hero,.navbar,.projects,.skills{padding-left:max(var(--space-4),env(safe-area-inset-left));padding-right:max(var(--space-4),env(safe-area-inset-right))}.theme-toggle{bottom:max(20px,env(safe-area-inset-bottom));right:max(20px,env(safe-area-inset-right))}}@media (prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.hero:after,.nyx-bot{animation:none!important}}@media (prefers-contrast:high){.navbar,.project-card,.tag{border-width:2px}.text-secondary{color:var(--text-primary)}}:focus-visible{border-radius:var(--radius-sm);outline:2px solid var(--color-secondary-200);outline-offset:2px}@media (max-width:768px){a:focus-visible,button:focus-visible{outline-offset:3px;outline-width:3px}}@media print{.contact-buttons,.custom-cursor,.hero-button,.navbar-toggle,.theme-toggle{display:none!important}body{background:#fff;color:#000}.hero:after,.hero:before{display:none}}.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,#d3eee514 0,#d3eee50a 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 #d3eee526;border-radius:50%;height:300px;right:10%;top:30%;width:300px}.hero-text{max-width:700px;padding:0;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(1.75rem,5vw,4rem);font-weight:700;-webkit-hyphens:none;hyphens:none;letter-spacing:-.03em;line-height:clamp(1.15,1.1vw + 1,1.1);margin-bottom:var(--space-8);overflow-wrap:break-word;white-space:normal;word-spacing:.05em}@media (max-width:768px){.hero-text h1{font-size:clamp(1.75rem,8vw,2.5rem);margin-bottom:var(--space-6)}}@media (max-width:480px){.hero-text h1{font-size:clamp(1.5rem,9vw,2rem);margin-bottom:var(--space-4)}}.hero-text h1:after{content:"";display:inline-block;width:0}@media (max-width:768px){.hero-button{min-height:48px;min-width:48px;padding:var(--space-3) var(--space-5)}.hero{min-height:calc(100vh - 60px);padding:var(--space-12) var(--space-4)}}@media (max-width:480px){.hero{padding-left:var(--space-3);padding-right:var(--space-3)}}@media (min-width:769px) and (max-width:1024px){.hero:before{opacity:.5;width:60%}.hero:after{height:200px;opacity:.5;width:200px}}@media (min-width:481px) and (max-width:768px){.hero:before{opacity:.3;width:70%}.hero:after{height:150px;opacity:.3;width:150px}}@media (max-width:480px){.hero:after,.hero:before{display:none}}.hero{min-height:100vh;min-height:-webkit-fill-available}@supports (-webkit-touch-callout:none){.hero{min-height:-webkit-fill-available}}@media (max-width:768px) and (orientation:landscape){.hero{min-height:auto;padding:var(--space-8) var(--space-4)}.hero-text h1{font-size:var(--text-3xl)}.hero-nyx{display:none}}.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(.9375rem,3vw,1.375rem);font-weight:400;hyphens:none;-webkit-hyphens:none;-moz-hyphens:none;letter-spacing:.01em;line-height:clamp(1.6,.5vw + 1.5,1.7);margin-bottom:var(--space-10);max-width:650px;orphans:3;overflow-wrap:break-word;text-rendering:optimizeLegibility;widows:3;word-break:keep-all}@media (max-width:768px){.hero-text p{font-size:clamp(.9375rem,4vw,1.125rem);margin-bottom:var(--space-8);max-width:100%}}@media (max-width:480px){.hero-text p{font-size:clamp(.875rem,4.5vw,1rem);margin-bottom:var(--space-6)}}.hero-button{background-color:#d3eee5;background-color:var(--btn-primary-bg,#d3eee5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#191f1d;color:var(--btn-primary-text,#191f1d);display:inline-block;font-size:var(--text-lg);font-weight:var(--font-medium);min-width:fit-content;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);white-space:nowrap;will-change:transform;z-index:var(--z-10)}.hero-button:before{background:#0000001a;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:#d3eee5;background-color:var(--btn-primary-bg,#d3eee5);box-shadow:var(--haptic-shadow-hover);color:#191f1d;color:var(--btn-primary-text,#191f1d);filter:brightness(1.05);transform:scale(var(--haptic-scale-up))}.hero-button:active{color:#191f1d;color:var(--btn-primary-text,#191f1d);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-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-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-button{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-4)}.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}}.projects{background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);padding:var(--space-16) var(--space-6);width:100%}.projects-container{margin:0 auto;max-width:1200px}.projects h1,.projects h2,.projects h3,.projects h4,.projects h5,.projects h6{text-wrap:balance}.projects h2{font-family:var(--font-heading);font-size:clamp(1.5rem,3vw + .5rem,2.25rem);letter-spacing:var(--tracking-wide);line-height:clamp(1.2,.3vw + 1.15,1.3);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-md )){.project-list{gap:var(--space-6);grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.projects{padding:var(--space-12) var(--space-4)}.projects-container{padding:0}.projects h2{font-size:clamp(1.5rem,6vw,2rem);margin-bottom:var(--space-8)}.project-list{gap:var(--space-6);grid-template-columns:1fr;max-width:100%;padding:0}.project-card{margin:0;max-width:100%;width:100%}.project-card img{height:200px;object-fit:cover}.project-card h3{font-size:clamp(1.125rem,5vw,1.5rem);padding:var(--space-4) var(--space-4) 0 var(--space-4)}.project-card p{font-size:clamp(.875rem,4vw,1rem);line-height:1.6}.project-card p,.project-tech-stack{padding:var(--space-2) var(--space-4)}.project-tech-stack{flex-wrap:wrap;gap:var(--space-2)}.project-links{gap:var(--space-3);padding:var(--space-3) var(--space-4) var(--space-4) var(--space-4)}}@media (max-width:768px){.project-links{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-3)}.project-card a{display:flex!important;flex:1 1;font-size:var(--text-base);justify-content:center;min-height:44px;padding:var(--space-3) var(--space-4)}}@media (max-width:480px){.projects{padding-left:var(--space-3);padding-right:var(--space-3)}.project-links{flex-direction:row!important;flex-wrap:wrap;gap:var(--space-2);width:100%}.project-links>*{flex:1 1 calc(50% - var(--space-1));min-width:120px}.project-card a{align-items:center;display:flex!important;font-size:var(--text-sm);justify-content:center;width:100%!important}}@media (hover:none) and (pointer:coarse){.project-card:hover{transform:none}.project-card:active{transform:scale(.98);transition:transform .1s ease-out}}@media (max-width:var(--breakpoint-sm )){.projects{padding:var(--space-10) var(--space-3)}.projects h2{font-size:clamp(1.25rem,7vw,1.75rem);margin-bottom:var(--space-6)}.project-list{gap:var(--space-5);grid-template-columns:1fr}.project-badges{gap:var(--space-1-5)}.project-card:before{animation:none}.project-card:focus-within img,.project-card:hover img{transform:scale(1.03)}.project-card img{height:180px}.project-card h3{font-size:clamp(1.0625rem,5.5vw,1.375rem);padding:var(--space-4) var(--space-4) 0 var(--space-4)}.project-card p{font-size:clamp(.875rem,4.5vw,1rem);line-height:1.6}.project-card p,.project-tech-stack{padding:var(--space-2) var(--space-4)}.project-tech-stack{gap:var(--space-1-5)}.project-links{flex-direction:column;gap:var(--space-2-5);padding:var(--space-3) var(--space-4) var(--space-4) var(--space-4)}.project-links a{justify-content:center;padding:var(--space-3) var(--space-4);width:100%}}@media (max-width:var(--breakpoint-xs )){.projects{padding:var(--space-8) var(--space-2-5)}.projects h2{font-size:clamp(1.125rem,8vw,1.5rem);margin-bottom:var(--space-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:clamp(1rem,6vw,1.25rem);padding:var(--space-3) var(--space-3) 0 var(--space-3)}.project-card p{font-size:clamp(.8125rem,4.5vw,.9375rem)}.project-card p,.project-tech-stack{padding:var(--space-2) var(--space-3)}.project-tech-stack{gap:var(--space-1)}.project-links{gap:var(--space-2);padding:var(--space-2-5) var(--space-3) var(--space-3) var(--space-3)}.project-card a{font-size:var(--text-sm);padding:var(--space-2-5) var(--space-3)}}@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);padding:var(--space-4)}.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:clamp(1rem,1.5vw + .5rem,1.25rem);font-weight:var(--font-bold);line-height:clamp(1.2,.3vw + 1.15,1.25);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:clamp(.8125rem,.8vw + .5rem,.875rem);line-height:clamp(1.5,.5vw + 1.4,1.625);margin:0 0 var(--space-4) 0;overflow-wrap:break-word;padding:0 var(--space-5);word-break:keep-all}.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);min-width:fit-content;padding:var(--space-1) var(--space-2-5);white-space:nowrap}.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);min-width:fit-content;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);white-space:nowrap;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);min-width:fit-content;overflow-wrap:normal;padding:var(--space-1) var(--space-3);transition:var(--transition-base),transform var(--haptic-duration) var(--ease-out);white-space:nowrap;will-change:transform;word-break:keep-all}.tag:hover{background-color:var(--color-secondary-500);border-color:var(--color-secondary-500);box-shadow:0 4px 12px #26d99d66;color:var(--color-primary-900);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-primary-900)}@media (hover:none) and (pointer:coarse){.tag-skill:hover,.tag-tech:hover,.tag:hover{transform:none}.tag-skill:active,.tag-tech:active,.tag:active{transform:scale(.95);transition:transform .1s ease-out}}.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-500);box-shadow:0 4px 16px #26d99d80;color:var(--color-primary-900);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-primary-900)}.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 h1,.about h2,.about h3,.about h4,.about h5,.about h6{text-wrap:balance}.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:clamp(1.5rem,3vw + .5rem,3rem);letter-spacing:var(--tracking-tight);line-height:clamp(1.2,.3vw + 1.15,1.25);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:clamp(.9375rem,1vw + .5rem,1.125rem);line-height:clamp(1.5,.5vw + 1.4,1.625)}.about-content p{text-wrap:pretty;margin-bottom:var(--space-4);max-width:75ch;overflow-wrap:break-word;text-align:justify;word-break:keep-all}@media (max-width:768px){.about{padding:var(--space-12) var(--space-4)}.about h2{font-size:clamp(1.5rem,6vw,2.25rem);margin-bottom:var(--space-6)}.about-content{font-size:clamp(.9375rem,4vw,1.0625rem)}.about-content p{max-width:100%;text-align:left}.about-cta{margin-top:var(--space-10);padding:var(--space-8)}.about-cta h3{font-size:clamp(1.125rem,5vw,1.5rem)}.about-cta p{font-size:clamp(.875rem,4vw,1rem)}}@media (max-width:480px){.about{padding:var(--space-10) var(--space-3)}.about h2{font-size:clamp(1.25rem,7vw,1.75rem);margin-bottom:var(--space-4)}.about-content{font-size:clamp(.875rem,4.5vw,1rem)}.about-cta{border-radius:var(--radius-xl);margin-top:var(--space-8);padding:var(--space-6)}}.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:clamp(1.25rem,2.5vw + .5rem,1.875rem);font-weight:var(--font-bold);line-height:clamp(1.2,.3vw + 1.15,1.3);margin-bottom:var(--space-4)}.about-cta p{text-wrap:pretty;color:var(--text-secondary);font-size:clamp(1rem,1.2vw + .5rem,1.125rem);line-height:clamp(1.5,.5vw + 1.4,1.625);margin-bottom:var(--space-6);margin-left:auto;margin-right:auto;max-width:600px;overflow-wrap:break-word;word-break:keep-all}.cta-button{align-items:center;border-radius:var(--radius-lg);box-shadow:var(--shadow-md);display:inline-flex;font-size:var(--text-lg);font-weight:var(--font-semibold);gap:var(--space-2);min-width:fit-content;overflow:hidden;padding:var(--space-4) var(--space-8);position:relative;text-decoration:none;transition:var(--transition-base);white-space:nowrap}.cta-button,.cta-button:hover{background:#d3eee5;background:var(--btn-primary-bg,#d3eee5);color:#191f1d;color:var(--btn-primary-text,#191f1d)}.cta-button:hover{box-shadow:var(--shadow-xl),var(--shadow-glow-lg);filter:brightness(1.05);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{margin-bottom:var(--space-6)}.about-content p{text-align:left}.about-cta{padding:var(--space-6)}}@media (max-width:var(--breakpoint-sm )){.about{padding:var(--space-8) var(--space-3)}.about-content p{margin-bottom:var(--space-3)}.cta-button{max-width:100%;width:100%}}@media (max-width:var(--breakpoint-xs )){.about{padding:var(--space-6) var(--space-2)}}@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;color:var(--text-primary);padding:var(--space-16) var(--space-6);text-align:center;width:100%}.contact-container{margin:0 auto;max-width:1200px}.contact h1,.contact h2,.contact h3,.contact h4,.contact h5,.contact h6{text-wrap:balance}.contact h2{color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.5rem,3vw + .5rem,3rem);line-height:clamp(1.2,.3vw + 1.15,1.25);margin-bottom:var(--space-4)}.contact p{color:var(--text-secondary);font-size:clamp(1rem,1.2vw + .5rem,1.125rem);line-height:clamp(1.5,.5vw + 1.4,1.625);margin-bottom:var(--space-6);margin-left:auto;margin-right:auto;max-width:var(--container-md);overflow-wrap:break-word;word-break:keep-all}.contact-buttons{display:flex;flex-wrap:wrap;gap:var(--space-6);justify-content:center;margin-bottom:var(--space-12)}@media (max-width:768px){.contact{padding:var(--space-12) var(--space-4)}.contact-container{max-width:100%;padding:0}.contact h2{font-size:clamp(1.5rem,6vw,2.25rem);margin-bottom:var(--space-3)}.contact p{font-size:clamp(.9375rem,4vw,1.0625rem);margin-bottom:var(--space-4);padding:0 var(--space-2)}.contact-buttons{align-items:center;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-10);padding:0 var(--space-2)}.email-button,.resume-button{justify-content:center;max-width:400px;width:100%}.form-container-glass{margin:0;width:100%}.contact-form{padding:var(--space-6)}.form-group label{font-size:var(--text-sm)}input[type=email],input[type=text],select,textarea{font-size:16px;min-height:48px;padding:var(--space-3) var(--space-4)}textarea{min-height:120px}.contact-buttons{align-items:center;flex-direction:column;gap:var(--space-4)}.chat-button.tertiary,.email-button,.resume-button.secondary{justify-content:center;max-width:320px;width:100%}}@media (max-width:480px){.contact{padding-left:var(--space-3);padding-right:var(--space-3)}.contact-buttons{gap:var(--space-3)}.chat-button.tertiary,.email-button,.resume-button.secondary{max-width:100%}.contact-buttons>*,.project-links>*{max-width:100%;width:100%}.form-group input,.form-group textarea{font-size:16px;padding:var(--space-3);width:100%}.contact-form button[type=submit]{font-size:var(--text-base);padding:var(--space-4);width:100%}.contact{padding:var(--space-10) var(--space-3)}.contact h2{font-size:clamp(1.25rem,7vw,1.75rem);margin-bottom:var(--space-2)}.contact p{font-size:clamp(.875rem,4.5vw,1rem);margin-bottom:var(--space-3)}.contact-buttons{gap:var(--space-3);margin-bottom:var(--space-8)}.email-button,.resume-button{font-size:var(--text-sm);min-height:44px;padding:var(--space-3) var(--space-4)}.contact-form{border-radius:var(--radius-lg);padding:var(--space-4)}.form-group{margin-bottom:var(--space-4)}.form-group input,.form-group textarea{font-size:var(--text-sm);padding:var(--space-2-5)}.contact-form button[type=submit]{font-size:var(--text-sm);padding:var(--space-3)}}.email-button{align-items:center;background:#d3eee5;background:var(--btn-primary-bg,#d3eee5);border:2px solid #d3eee5;border:2px solid var(--btn-primary-bg,#d3eee5);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);color:#191f1d;color:var(--btn-primary-text,#191f1d);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;min-width:fit-content;overflow:hidden;padding:var(--space-3) var(--space-6);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);white-space:nowrap;will-change:transform}.email-button:before{background:#0000001a;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:#d3eee5;background:var(--btn-primary-bg,#d3eee5);border-color:#d3eee5;border-color:var(--btn-primary-bg,#d3eee5);box-shadow:var(--haptic-shadow-hover);filter:brightness(1.05);transform:translateY(-2px) scale(var(--haptic-scale-up))}.email-button:active,.email-button:hover{color:#191f1d;color:var(--btn-primary-text,#191f1d)}.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;min-width:fit-content;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);white-space:nowrap;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:#0000;border-color:var(--color-secondary-200);box-shadow:var(--haptic-shadow-hover);color:var(--color-secondary-200);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;min-width:fit-content;overflow:hidden;padding:0 var(--btn-padding-x-md);position:relative;transition:var(--transition-base),transform var(--haptic-duration) var(--ease-out);white-space:nowrap;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:#0000;border-color:var(--border-secondary);box-shadow:var(--haptic-shadow-hover);color:var(--text-secondary);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:#1f1a14;background:var(--bg-surface,#1f1a14);border:1px solid #2a2d2d;border:1px solid var(--border-primary,#2a2d2d);border-radius:24px;box-shadow:0 8px 32px #0000004d,inset 0 0 0 1px #d3eee50d;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:#3f4040;background:var(--color-input,#3f4040);border:2px solid #2a2d2d;border:2px solid var(--border-primary,#2a2d2d);border-radius:12px;box-sizing:border-box;color:#91d4be;color:var(--text-primary,#91d4be);font-family:var(--font-primary);font-size:16px;padding:16px;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:#3f4040;background:var(--color-input,#3f4040);border-color:#373b43;border-color:var(--border-secondary,#373b43);filter:brightness(1.1)}.floating-field label{background:#0000;color:#bac3c5;color:var(--text-muted,#bac3c5);font-size:16px;font-weight:500;left:16px;padding:0 4px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);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:#1f1a14;background:var(--bg-surface,#1f1a14);color:#d3eee5;color:var(--text-accent,#d3eee5);font-size:12px;font-weight:600;left:12px;padding:0 6px;top:-10px;transform:translateY(0)}.floating-field input:-webkit-autofill~label{background:#1f1a14;background:var(--bg-surface,#1f1a14);font-size:12px;left:12px;padding:0 6px;top:-10px}.contact-form input:focus,.contact-form textarea:focus{background:#3f4040;background:var(--color-input,#3f4040);border-color:#d0d6d8;border-color:var(--border-focus,#d0d6d8);box-shadow:0 0 0 3px #d3eee526,0 0 20px #d3eee526;filter:brightness(1.15);outline:none}.input-error{animation:shake .4s ease;background:#422!important;background:var(--color-destructive,#422)!important}.input-error,.input-error:focus{border-color:#f87272!important;border-color:var(--color-destructive-text,#f87272)!important}.input-error:focus{box-shadow:0 0 0 3px #f8727233,0 0 20px #f872721a!important}.error-message{align-items:center;animation:slideDown .3s ease;color:#f87272;color:var(--color-destructive-text,#f87272);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:#bac3c5;color:var(--text-muted,#bac3c5);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:#9ca3af;color:var(--text-tertiary,#9ca3af);font-size:11px;font-style:italic}.contact-form textarea{line-height:1.6;min-height:150px;padding:16px;resize:vertical}.floating-field textarea~label{top:24px;transform:translateY(0)}.form-submit-button{background:linear-gradient(135deg,#d3eee5,#91d4be);border:none;border-radius:12px;box-shadow:0 4px 16px #d3eee54d;color:#191f1d;color:var(--btn-primary-text,#191f1d);cursor:pointer;font-size:16px;font-weight:700;letter-spacing:.5px;min-width:fit-content;overflow:hidden;padding:16px 24px;position:relative;text-transform:uppercase;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;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,#d3eee5,#91d4be);box-shadow:0 8px 24px #d3eee566;transform:translateY(-2px)}.form-submit-button:active:not(:disabled){box-shadow:0 2px 8px #d3eee54d;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 #d3eee54d,0 4px 16px #d3eee54d;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)}.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:44px;padding:var(--space-3) var(--space-6);width:100%}}@media (max-width:var(--breakpoint-sm )){.contact{padding:var(--space-8) var(--space-3)}.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}.chat-button.tertiary,.email-button,.resume-button.secondary{max-width:100%;min-height:44px;padding:var(--space-3) var(--space-5);width:100%}}@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%;min-height:44px;padding:var(--space-3) var(--space-4);width:100%}}.skills{background-color:var(--bg-primary);box-sizing:border-box;color:var(--text-primary);padding:var(--space-16) var(--space-6);width:100%}.skills-container{margin:0 auto;max-width:1200px}.skills h1,.skills h2,.skills h3,.skills h4,.skills h5,.skills h6{text-wrap:balance}.skills h2{color:var(--text-primary);font-family:var(--font-heading);font-size:clamp(1.5rem,3vw + .5rem,2.25rem);letter-spacing:var(--tracking-wide);line-height:clamp(1.2,.3vw + 1.15,1.3);margin-bottom:var(--space-12);text-align:center}.skills-grid{align-items:flex-start;display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;margin:0 auto;max-width:1000px}.skill-item{display:inline-block;min-width:fit-content;overflow-wrap:normal;word-break:keep-all}@media (max-width:var(--breakpoint-md )){.skills{padding:var(--space-12) var(--space-4)}.skills h2{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{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-grid{gap:var(--space-1-5)}}.project-tech-stack,.skills-grid,.tech-stack{word-wrap:break-word;display:flex;flex-wrap:wrap;gap:var(--space-3);overflow-wrap:break-word}@media (max-width:768px){.project-tech-stack,.skills-grid,.tech-stack{gap:var(--space-2)}}@media (max-width:480px){.skills{padding-left:var(--space-3);padding-right:var(--space-3)}.project-tech-stack,.skills-grid,.tech-stack{gap:var(--space-1-5)}.tag{font-size:var(--text-xs);min-width:fit-content}}.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 #d3eee580;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:#d3eee5;color:var(--text-accent,#d3eee5);font-size:1.5rem;font-weight:700;text-decoration:none;z-index:1001}.navbar-toggle{align-items:center;background:var(--bg-elevated);border:2px solid var(--border-primary);border-radius:8px;color:var(--text-primary);cursor:pointer;display:none;flex-direction:column;font-size:1.2rem;height:44px;justify-content:center;padding:10px;position:relative;transition:var(--transition-base);width:44px;z-index:1001}.navbar-toggle:hover{background:var(--bg-glass);border-color:var(--text-accent);transform:scale(1.05)}.navbar-toggle:active{transform:scale(.95)}.hamburger-bar{background-color:var(--text-primary);border-radius:var(--radius-full);display:block;height:3px;left:50%;position:absolute;transform:translateX(-50%);transform-origin:center;transition:transform var(--duration-300) var(--ease-out),opacity var(--duration-200) var(--ease-out),background-color var(--duration-200) var(--ease-out);width:24px}.hamburger-bar:first-child{top:12px}.hamburger-bar:nth-child(2){top:20px}.hamburger-bar:nth-child(3){top:28px}.navbar-toggle.active .hamburger-bar{background-color:var(--text-accent)}.navbar-toggle.active .hamburger-bar:first-child{top:20px;transform:translateX(-50%) rotate(45deg)}.navbar-toggle.active .hamburger-bar:nth-child(2){opacity:0;transform:translateX(-50%) scale(0)}.navbar-toggle.active .hamburger-bar:nth-child(3){top:20px;transform:translateX(-50%) rotate(-45deg)}@media (max-width:768px){.navbar-links li a{align-items:center;display:flex;font-size:1.0625rem;min-height:48px;padding:var(--space-3) var(--space-4)}.navbar-toggle{min-height:48px;min-width:48px;padding:var(--space-3)}.navbar-links li a.active{background-color:var(--bg-elevated);border-left:3px solid var(--color-secondary-200);color:var(--text-accent);font-weight:var(--font-semibold)}.navbar-links li a.active:after{display:none}}@media (max-width:768px) and (orientation:landscape){.navbar{padding:var(--space-2) var(--space-4)}}@media (max-width:768px){.navbar.active~.theme-toggle{z-index:998}}.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:#d3eee5;color:var(--text-accent,#d3eee5);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:#d3eee5;color:var(--text-accent,#d3eee5);font-weight:600;outline:none!important;position:relative}.navbar-links li a.active:after{background-color:#d3eee5;background-color:var(--color-secondary-200,#d3eee5);bottom:-2px;box-shadow:0 0 8px #d3eee580;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:#91d4be;color:var(--icon-glow-color,#91d4be);filter:drop-shadow(0 0 8px #91d4be);filter:drop-shadow(0 0 8px var(--icon-glow-color,#91d4be));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;order:3}.navbar-icons,.section-preview-tooltip{display:none}.navbar-links{backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background:var(--bg-primary);border-bottom:1px solid var(--border-primary);box-shadow:0 8px 24px #0009;flex-direction:column;gap:0;left:0;margin:0;max-height:calc(100vh - 60px);opacity:0;overflow-y:auto;padding:var(--space-4) 0;pointer-events:none;position:fixed;right:0;top:60px;transform:translateY(-100%);transition:transform var(--duration-300) var(--ease-out),opacity var(--duration-300) var(--ease-out);width:100%;z-index:999}.navbar-links.active{opacity:1;pointer-events:auto;transform:translateY(0)}.navbar-links li{border-bottom:1px solid var(--border-primary);margin:0;padding:0;width:100%}.navbar-links li:last-child{border-bottom:none}.navbar-links li a{border-radius:0;color:var(--text-primary);display:block;font-size:1.125rem;font-weight:500;margin:0;padding:1.25rem 1.5rem;text-align:left;text-decoration:none;transition:background-color .2s ease,color .2s ease;width:100%}.navbar-links li a:focus,.navbar-links li a:hover{background-color:var(--bg-elevated);color:var(--text-accent);padding-left:2rem}.navbar-links li a.active{border-left:3px solid var(--color-secondary-200);color:var(--text-accent);font-weight:600}.navbar-links li a.active:after{display:none}}@media screen and (max-width:480px){.navbar{padding:.75rem 1rem}.navbar-logo{font-size:1.25rem}.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 #d3eee51a;box-sizing:border-box;color:var(--text-secondary);margin-left:calc(-50vw + 50%);margin-right:calc(-50vw + 50%);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:#d3eee50d;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:#d3eee51a;border:1px solid #d3eee533;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-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 #d3eee533;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 #d3eee54d;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-secondary);box-sizing:border-box;color:var(--text-primary);padding:var(--space-16) var(--space-6);position:relative;width:100%}.experience-container{margin:0 auto;max-width:1200px;position:relative;z-index:1}.experience h1,.experience h2,.experience h3,.experience h4,.experience h5,.experience h6{text-wrap:balance}.experience:before{background:radial-gradient(circle at center,#d3eee50d 0,#d3eee505 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:clamp(1.5rem,3vw + .5rem,3rem);font-weight:var(--font-bold);line-height:clamp(1.2,.3vw + 1.15,1.25);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{display:flex;flex:1 1;flex-direction:column;gap:0;min-width:250px}.experience-item h3{font-family:var(--font-heading);font-size:clamp(1.25rem,2.5vw + .5rem,1.875rem)}@media (max-width:768px){.experience{padding:var(--space-12) var(--space-4)}.experience-item{margin:0 auto var(--space-8)}}@media (max-width:480px){.experience{padding:var(--space-10) var(--space-3);padding-left:var(--space-3);padding-right:var(--space-3)}.experience-item{margin-left:0;margin-right:0;max-width:100%}}.company-name{color:var(--text-secondary);font-size:clamp(1rem,1.5vw + .5rem,1.25rem);font-weight:var(--font-semibold);line-height:clamp(1.3,.3vw + 1.2,1.4);margin-bottom:var(--space-2);overflow-wrap:break-word;word-break:keep-all}.company-name a{align-items:center;color:var(--color-secondary-300);display:inline-block;display:inline-flex;min-height:32px;padding:var(--space-1) 0;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);min-height:32px;padding:var(--space-1) 0;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:#1e232dcc;border:1px solid #d3eee533;border-radius:var(--radius-full);box-shadow:0 2px 8px #0003;color:var(--text-primary);display:inline-flex;flex-wrap:wrap;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);justify-content:flex-start;margin-top:var(--space-2);padding:var(--space-2-5) var(--space-4);white-space:normal}.location time{color:var(--color-secondary-200);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:clamp(.9375rem,1vw + .5rem,1.125rem);line-height:clamp(1.5,.5vw + 1.4,1.65);overflow-wrap:break-word;padding-left:var(--space-8);position:relative;transition:color var(--duration-200) var(--ease-out),transform var(--duration-200) var(--ease-out);word-break:keep-all}.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 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:clamp(1.5rem,6vw,2rem);margin-bottom:var(--space-8)}.experience-container{padding:0}.experience-item{border-radius:var(--radius-lg);margin:0 0 var(--space-8) 0;max-width:100%;padding:var(--space-6)}.experience-header{align-items:flex-start;flex-direction:column}.experience-title{min-width:100%}.experience-item h3{font-size:clamp(1.125rem,5vw,1.5rem);margin-bottom:var(--space-2-5)}.company-name{font-size:clamp(.9375rem,4vw,1.125rem);margin-bottom:var(--space-2)}.location{font-size:var(--text-xs);padding:var(--space-2) var(--space-3)}.experience-item li{font-size:clamp(.875rem,4vw,1rem);padding-left:var(--space-6)}.experience-item li:before{height:var(--space-3);top:6px;width:var(--space-3)}}@media (max-width:var(--breakpoint-sm )){.experience{padding:var(--space-8) var(--space-3)}.experience:before{display:none}.experience h2{font-size:clamp(1.375rem,2.5vw + .5rem,2rem);margin-bottom:var(--space-6)}.experience-item{border-radius:var(--radius-md);box-shadow:var(--shadow-md);margin-bottom:var(--space-6);padding:var(--space-5)}.experience-header{align-items:flex-start;flex-direction:column;gap:0;margin-bottom:var(--space-5)}.experience-title{min-width:100%;width:100%}.experience-item h3{font-size:clamp(1.0625rem,1.8vw + .5rem,1.375rem);line-height:1.3;margin-bottom:var(--space-2-5)}.company-name{font-size:clamp(.875rem,1vw + .5rem,1rem);line-height:1.4;margin-bottom:var(--space-2)}.company-website{font-size:var(--text-xs);margin-bottom:var(--space-2)}.company-website a{align-items:center;display:inline-flex;min-height:32px;padding:var(--space-1) 0}.location{background:#1e232de6;border:1px solid #d3eee54d;color:var(--text-primary);font-size:var(--text-xs);gap:var(--space-1-5);line-height:1.5;margin-top:var(--space-2);padding:var(--space-2-5) var(--space-3-5);width:fit-content}.location time{color:var(--color-secondary-200)}.experience-item ul{gap:var(--space-3);margin-top:var(--space-5)}.experience-item li{font-size:clamp(.875rem,.9vw + .5rem,1rem);line-height:1.6;padding-left:var(--space-6)}.experience-item li:before{height:var(--space-3);top:7px;width:var(--space-3)}.experience-item li:hover,.experience-item li:hover:before{transform:none}.company-name a:hover:after{width:0}}@media (max-width:var(--breakpoint-xs )){.experience{padding:var(--space-6) var(--space-2)}.experience h2{font-size:clamp(1.25rem,2vw + .5rem,1.75rem);margin-bottom:var(--space-5)}.experience-item{border-radius:var(--radius-md);margin-bottom:var(--space-5);padding:var(--space-4)}.experience-header{align-items:flex-start;gap:0;margin-bottom:var(--space-4)}.experience-title{min-width:100%;width:100%}.experience-item h3{font-size:clamp(1rem,1.5vw + .5rem,1.25rem);line-height:1.3;margin-bottom:var(--space-2)}.company-name{font-size:clamp(.8125rem,.9vw + .5rem,.9375rem);line-height:1.4;margin-bottom:var(--space-1-5)}.company-website{font-size:.6875rem;margin-bottom:var(--space-1-5)}.location{background:#1e232df2;border:1px solid #d3eee559;color:var(--text-primary);font-size:.75rem;gap:var(--space-1-5);line-height:1.5;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);width:fit-content}.location time{color:var(--color-secondary-200);font-weight:var(--font-bold)}.experience-item ul{gap:var(--space-2-5);margin-top:var(--space-4)}.experience-item li{font-size:clamp(.8125rem,.8vw + .5rem,.9375rem);line-height:1.55;padding-left:var(--space-5)}.experience-item li:before{height:10px;left:0;top:6px;width:10px}}@media (hover:none) and (pointer:coarse){.experience-item li:hover{color:var(--text-secondary);transform:none}.experience-item li:hover:before{transform:none}.company-name a:hover{color:var(--color-secondary-300)}.company-name a:hover:after{width:0}.company-website a:hover{transform:none}.company-name a,.company-website a{min-height:44px;padding:var(--space-2) 0}.location{background:#1e232df2;border:1px solid #d3eee566;font-size:.8125rem;padding:var(--space-3) var(--space-4)}.location time{color:var(--color-secondary-100)}}@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,#d3eee50d 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 #d3eee54d}@keyframes glow{0%{text-shadow:0 0 20px #d3eee54d,0 0 30px #d3eee533}to{text-shadow:0 0 30px #d3eee580,0 0 40px #d3eee54d,0 0 50px #d3eee533}}.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-500);border-color:var(--color-secondary-500);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 #d3eee566}.not-found-button{transition:none}.not-found-button:before{display:none}.not-found-button:hover{transform:none}}.install-prompt{animation:slideInUp .4s var(--ease-out);bottom:20px;position:fixed;right:20px;z-index:1000}@keyframes slideInUp{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.install-prompt-content{backdrop-filter:blur(var(--blur-lg));-webkit-backdrop-filter:blur(var(--blur-lg));background:var(--bg-elevated);border:2px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl),0 0 40px #d3eee526;max-width:320px;padding:var(--space-6);position:relative}.install-prompt-close{align-items:center;background:#0000;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;font-size:var(--text-lg);justify-content:center;padding:var(--space-2);position:absolute;right:var(--space-3);top:var(--space-3);transition:var(--transition-colors)}.install-prompt-close:hover{background:var(--bg-surface);color:var(--text-primary)}.install-prompt-icon{align-items:center;background:linear-gradient(135deg,var(--color-secondary-200),var(--color-secondary-100));border-radius:var(--radius-full);color:var(--bg-primary);display:flex;font-size:var(--text-xl);height:48px;justify-content:center;margin:0 auto var(--space-4);width:48px}.install-prompt-title{color:var(--text-primary);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:600;margin:0 0 var(--space-2);text-align:center}.install-prompt-description{color:var(--text-secondary);font-size:var(--text-sm);line-height:var(--leading-relaxed);margin:0 0 var(--space-6);text-align:center}.install-prompt-actions{display:flex;flex-direction:column;gap:var(--space-3)}.install-prompt-button{border:none;border-radius:var(--radius-lg);cursor:pointer;font-family:var(--font-primary);font-size:var(--text-sm);font-weight:600;padding:var(--space-3) var(--space-4);text-align:center;transition:var(--transition-base)}.install-button{background:linear-gradient(135deg,var(--color-secondary-200),var(--color-secondary-100));box-shadow:0 2px 8px #d3eee533;color:var(--bg-primary)}.install-button:hover{box-shadow:0 4px 12px #d3eee54d;transform:translateY(-2px)}.install-button:active{transform:translateY(0)}.dismiss-button{background:#0000;border:1px solid var(--border-primary);color:var(--text-secondary)}.dismiss-button:hover{background:var(--bg-surface);border-color:var(--border-secondary);color:var(--text-primary)}@media (max-width:768px){.install-prompt{bottom:16px;left:16px;right:16px}.install-prompt-content{max-width:100%}}@media (prefers-reduced-motion:reduce){.install-prompt{animation:none}}
/*# sourceMappingURL=main.38e31f4d.css.map*/