:root{--bg-primary: #f5f5f4;--bg-secondary: #e7e5e4;--bg-tertiary: #d6d3d1;--text-primary: #222222;--text-secondary: #666666;--text-muted: #888888;--accent-primary: #1d4ed8;--accent-secondary: #2563eb;--border-color: #d1d5db;--shadow-light: rgba(0, 0, 0, .08);--shadow-medium: rgba(0, 0, 0, .15);--shadow-heavy: rgba(0, 0, 0, .25);--toggle-bg: #e9ecef;--toggle-border: #dee2e6;--toggle-thumb-bg: #fafaf9;--gradient-primary: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);--gradient-secondary: linear-gradient(135deg, #64748b 0%, #475569 100%);--gradient-accent: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--modern-bg: #f5f5f4;--modern-card-bg: #fafaf9;--modern-card-hover: #e7e5e4;--modern-text-primary: #1a1a1a;--modern-text-secondary: #4a5568;--modern-accent: #1d4ed8;--modern-accent-light: rgba(29, 78, 216, .1);--modern-border: #d1d5db;--modern-shadow: rgba(0, 0, 0, .1);--modern-glow: rgba(29, 78, 216, .15);--modern-glow-strong: rgba(29, 78, 216, .25);--modern-glow-subtle: rgba(29, 78, 216, .08);--loader-bg: #1d4ed8;--loader-bg-solid: #1e40af;--loader-text: #ffffff;--loader-wave-1: rgba(255, 255, 255, .3);--loader-wave-2: rgba(255, 255, 255, .18);--loader-wave-3: rgba(255, 255, 255, .1);--transition-fast: .2s ease;--transition-normal: .3s ease;--transition-slow: .5s ease;--bounce: cubic-bezier(.68, -.55, .265, 1.55);--elastic: cubic-bezier(.175, .885, .32, 1.275);--smooth: cubic-bezier(.4, 0, .2, 1)}[data-theme=dark]{--bg-primary: #18181b;--bg-secondary: #27272a;--bg-tertiary: #3f3f46;--text-primary: #fafafa;--text-secondary: #a1a1aa;--text-muted: #71717a;--accent-primary: #3b82f6;--accent-secondary: #60a5fa;--border-color: #3f3f46;--shadow-light: rgba(0, 0, 0, .4);--shadow-medium: rgba(0, 0, 0, .5);--shadow-heavy: rgba(0, 0, 0, .7);--toggle-bg: #3f3f46;--toggle-border: #52525b;--toggle-thumb-bg: #3b82f6;--gradient-primary: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);--gradient-secondary: linear-gradient(135deg, #64748b 0%, #475569 100%);--gradient-accent: linear-gradient(135deg, #60a5fa 0%, #3b82f6 100%);--modern-bg: #18181b;--modern-card-bg: #27272a;--modern-card-hover: #3f3f46;--modern-text-primary: #fafafa;--modern-text-secondary: #a1a1aa;--modern-accent: #3b82f6;--modern-accent-light: rgba(59, 130, 246, .15);--modern-border: #3f3f46;--modern-shadow: rgba(0, 0, 0, .5);--modern-glow: rgba(59, 130, 246, .25);--modern-glow-strong: rgba(59, 130, 246, .35);--modern-glow-subtle: rgba(59, 130, 246, .1);--loader-bg: #1e40af;--loader-bg-solid: #1e3a8a;--loader-text: #ffffff;--loader-wave-1: rgba(255, 255, 255, .2);--loader-wave-2: rgba(255, 255, 255, .12);--loader-wave-3: rgba(255, 255, 255, .08)}*{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),transform var(--transition-normal),box-shadow var(--transition-normal)}button,a,.btn,.nav-list button,.social-link{transition:all var(--transition-normal) var(--smooth)}button:hover,a:hover,.btn:hover,.nav-list button:hover{transform:translateY(-2px)}.hero-card,.project-card,.skill-card,.timeline-item{transition:all var(--transition-normal) var(--smooth)}.hero-card:hover,.project-card:hover,.skill-card:hover,.timeline-item:hover{transform:translateY(-5px);box-shadow:0 10px 30px var(--shadow-medium)}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;padding:0}[data-theme=light] .btn{border-color:#0000001f}[data-theme=light] .btn-secondary{border-color:#0000001a}[data-theme=light] .btn-secondary:hover{border-color:#0000002e}[data-theme=light] .social-link{border:1px solid rgba(0,0,0,.1)}[data-theme=light] .social-link:hover{border-color:#00000026}[data-theme=light] .nav-btn-with-tooltip{border:1px solid rgba(0,0,0,.08)}[data-theme=light] .nav-btn-with-tooltip:hover{border-color:#0000001f}[data-theme=light] .project-card-modern,[data-theme=light] .skill-icon-modern{border-color:var(--border-color)!important}[data-theme=light] .header.header-scrolled .header-surface{border-color:#0000001a!important}[data-theme=light] .theme-toggle-btn{border-color:#00000026}@media (max-width: 1000px){[data-theme=light] .header .nav{border-color:#0000001a}}::selection{background-color:var(--accent-primary);color:#fff}::-moz-selection{background-color:var(--accent-primary);color:#fff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}button{font-family:inherit}a{color:inherit;text-decoration:none}ul,ol{list-style:none}img{max-width:100%;height:auto}.container{max-width:1200px;margin:0 auto;padding:0 2rem}.section-title{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;text-align:center;margin-bottom:3rem;color:var(--accent-primary)}@media (max-width: 768px){.section-title{font-size:clamp(2.25rem,6vw,3.25rem)}.container{padding:0 1rem}}@media (max-width: 480px){.section-title{font-size:clamp(2rem,6vw,3rem)}.container{padding:0 .75rem}}@media (max-width: 768px){button,a,input,textarea{min-height:44px;min-width:44px}body{font-size:16px}html{scroll-behavior:smooth;-webkit-overflow-scrolling:touch}}html{scroll-behavior:smooth}button:focus,input:focus,textarea:focus{outline:2px solid var(--accent-primary);outline-offset:2px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--accent-primary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.loader-overlay{position:fixed;inset:0;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--loader-bg);overflow:hidden}.loader-overlay.loader-full-blue .loader-waves,.loader-overlay.loader-full-blue .loader-content{opacity:0;transition:opacity .4s ease-out}.loader-overlay.loader-full-blue{background:var(--loader-bg-solid);animation:loaderReveal .5s cubic-bezier(.25,.46,.45,.94) .4s forwards}@keyframes loaderReveal{0%{transform:translateY(0)}to{transform:translateY(-100%)}}.loader-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;flex:1;justify-content:center}.loader-logo{font-size:2.5rem;font-weight:800;letter-spacing:-1px;color:var(--loader-text);text-shadow:0 2px 20px rgba(0,0,0,.2);animation:loaderLogoPulse 1.2s ease-in-out infinite}.loader-tagline{margin-top:.5rem;font-size:.75rem;font-weight:500;color:var(--loader-text);opacity:.85;letter-spacing:.2em;text-transform:uppercase}.loader-waves{position:absolute;bottom:0;left:0;right:0;width:100%;height:28vh;max-height:220px;z-index:1}.loader-wave-svg{width:100%;height:100%}.loader-wave-path{transform-origin:center bottom}.loader-wave-1{fill:var(--loader-wave-1);animation:waveFloat 2.5s ease-in-out infinite}.loader-wave-2{fill:var(--loader-wave-2);animation:waveFloat 2.5s ease-in-out .3s infinite}.loader-wave-3{fill:var(--loader-wave-3);animation:waveFloat 2.5s ease-in-out .6s infinite}@keyframes waveFloat{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-8px) scaleY(1.02)}}@keyframes loaderLogoPulse{0%,to{opacity:.95;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}@media (max-width: 480px){.loader-logo{font-size:2rem}.loader-waves{height:140px;max-height:140px}.loader-wave-1,.loader-wave-2,.loader-wave-3{animation:waveFloatMobile 3s ease-in-out infinite}.loader-wave-2{animation-delay:.4s}.loader-wave-3{animation-delay:.8s}}@keyframes waveFloatMobile{0%,to{transform:translateY(0) scaleY(1)}50%{transform:translateY(-4px) scaleY(1.02)}}.theme-toggle-btn{display:flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;background:#ffffff80;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.4);border-radius:50%;color:var(--text-primary);cursor:pointer;transition:background .3s ease,color .3s ease,border-color .3s ease}.theme-toggle-btn:hover{background:#ffffffb3;color:var(--accent-primary)}[data-theme=dark] .theme-toggle-btn{background:#27272a99;border:1px solid rgba(255,255,255,.12)}[data-theme=dark] .theme-toggle-btn:hover{background:#3f3f46cc}.theme-toggle-btn:hover .theme-toggle-icon{animation:icon-spin .5s ease}.theme-toggle-icon{display:block}@keyframes icon-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.header{position:fixed;top:0;left:0;z-index:1000;padding:1rem 0;transition:all .3s ease}.header-surface{position:fixed;left:.75rem;top:50%;transform:translateY(-50%);width:72px;border-radius:999px;background:transparent;border:1px solid transparent;box-shadow:none;transition:all .3s ease}.header.header-scrolled .header-surface{background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);box-shadow:0 8px 32px #0000001a;border:1px solid rgba(255,255,255,.3)}[data-theme=dark] .header.header-scrolled .header-surface{background:#27272ad9;border:1px solid rgba(255,255,255,.08)}.header-container{display:flex;flex-direction:column;align-items:center;padding:1rem .75rem;gap:.5rem}.logo{cursor:pointer;transition:all .3s ease;margin-bottom:.5rem}.logo:hover{transform:scale(1.05)}.logo h2{font-size:1.6rem;font-weight:700;color:var(--text-primary);margin:0}.nav{flex:1;display:flex;align-items:center;justify-content:center}.nav-list{display:flex;flex-direction:column;list-style:none;margin:0;padding:0;gap:.25rem;align-items:center}.nav-list button,.nav-btn-with-tooltip{background:none;border:1px solid transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-normal) var(--smooth);padding:.6rem;border-radius:12px;position:relative;overflow:visible;display:flex;align-items:center;justify-content:center}.nav-btn-with-tooltip:before{content:"";position:absolute;inset:0;background:var(--gradient-primary);opacity:0;transition:opacity var(--transition-normal) var(--smooth);z-index:-1;border-radius:12px}.nav-btn-with-tooltip:hover{color:var(--accent-primary);transform:scale(1.08)}.nav-btn-with-tooltip:hover:before{opacity:.15}.nav-btn-with-tooltip.nav-active{color:var(--accent-primary)}.nav-btn-with-tooltip.nav-active:before{opacity:.2}.nav-btn-with-tooltip:after{content:attr(data-tooltip);position:absolute;left:100%;margin-left:12px;padding:.4rem .75rem;background:var(--text-primary);color:var(--bg-primary);font-size:.8rem;font-weight:500;white-space:nowrap;border-radius:8px;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s;z-index:100}.nav-btn-with-tooltip:hover:after{opacity:1;visibility:visible}.nav-footer{display:none}.header-bottom{display:flex;flex-direction:column;align-items:center;gap:.5rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.header-mobile-controls{display:none}.hamburger{display:none;flex-direction:column;background:none;border:none;cursor:pointer;padding:.5rem;gap:4px}.hamburger span{width:25px;height:3px;background:var(--text-primary);transition:all var(--transition-normal) var(--elastic);transform-origin:center}.hamburger.active span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.active span:nth-child(2){opacity:0}.hamburger.active span:nth-child(3){transform:rotate(-45deg) translate(7px,-6px)}@media (max-width: 1000px){.header{top:0;left:0;right:0;padding:.5rem 0}.header-surface{position:fixed;left:.5rem;right:.5rem;top:.5rem;width:auto;transform:none;border-radius:999px;display:flex;align-items:center;justify-content:space-between;padding:0 1rem;min-height:56px}.header-surface .logo{flex-shrink:0;line-height:1}.header-surface .logo h2{line-height:1}.header-container{flex-direction:row;width:100%;padding:0 .5rem;justify-content:space-between;align-items:center;gap:0;min-height:44px}.logo{margin-bottom:0;display:flex;align-items:center}.logo h2{font-size:1.5rem}.header-bottom{display:none}.header-mobile-controls{display:flex;align-items:center;gap:.5rem}.header .nav,body>.nav{position:fixed!important;top:50%;right:1rem;left:auto;bottom:auto;transform:translate(200%,-50%);width:72px;flex:none;background:#fff9;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:1rem .75rem;box-shadow:0 8px 30px var(--shadow-medium);backdrop-filter:blur(12px);transition:transform .3s ease;z-index:999}[data-theme=dark] .nav{background:#27272ae6;border:1px solid rgba(255,255,255,.08)}.nav.nav-open{transform:translateY(-50%)}.nav-list{flex-direction:column;gap:.25rem}.nav-footer{display:none}.nav-btn-with-tooltip:after{left:auto;right:100%;margin-left:0;margin-right:12px;top:50%;transform:translateY(-50%)}.hamburger{display:flex;align-items:center;justify-content:center;height:44px;width:44px;min-width:44px;min-height:44px}}.social-links{display:flex;gap:1rem;align-items:center}.social-link{position:relative;display:flex;align-items:center;justify-content:center;text-decoration:none;color:var(--text-primary);transition:all var(--transition-normal);animation:fadeInUp .6s ease forwards;animation-delay:var(--delay);opacity:0;transform:translateY(20px);border-radius:50%;padding:.5rem;background:#fff6;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.3)}.social-link:hover{color:var(--accent-primary);transform:translateY(-3px) scale(1.1);background:#fff9;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);box-shadow:0 8px 32px #0000001a}.social-link[data-tooltip]:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-8px);padding:.35rem .75rem;background:#000c;color:#fff;font-size:.75rem;font-weight:500;white-space:nowrap;border-radius:8px;pointer-events:none;z-index:100}.social-icon{width:24px;height:24px;display:flex;align-items:center;justify-content:center;transition:all var(--transition-normal) var(--elastic)}.social-link:hover .social-icon{transform:scale(1.2) rotate(5deg)}.social-links-small .social-icon{width:18px;height:18px}.social-links-medium .social-icon{width:24px;height:24px}.social-links-large .social-icon{width:40px;height:40px;font-size:28px}.social-links-large .social-link{padding:.6rem}@media (max-width: 768px){.social-links{gap:.75rem;justify-content:center}.social-link{padding:.4rem;min-width:44px;min-height:44px}.social-links-large .social-icon{width:28px;height:28px}.social-links-medium .social-icon{width:22px;height:22px}}@media (max-width: 480px){.social-links{gap:.5rem;justify-content:center}.social-link{padding:.35rem;min-width:40px;min-height:40px}.social-links-large .social-icon{width:24px;height:24px}.social-links-medium .social-icon{width:20px;height:20px}}[data-theme=dark] .social-link{color:#fafafa;background:#27272a80;border:1px solid rgba(255,255,255,.08)}[data-theme=dark] .social-link:hover{color:var(--accent-secondary);background:#3f3f46b3}[data-theme=light] .social-link{color:#333}[data-theme=light] .social-link:hover{color:var(--accent-primary);background:var(--bg-secondary)}.hero{min-height:100vh;min-height:100dvh;padding-top:20px;display:flex;align-items:center;position:relative;overflow:hidden;background:var(--bg-primary)}.hero-container{max-width:1200px;margin:0 auto;padding:0 2rem;position:relative;z-index:2;width:100%}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:center;padding:2rem 0}.hero-text{animation:slideInLeft 1s ease-out;display:flex;flex-direction:column;justify-content:center}.hero-greeting{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem}.wave-emoji{font-size:1.5rem;animation:wave 2s ease-in-out infinite}.greeting-text{font-size:1.2rem;color:var(--text-secondary);font-weight:500}.hero-title{font-size:3.8rem;font-weight:800;line-height:1.2;margin-bottom:1.2rem;color:var(--text-primary)}.name-highlight{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-role{font-size:1.4rem;margin-bottom:1.8rem;color:var(--text-secondary);display:flex;align-items:center;gap:.5rem;min-height:2rem;max-width:100%;overflow:hidden}.role-text{color:var(--accent-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cursor{animation:blink 1s infinite;color:var(--accent-primary)}.hero-summary{font-size:1rem;line-height:1.5;color:var(--text-secondary);margin-bottom:1.5rem;max-width:480px}.hero-social-links{display:flex;gap:1.25rem;margin-top:0}.btn{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid rgba(255,255,255,.3);border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal) var(--smooth);text-decoration:none;position:relative;overflow:hidden;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.btn-primary{background:#aa514980;color:#fff;box-shadow:0 4px 20px #aa514940}.btn-primary:hover{background:#aa5149a6;box-shadow:0 8px 30px #aa514959}.btn-secondary{background:#fff6;color:var(--text-primary)}.btn-secondary:hover{background:#fff9;border-color:#ffffff80}[data-theme=dark] .btn-primary{background:#c65e5466}[data-theme=dark] .btn-primary:hover{background:#c65e548c}[data-theme=dark] .btn-secondary{background:#ffffff14;border-color:#ffffff26}[data-theme=dark] .btn-secondary:hover{background:#ffffff26}.btn:hover .btn-icon{transform:translate(3px)}.btn-icon{transition:transform .3s ease}.btn:hover .btn-icon{transform:translate(3px) scale(1.1)}.btn-secondary:hover .btn-icon{transform:translateY(3px)}.hero-visual{animation:slideInRight 1s ease-out .3s both}.hero-image-container{position:relative;width:360px;height:360px;margin:0 auto;flex-shrink:0}.hero-image-container:before{content:"";position:absolute;inset:-6px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary),var(--accent-primary));background-size:200% 200%;animation:ringGradient 5s ease infinite;z-index:-1}.hero-image-container:after{content:"";position:absolute;inset:-20px;border-radius:50%;background:linear-gradient(135deg,var(--accent-primary),var(--accent-secondary));opacity:.25;filter:blur(24px);z-index:-2}.hero-profile-image{position:relative;z-index:1;width:100%;height:100%;object-fit:cover;border-radius:50%}@keyframes ringGradient{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.scroll-indicator{position:absolute;bottom:1.5rem;left:0;right:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;animation:fadeInUp 1s ease-out 1s both;pointer-events:none}.scroll-text{font-size:.9rem;color:var(--text-muted);font-weight:500}.scroll-arrow{width:2px;height:30px;background:var(--accent-primary);border-radius:1px;position:relative;animation:scrollBounce 2s infinite}.scroll-arrow:after{content:"";position:absolute;bottom:0;left:50%;transform:translate(-50%);width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:6px solid var(--accent-primary)}@keyframes slideInLeft{0%{opacity:0;transform:translate(-50px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(50px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes wave{0%,to{transform:rotate(0)}25%{transform:rotate(20deg)}75%{transform:rotate(-20deg)}}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes scrollBounce{0%,to{transform:translateY(0)}50%{transform:translateY(10px)}}@media (max-width: 1024px){.hero-content{grid-template-columns:1fr;gap:3rem;text-align:center}.hero-summary{max-width:100%}.hero-image-container{width:300px;height:300px;margin:0 auto}}@media (max-width: 1000px){.hero{padding-top:0;align-items:flex-start;padding-top:.5rem}.hero-container{padding:0 1rem}.hero-content{grid-template-columns:1fr;gap:1.75rem;min-height:auto;padding:.75rem 0}.hero-text{text-align:center}.hero-title{font-size:2.9rem;text-align:center}.hero-role{justify-content:center;text-align:center;font-size:1.1rem}.role-text{white-space:normal;word-break:break-word}.hero-summary{font-size:.95rem;text-align:center}.hero-image-container{width:260px;height:260px;margin:0 auto}.hero-social-links{justify-content:center}.scroll-indicator{display:none}}@media (max-width: 480px){.hero-container{align-self:center;padding:0 .75rem}.hero-content{gap:1.5rem;padding:.5rem 0}.hero-role{font-size:.95rem;flex-wrap:wrap}.role-text{white-space:normal;word-break:break-word;max-width:100%}.hero-title{font-size:2.3rem;text-align:center;margin-bottom:1rem}.hero-summary{font-size:.9rem;text-align:center;margin-bottom:1rem}.hero-image-container{width:220px;height:220px;margin:0 auto}}.about{padding:5rem 0;background:var(--bg-primary)}.about .container{max-width:1200px;margin:0 auto;padding:0 2rem}.about .section-title{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;text-align:center;margin-bottom:3rem;color:var(--accent-primary)}.about-content{margin-top:1rem}.about-text{background:var(--bg-secondary);border-radius:16px;padding:2.5rem;border:1px solid var(--border-color)}.about-text p{font-size:1.05rem;line-height:1.8;margin-bottom:1.5rem;color:var(--text-secondary);text-align:justify}.about-text p:last-child{margin-bottom:0}@media (max-width: 768px){.about{padding:2.5rem 0}.about-text{padding:1.25rem}.about-text p{font-size:.95rem;line-height:1.6}.about-text p:nth-child(n+4){display:none}}@media (max-width: 480px){.about{padding:1.5rem 0}.about-text{padding:1rem}.about-text p{font-size:.9rem;line-height:1.55}.about-text p:nth-child(n+3){display:none}}.timeline-container{background:var(--modern-bg);min-height:100vh;min-height:100dvh;padding:80px 0;position:relative;overflow:hidden}:root{--experience-color: var(--modern-accent);--education-color: var(--accent-secondary);--achievement-bg: #fbbf24;--achievement-text: #1f2937;--technology-bg: linear-gradient(135deg, var(--modern-accent) 0%, var(--accent-secondary) 100%);--technology-text: white;--category-badge-shadow: rgba(0, 0, 0, .2)}[data-theme=dark]{--achievement-bg: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--achievement-text: #1f2937;--category-badge-shadow: rgba(0, 0, 0, .4)}[data-theme=light]{--achievement-bg: linear-gradient(135deg, #fbbf24 0%, #f59e0b 100%);--achievement-text: #1f2937;--category-badge-shadow: rgba(0, 0, 0, .15)}[data-theme=light] .timeline-corner-triangle:not(.has-logo){background:linear-gradient(135deg,#6b7280,#4b5563)!important}[data-theme=light] .timeline-corner-triangle.has-logo{background-color:#6b7280e6!important;box-shadow:0 4px 20px #6b728066}.timeline-header{text-align:center;margin-bottom:80px;padding:0 20px;position:relative;z-index:10}.timeline-header h2{color:var(--accent-primary);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;margin-bottom:15px;-webkit-background-clip:text;background-clip:text;animation:gradientShift 3s ease-in-out infinite}@keyframes gradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.timeline-header p{color:var(--modern-text-secondary);font-size:1.2rem;font-weight:500;animation:fadeInUp 1s ease-out .3s both;margin-bottom:30px}.timeline-filters{display:flex;justify-content:center;gap:8px;margin-top:24px;flex-wrap:wrap}.filter-btn{padding:8px 20px;background:transparent;border:1px solid var(--modern-border);border-radius:8px;color:var(--modern-text-secondary);font-weight:500;font-size:.9rem;cursor:pointer;transition:all .25s ease}.filter-btn:hover{border-color:var(--modern-accent);color:var(--modern-text-primary)}.filter-btn.active{background:var(--modern-accent);border-color:var(--modern-accent);color:#fff}.filter-icon{display:none}.timeline-wrapper{position:relative;max-width:100%;margin:0 auto;padding:0 20px}.timeline-line,.timeline-line-glow,.timeline-line-particles{display:none}@keyframes timelineFlow{0%,to{background-position:0% 50%;box-shadow:0 0 20px #aa514980,0 0 40px #9347414d}50%{background-position:100% 50%;box-shadow:0 0 30px #aa5149b3,0 0 60px #93474180}}@keyframes glowPulse{0%,to{opacity:.6}50%{opacity:1}}@keyframes particleFloat{0%,to{transform:translate(0);opacity:.6}50%{transform:translate(20px);opacity:1}}.timeline-scroll-container{padding:30px 0 40px}.timeline-cards-wrapper{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:30px;padding:0 20px;position:relative;max-width:1200px;margin:0 auto;align-items:start}.timeline-card{position:relative;width:100%;min-height:280px;display:flex;flex-direction:column;margin-bottom:20px;align-self:start}.timeline-connector,.timeline-connector-glow{display:none}@keyframes connectorGlow{0%,to{box-shadow:0 0 10px var(--modern-glow)}50%{box-shadow:0 0 20px var(--modern-glow-strong)}}@keyframes connectorPulse{0%,to{opacity:.7}50%{opacity:1}}.timeline-corner-triangle{position:absolute;top:0;right:0;width:180px;height:180px;clip-path:polygon(100% 0,100% 100%,0 0);background-size:contain;background-position:85% 15%;background-repeat:no-repeat;opacity:.52;z-index:0;display:flex;align-items:center;justify-content:center;padding:0;pointer-events:none;mask-image:linear-gradient(to bottom left,#000000f2,#000000b3 35%,#0006 65%,#0000001a);-webkit-mask-image:linear-gradient(to bottom left,rgba(0,0,0,.95) 0%,rgba(0,0,0,.7) 35%,rgba(0,0,0,.4) 65%,rgba(0,0,0,.1) 100%)}.timeline-corner-triangle.has-logo{background-color:#ffffff0f;background-size:58%;filter:brightness(1.15)}.timeline-corner-icon{font-size:2.25rem;opacity:.8;filter:brightness(1.15)}.timeline-card-content{background:linear-gradient(145deg,var(--modern-card-bg) 0%,var(--modern-card-hover) 100%);border-radius:16px;padding:20px;box-shadow:0 8px 25px var(--modern-shadow);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;z-index:3;flex:1;display:flex;flex-direction:column;border:1px solid var(--modern-border);overflow:hidden;height:320px;min-height:320px}.timeline-card-content:hover{transform:translateY(-8px) scale(1.06)}.timeline-category-badge{position:absolute;top:-15px;right:20px;display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:15px;color:#fff;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 4px 15px var(--category-badge-shadow);z-index:10}.category-icon{font-size:.9rem}.timeline-card-details{color:var(--modern-text-primary);display:flex;flex-direction:column;gap:8px;height:100%;overflow:hidden;justify-content:flex-start;padding:48px 0 0;position:relative;z-index:2}.timeline-details{display:none}.timeline-card-content{position:relative}.timeline-card-content:after{content:"";position:absolute;bottom:0;left:0;right:0;height:40px;background:linear-gradient(transparent,var(--modern-card-bg));pointer-events:none;transition:opacity .3s ease}.timeline-year{color:var(--modern-accent);font-size:.95rem;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:8px;text-shadow:0 0 10px var(--modern-glow);flex-shrink:0}.timeline-title{color:var(--modern-text-primary);font-size:1.4rem;font-weight:800;margin-bottom:10px;line-height:1.3;height:60px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex-shrink:0}.timeline-institution{margin-bottom:15px;height:50px;flex-shrink:0;display:flex;flex-direction:column;gap:2px}.company-name{color:var(--modern-text-secondary);font-size:1.05rem;font-weight:600;line-height:1.3}.location{color:var(--modern-text-secondary);font-size:.9rem;font-weight:500;line-height:1.3;opacity:.8}.timeline-technologies{margin-bottom:15px;flex-shrink:0}.technologies-label{color:var(--modern-text-secondary);font-size:.85rem;font-weight:600;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.technologies-list{display:flex;flex-wrap:wrap;gap:6px;max-height:80px;overflow:visible}.technology-tag{background:var(--technology-bg);color:var(--technology-text);padding:4px 10px;border-radius:12px;font-size:.75rem;font-weight:600;box-shadow:0 2px 8px #aa51494d;transition:all .3s ease}.technology-tag:hover{transform:translateY(-1px);box-shadow:0 4px 12px #aa514966}.timeline-details{list-style:none;padding:0;margin:0;flex:1}.timeline-details li{color:var(--modern-text-secondary);font-size:.9rem;line-height:1.5;margin-bottom:8px;padding-left:0;position:relative;transition:color .3s ease}.timeline-details li:hover{color:var(--modern-text-primary)}.timeline-details li:last-child{margin-bottom:0}@media (max-width: 768px){.timeline-container{padding:60px 0}.timeline-header h2{font-size:clamp(2.25rem,6vw,3.25rem)}.timeline-header p{font-size:1.1rem}.timeline-cards-wrapper{gap:40px;padding:0 20px}.timeline-card{width:300px;min-height:200px}.timeline-card-content{padding:25px;height:300px;min-height:300px}.timeline-corner-triangle{width:150px;height:150px}.timeline-corner-icon{font-size:2.5rem}.timeline-title{font-size:1.3rem}.timeline-institution{font-size:1rem}.timeline-details li{font-size:.9rem}.technologies-list{max-height:none;overflow:visible}}@media (max-width: 480px){.timeline-container{padding:40px 0}.timeline-header{margin-bottom:50px}.timeline-header h2{font-size:clamp(2rem,6vw,3rem)}.timeline-scroll-container{padding:80px 0 50px}.timeline-cards-wrapper{gap:30px;padding:0 15px}.timeline-card{width:100%;min-height:180px}.timeline-card-content{padding:20px;height:auto;min-height:280px}.technologies-list{max-height:none;overflow:visible}.technology-tag{font-size:.8rem;padding:5px 12px;border:1px solid rgba(255,255,255,.2);box-shadow:0 2px 8px #0000004d}.timeline-category-badge{font-size:.7rem;padding:5px 10px;right:12px}.timeline-connector{display:none}.timeline-corner-triangle{width:125px;height:125px}.timeline-corner-icon{font-size:1.75rem}.timeline-title{font-size:1.2rem}.timeline-institution{font-size:.95rem}.timeline-details li{font-size:.85rem;padding-left:0}}.timeline-scroll-container{scroll-behavior:smooth}.timeline-card{opacity:0;transform:translateY(50px) scale(.9);animation:fadeInUpScale .8s ease-out forwards;animation-delay:calc(var(--card-index, 0) * .15s)}@keyframes fadeInUpScale{to{opacity:1;transform:translateY(0) scale(1)}}.timeline-card:nth-child(1){--card-index: 0}.timeline-card:nth-child(2){--card-index: 1}.timeline-card:nth-child(3){--card-index: 2}.timeline-card:nth-child(4){--card-index: 3}.timeline-card:nth-child(5){--card-index: 4}.timeline-card:nth-child(6){--card-index: 5}.timeline-card:nth-child(7){--card-index: 6}.projects{padding:5rem 0;background:var(--bg-primary)}.projects-modern{padding:24px 2rem 12px}.projects-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:2rem}.project-card{background:var(--bg-primary);border-radius:15px;overflow:hidden;box-shadow:0 5px 15px var(--shadow-light);transition:all var(--transition-normal) var(--smooth);border:1px solid var(--border-color);transform:translateY(0);position:relative}.project-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:transform var(--transition-normal) var(--smooth)}.project-card:hover{transform:translateY(-10px) scale(1.02);box-shadow:0 25px 80px #00000026,0 10px 30px #0000001a}.project-card:hover:before{transform:scaleX(1)}.project-image{height:200px;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center}.project-icon{width:64px;height:64px;color:var(--text-primary);transition:all var(--transition-normal) var(--elastic)}.project-icon svg{width:100%;height:100%}.project-card:hover .project-icon{transform:scale(1.2) rotate(5deg)}.project-content{padding:2rem}.project-title{font-size:1.5rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.project-description{font-size:1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 1.5rem}.project-technologies{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.tech-tag{background:var(--bg-tertiary);color:var(--accent-primary);padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500;border:1px solid var(--border-color);transition:all var(--transition-normal) var(--smooth);cursor:pointer}.tech-tag:hover{background:var(--accent-primary);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00000026}.project-links{display:flex;gap:1rem}.project-link{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--accent-primary);color:#fff;text-decoration:none;border-radius:25px;font-size:.875rem;font-weight:500;transition:all var(--transition-normal) var(--smooth);position:relative;overflow:hidden}.project-link svg{width:16px;height:16px}.project-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left var(--transition-slow) var(--smooth)}.project-link:hover{background:var(--accent-secondary);transform:translateY(-2px) scale(1.05)}.project-link:hover:before{left:100%}@media (max-width: 768px){.projects{padding:3rem 0}.projects-grid{grid-template-columns:1fr;gap:1.5rem}.project-card{margin:0 .5rem}.project-content{padding:1.5rem}.project-title{font-size:1.3rem}.project-links{flex-direction:column;gap:.75rem}.project-link{width:100%;justify-content:center;padding:.75rem 1rem}}@media (max-width: 480px){.projects{padding:2rem 0}.project-card{margin:0}.project-content{padding:1rem}.project-title{font-size:1.2rem}.project-technologies{gap:.25rem}.tech-tag{font-size:.8rem;padding:.2rem .5rem}}.projects-modern{padding:40px 0 24px;background:var(--modern-bg)}.projects-modern .container{max-width:1100px;margin:0 auto;padding:0 10px}.projects-modern .section-title{color:var(--accent-primary);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;margin-bottom:28px;letter-spacing:.5px;text-align:left}.projects-modern-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:20px;margin-top:20px}.project-card-modern{background:var(--modern-card-bg);border-radius:16px;padding:24px 44px;box-shadow:0 1px 6px var(--modern-shadow);transition:transform .18s cubic-bezier(.4,2,.6,1),box-shadow .18s,border-color .18s,background .18s;cursor:pointer;border:1.5px solid transparent;position:relative;opacity:0;transform:scale(.92) translateY(18px);animation:fadeInProjectCard .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s);overflow:visible}.project-card-modern:hover{background:var(--modern-card-hover);box-shadow:0 25px 80px var(--modern-shadow),0 10px 30px #0000001a;z-index:2;transform:translateY(-8px) scale(1.02)}.project-card-modern.animate-in{opacity:1!important;transform:scale(1) translateY(0)!important;animation:none!important}.project-header-modern{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.project-icon-modern{width:56px;height:56px;background:var(--modern-card-hover);border-radius:12px;display:flex;align-items:center;justify-content:center;color:var(--modern-accent);transition:all .2s ease}.project-card-modern:hover .project-icon-modern{background:var(--modern-accent);color:#fff;transform:scale(1.1) rotate(5deg)}.project-category-modern{font-size:.75rem;color:var(--modern-accent);font-weight:600;text-transform:uppercase;letter-spacing:.5px;padding:4px 8px;background:var(--modern-accent-light);border-radius:6px;border:1px solid var(--modern-accent)}.project-content-modern{position:relative;z-index:1}.project-title-modern{color:var(--text-primary);font-size:1.4rem;font-weight:700;margin:0 0 12px;letter-spacing:.2px;line-height:1.3}.project-description-modern{color:var(--modern-text-secondary);font-size:.95rem;line-height:1.6;margin:0 0 20px;opacity:.9}.project-technologies-modern{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}.tech-tag-modern{background:var(--modern-card-hover);color:var(--modern-accent);padding:6px 12px;border-radius:8px;font-size:.8rem;font-weight:500;border:1px solid var(--modern-accent);transition:all .2s ease;cursor:pointer}.tech-tag-modern:hover{background:var(--modern-accent);color:#fff;transform:translateY(-2px) scale(1.05);box-shadow:0 8px 20px #00000026}.project-links-modern{display:flex;gap:12px}.project-link-modern{display:flex;align-items:center;gap:8px;padding:10px 16px;background:var(--modern-card-hover);color:var(--modern-text-secondary);text-decoration:none;border-radius:10px;font-size:.85rem;font-weight:500;transition:all .2s ease;position:relative;overflow:hidden}.project-link-modern svg{width:16px;height:16px;transition:transform .2s ease}.project-link-modern:hover{background:var(--modern-accent);color:#fff;transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.project-link-modern:hover svg{transform:scale(1.1)}.github-link:hover{background:#333;box-shadow:0 4px 12px #3333334d}.live-link:hover{background:#10b981;box-shadow:0 4px 12px #10b9814d}@keyframes fadeInProjectCard{to{opacity:1;transform:scale(1) translateY(0)}}@media (max-width: 900px){.projects-modern{padding:24px 1.5rem 12px}.projects-modern .container{padding:0 4px}.projects-modern-grid{gap:16px}.project-card-modern{padding:20px 40px}.project-title-modern{font-size:1.2rem}}@media (max-width: 600px){.projects-modern{padding:24px 1rem 12px}.projects-modern .section-title{font-size:clamp(2rem,6vw,3rem);margin-bottom:12px}.projects-modern-grid{grid-template-columns:1fr;gap:12px}.project-card-modern{padding:16px 36px}.project-title-modern{font-size:1.1rem}.project-description-modern{font-size:.9rem}.project-links-modern{flex-direction:column;gap:8px}.project-link-modern{width:100%;justify-content:center}}.blog-section{min-height:100vh;min-height:100dvh;padding:6rem 1.5rem 4rem;background:var(--bg-primary)}.blog-container{max-width:1100px;margin:0 auto}.blog-header{margin-bottom:2.5rem}.blog-main-title{font-size:clamp(3.5rem,10vw,5rem);font-weight:800;color:var(--text-primary);margin:0 0 .5rem}.blog-subtitle{font-size:1.15rem;color:var(--text-secondary);margin:0}.blog-tiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:1.75rem}.blog-tile{display:flex;flex-direction:column;background:var(--bg-secondary);border-radius:14px;overflow:hidden;border:1px solid var(--border-color);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s,border-color .2s}.blog-tile:hover{transform:translateY(-4px);box-shadow:0 12px 36px var(--shadow-medium);border-color:var(--accent-primary)}.blog-tile-image-wrap{aspect-ratio:16/9;background:var(--gradient-primary);overflow:hidden}.blog-tile-thumb{width:100%;height:100%;object-fit:cover}.blog-tile-content{padding:1.5rem;display:flex;flex-direction:column;gap:.75rem}.blog-tile-meta{font-size:.8rem;font-weight:600;color:var(--accent-primary);text-transform:uppercase;letter-spacing:.05em}.blog-tile-meta-sep{margin:0 .5rem;opacity:.8}.blog-tile-authors{font-size:.85rem;color:var(--text-muted)}.blog-tile-title{font-size:1.45rem;font-weight:700;color:var(--text-primary);margin:0;line-height:1.35}.blog-tile-excerpt{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin:0;flex:1;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.blog-tile-cta{display:inline-flex;align-items:center;gap:.4rem;font-size:.9rem;font-weight:600;color:var(--accent-primary);margin-top:.25rem}.blog-tile:hover .blog-tile-cta{color:var(--accent-secondary)}.blog-loading,.blog-error{color:var(--text-secondary);margin:2rem 0}.blog-error{color:#dc2626}.blog-post-section{min-height:100vh;min-height:100dvh;padding:6rem 1.5rem 4rem;background:var(--bg-primary)}.blog-post-container{max-width:720px;margin:0 auto}.blog-post-loading{text-align:center;color:var(--text-secondary);padding:4rem}.blog-post-error{color:#dc2626;margin-bottom:1.5rem}.blog-back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent-primary);text-decoration:none;font-weight:500;margin-bottom:2rem}.blog-back-link:hover{color:var(--accent-secondary)}.blog-post-header{margin-bottom:2rem}.blog-post-meta{display:flex;gap:1rem;font-size:.9rem;color:var(--accent-primary);font-weight:600;margin-bottom:.5rem}.blog-post-date{font-weight:500}.blog-post-read-time:before{content:"·";margin-right:.5rem}.blog-post-authors{font-size:.95rem;color:var(--text-secondary);margin:0 0 1rem}.blog-post-title{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;color:var(--accent-primary);line-height:1.2;margin:0}.blog-post-body{font-size:1.05rem;line-height:1.75;color:var(--text-primary)}.blog-post-body .md-h1{font-size:1.75rem;font-weight:700;margin:2.5rem 0 1rem;color:var(--accent-primary)}.blog-post-body .md-h2{font-size:1.4rem;font-weight:700;margin:2rem 0 .75rem;color:var(--accent-primary)}.blog-post-body .md-h3{font-size:1.2rem;font-weight:600;margin:1.5rem 0 .5rem;color:var(--text-primary)}.blog-post-body .md-p{margin:0 0 1.25rem;color:var(--text-secondary)}.blog-post-body .md-ul,.blog-post-body .md-ol{margin:0 0 1.25rem 1.5rem;color:var(--text-secondary)}.blog-post-body .md-li{margin-bottom:.5rem}.blog-post-body .md-blockquote{margin:1.5rem 0;padding:1rem 1.5rem;border-left:4px solid var(--accent-primary);background:var(--bg-secondary);color:var(--text-secondary);border-radius:0 8px 8px 0}.blog-post-body .md-inline-code{padding:.15rem .4rem;font-size:.9em;background:var(--bg-tertiary);border-radius:4px;font-family:Monaco,Consolas,monospace}.blog-post-body .md-pre{margin:1.5rem 0;padding:1.25rem;background:var(--bg-secondary);border-radius:8px;overflow-x:auto;border:1px solid var(--border-color)}.blog-post-body .md-code-block{font-size:.9rem;font-family:Monaco,Consolas,monospace}.blog-post-image-wrap{display:block;margin:1.5rem 0;border-radius:8px;overflow:hidden;border:1px solid var(--border-color)}.blog-post-image-wrap img{max-width:100%;height:auto;display:block}.skills-compact{background:var(--bg-secondary);padding:5rem 0}.skills-icon-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(56px,1fr));gap:1.5rem;justify-items:center;align-items:center;max-width:700px;margin:2.5rem auto 0}.skill-icon-compact{width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:#ffffff0a;box-shadow:0 2px 12px #00000014;transition:transform .25s cubic-bezier(.4,2,.6,1),box-shadow .25s cubic-bezier(.4,2,.6,1),background .25s;opacity:0;transform:scale(.7) translateY(20px);will-change:transform,opacity;cursor:pointer;position:relative;z-index:1;animation:none}.skill-icon-compact.animate-in{animation:skillIconIn .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s)}@keyframes skillIconIn{0%{opacity:0;transform:scale(.7) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.skill-icon-compact:hover{box-shadow:0 8px 30px #0003;transform:scale(1.18) translateY(-4px);z-index:2}.icon-emoji-compact{font-size:2rem;transition:filter .2s,transform .2s;filter:drop-shadow(0 2px 6px rgba(0,0,0,.1))}.skill-icon-compact:hover .icon-emoji-compact{filter:drop-shadow(0 2px 6px rgba(0,0,0,.15));transform:scale(1.12) rotate(-6deg)}@media (max-width: 600px){.skills-compact{padding:2.5rem 0}.skills-icon-grid{gap:1rem;max-width:98vw;grid-template-columns:repeat(auto-fit,minmax(44px,1fr))}.skill-icon-compact{width:44px;height:44px}.icon-emoji-compact{font-size:1.4rem}}.skill-icon-compact:hover .icon-emoji-compact{animation:float 2s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) scale(1.2)}50%{transform:translateY(-5px) scale(1.2)}}.category-title{animation:pulse 3s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.8}}@media (max-width: 1024px){.skills-icon-grid{grid-template-columns:repeat(auto-fit,minmax(40px,1fr));gap:1rem}}@media (max-width: 768px){.skills-icon-grid{grid-template-columns:repeat(auto-fit,minmax(30px,1fr));gap:.75rem}}@media (max-width: 480px){.skills-icon-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (prefers-color-scheme: dark){.skill-icon-compact{background:#ffffff0d}.skill-icon-compact:hover{background:#ffffff1a}}@media (prefers-contrast: high){.skill-icon-compact{border:2px solid var(--text-primary)}.skill-icon-compact:hover{border-color:var(--accent-primary);background:var(--accent-primary);color:#fff}.skill-icon-compact:hover .icon-emoji-compact{color:#fff}}.skills-modern{padding:40px 0 24px;background:var(--modern-bg)}.skills-modern .container{max-width:1100px;margin:0 auto;padding:0 10px}.section-title{color:var(--accent-primary);font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;margin-bottom:28px;letter-spacing:.5px;text-align:left}.skills-category-group{margin-bottom:32px}.skills-category-title{color:var(--text-primary);font-size:1.25rem;font-weight:700;margin-bottom:12px;letter-spacing:.2px;text-align:left}.skills-icon-modern-grid{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:4px}.skill-icon-modern{width:84px;height:84px;background:var(--modern-card-bg);border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;box-shadow:0 1px 6px var(--modern-shadow);transition:transform .18s cubic-bezier(.4,2,.6,1),box-shadow .18s,border-color .18s,background .18s;cursor:pointer;border:1.5px solid transparent;position:relative;opacity:0;transform:scale(.92) translateY(18px);animation:fadeInSkillIcon .5s cubic-bezier(.4,2,.6,1) forwards;animation-delay:var(--animation-delay, 0s);overflow:visible;justify-content:center}.skill-icon-modern:before{content:"";position:absolute;top:50%;left:50%;width:70px;height:70px;border-radius:12px;pointer-events:none;z-index:0;opacity:0;transform:translate(-50%,-50%) scale(.8);transition:all .3s cubic-bezier(.4,0,.2,1);background:linear-gradient(135deg,var(--modern-glow-strong) 0%,var(--modern-glow-subtle) 100%);filter:blur(6px)}.skill-icon-modern:after{content:"";position:absolute;top:50%;left:50%;width:90px;height:90px;border-radius:16px;pointer-events:none;z-index:-1;opacity:0;transform:translate(-50%,-50%) scale(.6);transition:all .4s cubic-bezier(.4,0,.2,1);background:radial-gradient(circle,var(--modern-glow-subtle) 0%,transparent 70%);animation:none}.skill-icon-modern:hover:before{opacity:1;transform:translate(-50%,-50%) scale(1.1);filter:blur(8px);animation:pulseGlow 2s ease-in-out infinite}.skill-icon-modern:hover:after{opacity:.5;transform:translate(-50%,-50%) scale(1.05);animation:shimmer 2.5s ease-in-out infinite}@keyframes pulseGlow{0%,to{opacity:1;transform:translate(-50%,-50%) scale(1.1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}@keyframes shimmer{0%,to{opacity:.5;transform:translate(-50%,-50%) scale(1.05)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.05)}}.skill-icon-modern:hover{box-shadow:0 15px 40px #00000026,0 5px 15px #0000001a;z-index:2;transform:translateY(-4px) scale(1.05)}.skill-icon-modern:hover .icon-svg-modern{transform:scale(1.15);filter:brightness(1.2) drop-shadow(0 2px 6px rgba(0,0,0,.15));animation:iconFloatUpDown 1.5s ease-in-out infinite}.skill-label-modern{display:block;opacity:0;font-size:.85rem;color:var(--modern-text-secondary);margin-top:6px;text-align:center;font-weight:500;letter-spacing:.01em;transition:opacity .22s,transform .22s;transform:translateY(8px) scale(.98);position:absolute;left:50%;top:100%;min-width:0;max-width:90px;width:max-content;padding:2px 10px;background:var(--modern-card-bg);border-radius:8px;box-shadow:0 2px 8px var(--modern-shadow);z-index:10;white-space:nowrap;transform:translate(-50%,8px) scale(.98);pointer-events:none}.skill-icon-modern:hover .skill-label-modern{opacity:1;transform:translate(-50%) scale(1)}.skill-icon-modern.animate-in{opacity:1!important;transform:scale(1) translateY(0)!important;animation:none!important}.icon-svg-modern{width:54px;height:54px;display:block;filter:brightness(1.1) drop-shadow(0 2px 6px #0002);transition:filter .2s,transform .2s}@keyframes fadeInSkillIcon{to{opacity:1;transform:scale(1) translateY(0)}}@keyframes iconFloatUpDown{0%,to{transform:translateY(0)}50%{transform:translateY(-12px)}}@media (max-width: 900px){.skills-modern .container{padding:0 1rem}.skills-icon-modern-grid{gap:12px;grid-template-columns:repeat(auto-fit,minmax(70px,1fr))}.skill-icon-modern{width:70px;height:70px;border-radius:12px}.icon-svg-modern{width:44px;height:44px}.skill-label-modern{font-size:.8rem;max-width:80px;padding:3px 8px}}@media (max-width: 600px){.skills-modern{padding:24px 1rem 12px}.section-title{font-size:clamp(2rem,6vw,3rem);margin-bottom:12px}.skills-category-title{font-size:1.05rem;margin-bottom:6px}.skills-category-group{margin-bottom:18px}.skills-icon-modern-grid{gap:8px;grid-template-columns:repeat(auto-fit,minmax(50px,1fr))}.skill-icon-modern{width:50px;height:50px;border-radius:8px}.icon-svg-modern{width:28px;height:28px}.skill-label-modern{font-size:.7rem;max-width:60px;padding:2px 6px}}.contact{padding:5rem 0;background:var(--bg-primary)}.contact-content{display:grid;grid-template-columns:1fr 1fr;gap:4rem;align-items:start}.contact-info h3{font-size:1.35rem;font-weight:600;margin:0 0 1rem;color:var(--text-primary)}.contact-info p{font-size:1.1rem;line-height:1.6;color:var(--text-secondary);margin:0 0 2rem}.contact-list{list-style:none;padding:0;margin:0 0 2rem;display:flex;flex-direction:column;gap:1rem}.contact-list-item{display:flex;align-items:center;gap:1rem;min-height:28px}.contact-list-icon{width:28px;min-width:28px;height:28px;display:flex;align-items:center;justify-content:center;color:var(--accent-primary);flex-shrink:0}.contact-list-icon svg{width:22px;height:22px}.contact-list-link,.contact-list-text{font-size:1rem;color:var(--text-secondary);line-height:1;flex:1;min-width:0;display:flex;align-items:center}.contact-list-link{color:var(--accent-primary);text-decoration:none;transition:color .3s ease}.contact-list-link:hover{color:var(--accent-secondary)}.contact-list-btn{background:none;border:none;padding:0;margin:0;font:inherit;cursor:pointer;text-align:left;flex:1;min-width:0;display:flex;align-items:center;line-height:1}.contact-social-links{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.contact-form{background:var(--bg-secondary);padding:2rem;border-radius:15px;border:1px solid var(--border-color)}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:var(--text-primary)}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;transition:all var(--transition-normal) var(--smooth);box-sizing:border-box;background:var(--bg-primary);color:var(--text-primary);transform:translateY(0)}.form-group input:hover,.form-group textarea:hover{transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-light)}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--accent-primary);box-shadow:0 0 0 3px #aa51491a;transform:translateY(-2px) scale(1.02)}.form-group textarea{resize:vertical;min-height:120px}@media (max-width: 768px){.contact{padding:2rem 0}.contact-content{grid-template-columns:1fr;gap:1.5rem}.contact-info h3{font-size:1.5rem}.contact-info p{font-size:.95rem}.contact-list{gap:.5rem}.contact-list-icon svg{width:20px;height:20px}.contact-list-link,.contact-list-text{font-size:.95rem}.contact-form{padding:1rem}.form-group input,.form-group textarea{padding:.6rem;font-size:16px}.contact-social-links{justify-content:center}}@media (max-width: 480px){.contact{padding:1.5rem 0}.contact-info h3{font-size:1.35rem}.contact-list-link,.contact-list-text{font-size:.9rem}.contact-form{padding:.75rem}.form-group{margin-bottom:.75rem}.form-group input,.form-group textarea{padding:.5rem}.form-group label{font-size:.85rem}}.success-message{margin-top:1rem;padding:1rem;background:#22c55e1a;border:1px solid rgba(34,197,94,.3);border-radius:8px;color:#16a34a}.success-message p{margin:0;font-weight:500}.error-message{margin-top:1rem;padding:1rem;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:8px;color:#dc2626}.error-message p{margin:0;font-weight:500}.contact-submit-btn{padding:8px 20px;background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:8px;color:#fff;font-weight:500;font-size:.9rem;cursor:pointer;transition:all .25s ease}.contact-submit-btn:hover:not(:disabled){background:var(--accent-secondary);border-color:var(--accent-secondary);color:#fff}.contact-submit-btn:disabled{opacity:.6;cursor:not-allowed}.scroll-progress-container{position:fixed;bottom:0;left:0;right:0;width:100%;z-index:1000;background:transparent}.scroll-progress-bar{width:100%;height:4px;background:var(--shadow-light);position:relative}.scroll-progress-fill{height:100%;background:var(--gradient-primary);transition:width .3s ease;position:relative;box-shadow:0 0 10px #aa514980}.scroll-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.6),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.scroll-progress-text{font-size:.75rem;font-weight:600;color:var(--text-primary);min-width:30px;text-align:center}.back-to-top-button{position:fixed;bottom:2rem;right:2rem;width:56px;height:56px;border-radius:50%;background:var(--accent-primary, #6c63ff);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px #00000026;transition:all .3s ease;z-index:1000;opacity:0;transform:translateY(20px);animation:fadeInUp .3s ease forwards}.back-to-top-button:hover{background:var(--accent-secondary, #4834d4);transform:translateY(-2px);box-shadow:0 6px 25px #0003}.back-to-top-button:active{transform:translateY(0)}.back-to-top-button svg{transition:transform .2s ease}.back-to-top-button:hover svg{transform:translateY(-2px)}@keyframes fadeInUp{to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.back-to-top-button{width:50px;height:50px;bottom:1.5rem;right:1.5rem}.back-to-top-button svg{width:20px;height:20px}}@media (max-width: 480px){.back-to-top-button{width:48px;height:48px;bottom:1rem;right:1rem}.back-to-top-button svg{width:18px;height:18px}}.mario-character{position:absolute;bottom:12px;transform:translate(-50%);transition:left .3s ease;z-index:1001}.mario-sprite{width:32px;height:40px;position:relative;animation:marioRun .6s infinite}.mario-body{width:100%;height:100%;position:relative}.mario-head{width:16px;height:16px;background:#ffdbac;border-radius:50%;position:absolute;top:0;left:8px;z-index:3}.mario-hat{width:18px;height:8px;background:red;border-radius:8px 8px 0 0;position:absolute;top:-4px;left:-1px;z-index:4}.mario-face{position:relative;width:100%;height:100%}.mario-eye{width:2px;height:2px;background:#000;border-radius:50%;position:absolute;top:6px}.mario-eye.left{left:4px}.mario-eye.right{right:4px}.mario-mouth{width:4px;height:2px;background:#000;border-radius:0 0 4px 4px;position:absolute;bottom:3px;left:6px}.mario-torso{width:16px;height:12px;position:absolute;top:14px;left:8px;z-index:2}.mario-shirt{width:100%;height:8px;background:red;border-radius:4px}.mario-overalls{width:100%;height:12px;background:#06c;border-radius:0 0 4px 4px;position:relative}.mario-overalls:before{content:"";width:4px;height:6px;background:#ffdbac;position:absolute;top:2px;left:6px;border-radius:2px}.mario-overalls:after{content:"";width:4px;height:6px;background:#ffdbac;position:absolute;top:2px;right:6px;border-radius:2px}.mario-arms{position:absolute;top:16px;left:0;width:100%;height:8px;z-index:1}.mario-arm{width:4px;height:8px;background:#ffdbac;border-radius:2px;position:absolute;top:0}.mario-arm.left{left:4px;animation:armSwing .6s infinite}.mario-arm.right{right:4px;animation:armSwing .6s infinite reverse}.mario-legs{position:absolute;bottom:0;left:0;width:100%;height:8px;z-index:1}.mario-leg{width:4px;height:8px;background:#06c;border-radius:2px;position:absolute;bottom:0}.mario-leg.left{left:8px;animation:legRun .6s infinite}.mario-leg.right{right:8px;animation:legRun .6s infinite reverse}@keyframes marioRun{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes armSwing{0%,to{transform:rotate(-15deg)}50%{transform:rotate(15deg)}}@keyframes legRun{0%,to{transform:rotate(-10deg)}50%{transform:rotate(10deg)}}@media (max-width: 768px){.scroll-progress-bar{height:3px}.mario-sprite{width:24px;height:30px}.mario-head{width:12px;height:12px;left:6px}.mario-hat{width:14px;height:6px;top:-3px}.mario-torso{width:12px;height:9px;top:10px;left:6px}.mario-arms{top:12px}.mario-legs{height:6px}.back-to-top-fab{width:50px;height:50px;font-size:1.1rem;right:1.5rem;bottom:1.5rem}.scroll-progress-fab{width:50px;height:50px;min-width:50px;min-height:50px;font-size:1.1rem;right:1.5rem;bottom:1.5rem}.scroll-progress-svg{width:50px;height:50px}}@media (max-width: 480px){.scroll-progress-bar{height:2px}.mario-sprite{width:20px;height:25px}.back-to-top-fab{width:48px;height:48px;font-size:1rem;right:1rem;bottom:1rem}.scroll-progress-fab{width:48px;height:48px;min-width:48px;min-height:48px;font-size:1rem;right:1rem;bottom:1rem}.scroll-progress-svg{width:48px;height:48px}}.scroll-progress-container.hidden{opacity:0;pointer-events:none}.scroll-progress-fab{position:fixed;right:2.2rem;bottom:2.2rem;z-index:1000;width:56px;height:56px;min-width:44px;min-height:44px;border-radius:50%;background:var(--scroll-progress-bg, #181828);color:var(--scroll-progress-fg, #fff);border:none;box-shadow:0 6px 32px #3c3c7838,0 0 0 4px var(--scroll-progress-glow, #6c63ff33);display:flex;align-items:center;justify-content:center;font-size:1.15rem;font-weight:700;cursor:pointer;transition:background .2s,box-shadow .2s,transform .2s;outline:none;overflow:hidden;touch-action:manipulation;padding:0}.scroll-progress-fab.popout{box-shadow:0 8px 36px #3c3c7847,0 0 0 6px var(--scroll-progress-glow, #6c63ff44)}.scroll-progress-fab:hover,.scroll-progress-fab:focus{background:var(--accent-secondary, #4834d4);box-shadow:0 12px 40px #3c3c7852,0 0 0 10px var(--accent-primary, #6c63ff55);transform:scale(1.09) translateY(-2px)}.scroll-progress-svg{position:absolute;left:0;top:0;width:56px;height:56px;pointer-events:none;z-index:1}.scroll-progress-bg{stroke:var(--scroll-progress-track, #fff2);opacity:.35}.scroll-progress-ring{stroke:var(--accent-primary, #6c63ff);transition:stroke-dashoffset .3s cubic-bezier(.4,2,.6,1);stroke-linecap:round;filter:drop-shadow(0 0 6px var(--accent-primary, #6c63ff55))}.scroll-progress-arrow{display:block;font-size:1.25rem;font-weight:900;line-height:1;margin-bottom:.1rem;margin-top:.2rem;letter-spacing:.05em;transition:transform .18s cubic-bezier(.4,2,.6,1)}.scroll-progress-fab:hover .scroll-progress-arrow{transform:translateY(-4px) scale(1.12)}.scroll-progress-percent{position:relative;z-index:2;font-size:.95rem;font-weight:800;letter-spacing:.5px;-webkit-user-select:none;user-select:none;text-align:center;color:var(--scroll-progress-fg, #fff);text-shadow:0 2px 8px rgba(0,0,0,.18),0 0 2px var(--scroll-progress-glow, #6c63ff44)}@media (max-width: 600px){.scroll-progress-fab{width:48px;height:48px;min-width:48px;min-height:48px;font-size:1rem;right:1rem;bottom:1rem;border-radius:50%;padding:0}.scroll-progress-svg{width:48px;height:48px}.scroll-progress-arrow{font-size:1rem;margin-top:.1rem;margin-bottom:.05rem}.scroll-progress-percent{font-size:.85rem}}:root{--scroll-progress-bg: #181828;--scroll-progress-fg: #fff;--scroll-progress-track: #fff2;--scroll-progress-glow: #6c63ff33}@media (prefers-color-scheme: light){:root{--scroll-progress-bg: #fff;--scroll-progress-fg: #222;--scroll-progress-track: #2222;--scroll-progress-glow: #6c63ff22}}.App{min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-overflow-scrolling:touch}main{padding-top:0;padding-left:90px;width:100%}#home,#about,#timeline,#projects,#skills,#contact{scroll-margin-top:90px}@media (max-width: 1000px){#home,#about,#timeline,#projects,#skills,#contact{scroll-margin-top:48px}}@media (max-width: 768px){#home,#about,#timeline,#projects,#skills,#contact{scroll-margin-top:44px}}@media (max-width: 480px){#home,#about,#timeline,#projects,#skills,#contact{scroll-margin-top:40px}}@media (max-width: 1000px){main{padding-left:0;padding-top:48px}}@media (max-width: 768px){main{padding-top:44px}}@media (max-width: 480px){main{padding-top:40px}input,textarea,select{font-size:16px}}@media (max-width: 480px){.App{font-size:14px}}
