:root{--primary-hue:150;--primary-sat:65%;--primary-light:45%;--color-primary:hsl(var(--primary-hue), var(--primary-sat), var(--primary-light));--color-primary-light:hsl(var(--primary-hue), var(--primary-sat), 55%);--color-primary-dark:hsl(var(--primary-hue), var(--primary-sat), 35%);--color-primary-alpha:hsla(var(--primary-hue), var(--primary-sat), var(--primary-light), .1);--color-bg:#fafafa;--color-bg-secondary:#fff;--color-bg-tertiary:#f5f5f5;--color-text:#0f172a;--color-text-secondary:#475569;--color-text-tertiary:#94a3b8;--color-border:#e2e8f0;--color-shadow:#0f172a14;--color-shadow-lg:#0f172a1f;--gradient-primary:linear-gradient(135deg, hsl(var(--primary-hue), var(--primary-sat), var(--primary-light)), hsl(calc(var(--primary-hue) + 20), var(--primary-sat), calc(var(--primary-light) + 10%)));--gradient-bg:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-tertiary) 100%);--font-primary:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-display:"Poppins", var(--font-primary);--font-mono:"JetBrains Mono", "Fira Code", "SF Mono", Monaco, monospace;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1rem;--font-size-lg:1.125rem;--font-size-xl:1.25rem;--font-size-2xl:1.5rem;--font-size-3xl:1.875rem;--font-size-4xl:2.5rem;--font-size-5xl:3.5rem;--font-size-6xl:4.5rem;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:1.5rem;--spacing-xl:2rem;--spacing-2xl:3rem;--spacing-3xl:4rem;--spacing-4xl:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.5rem;--radius-3xl:2rem;--radius-full:9999px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-base:.25s cubic-bezier(.4, 0, .2, 1);--transition-slow:.35s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 2px 0 var(--color-shadow);--shadow-md:0 4px 6px -1px var(--color-shadow);--shadow-lg:0 10px 15px -3px var(--color-shadow);--shadow-xl:0 20px 25px -5px var(--color-shadow);--shadow-2xl:0 25px 50px -12px var(--color-shadow-lg);--navbar-height:70px;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070}[data-theme=dark]{--color-bg:#0a0a0a;--color-bg-secondary:#141414;--color-bg-tertiary:#1a1a1a;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-text-tertiary:#64748b;--color-border:#1e293b;--color-shadow:#0006;--color-shadow-lg:#0009;--gradient-bg:linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-tertiary) 100%)}[data-color-theme=ocean]{--primary-hue:200;--primary-sat:70%;--primary-light:50%}[data-color-theme=sunset]{--primary-hue:25;--primary-sat:85%;--primary-light:55%}[data-color-theme=forest]{--primary-hue:150;--primary-sat:65%;--primary-light:45%}[data-color-theme=lavender]{--primary-hue:270;--primary-sat:60%;--primary-light:55%}[data-color-theme=rose]{--primary-hue:340;--primary-sat:75%;--primary-light:55%}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{font-family:var(--font-primary);font-size:var(--font-size-base);color:var(--color-text);background:var(--gradient-bg);transition:background var(--transition-base), color var(--transition-base);line-height:1.7;overflow-x:hidden}::selection{background-color:var(--color-primary);color:#fff}::selection{background-color:var(--color-primary);color:#fff}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-primary);border-radius:var(--radius-full);transition:background var(--transition-fast)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary-dark)}a{color:inherit;transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-primary)}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:var(--radius-sm)}button{font-family:inherit;font-size:inherit;cursor:pointer;transition:all var(--transition-base);background:0 0;border:none}button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}img{max-width:100%;height:auto;display:block}.container{max-width:1200px;padding:0 var(--spacing-xl);margin:0 auto}@media (width<=768px){.container{padding:0 var(--spacing-md)}}.btn{justify-content:center;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl);border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-base);transition:all var(--transition-base);white-space:nowrap;display:inline-flex;position:relative;overflow:hidden}.btn:before{content:"";background:#fff3;border-radius:50%;width:0;height:0;transition:width .6s,height .6s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.btn:hover:before{width:300px;height:300px}.btn span,.btn i{z-index:1;position:relative}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 15px var(--color-primary-alpha)}.btn-primary:hover{box-shadow:0 8px 25px var(--color-primary-alpha);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:var(--color-bg-secondary);color:var(--color-text);border:2px solid var(--color-border)}.btn-secondary:hover{border-color:var(--color-primary);color:var(--color-primary);box-shadow:var(--shadow-md);transform:translateY(-2px)}.btn-secondary:active{transform:translateY(0)}.section-header{text-align:center;margin-bottom:var(--spacing-4xl)}.section-tag{padding:var(--spacing-xs) var(--spacing-lg);background:var(--color-primary-alpha);color:var(--color-primary);border-radius:var(--radius-full);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.1em;margin-bottom:var(--spacing-lg);font-weight:700;display:inline-block}.section-title{font-family:var(--font-display);font-size:var(--font-size-4xl);color:var(--color-text);margin-bottom:var(--spacing-md);font-weight:800;line-height:1.2}@media (width<=768px){.section-title{font-size:var(--font-size-3xl)}}.card{background:var(--color-bg-secondary);border-radius:var(--radius-2xl);padding:var(--spacing-xl);transition:all var(--transition-base);border:1px solid var(--color-border)}.card:hover{box-shadow:var(--shadow-2xl);border-color:var(--color-primary);transform:translateY(-8px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes ripple{to{opacity:0;transform:scale(4)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.animate-on-scroll{opacity:0;transition:opacity .6s,transform .6s;transform:translateY(30px)}.animate-on-scroll.animated{opacity:1;transform:translateY(0)}.animate-delay-1{transition-delay:.1s}.animate-delay-2{transition-delay:.2s}.animate-delay-3{transition-delay:.3s}.text-center{text-align:center}.text-gradient{background:var(--gradient-primary);-webkit-text-fill-color:transparent;background-clip:text}.hidden{display:none!important}.visible{display:block!important}@media (width<=768px){.hide-mobile{display:none!important}}@media (width>=769px){.hide-desktop{display:none!important}}.navbar{height:var(--navbar-height);background:var(--color-bg-secondary);transition:all var(--transition-base);z-index:var(--z-fixed);border-bottom:1px solid #0000;position:fixed;top:0;left:0;right:0}.navbar.scrolled{-webkit-backdrop-filter:blur(20px);border-bottom-color:var(--color-border);box-shadow:var(--shadow-sm);background:#fffc}[data-theme=dark] .navbar.scrolled{background:#0a0a0acc}.nav-container{max-width:1400px;padding:0 var(--spacing-xl);justify-content:space-between;align-items:center;height:100%;margin:0 auto;display:flex}.nav-brand{align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xl);color:var(--color-text);font-weight:700;display:flex}.brand-icon{font-size:var(--font-size-2xl)}.nav-menu{gap:var(--spacing-lg);display:flex}.nav-link{padding:var(--spacing-sm) var(--spacing-md);color:var(--color-text-secondary);transition:color var(--transition-fast);font-weight:500;position:relative}.nav-link:after{content:"";background:var(--gradient-primary);width:0;height:2px;transition:width var(--transition-base);position:absolute;bottom:0;left:50%;transform:translate(-50%)}.nav-link:hover,.nav-link.active{color:var(--color-primary)}.nav-link.active:after{width:80%}.nav-controls{align-items:center;gap:var(--spacing-md);display:flex}.theme-colors{gap:var(--spacing-xs);padding:var(--spacing-xs);background:var(--color-bg-tertiary);border-radius:var(--radius-full);display:flex}.color-btn{width:28px;height:28px;transition:all var(--transition-fast);border:2px solid #0000;border-radius:50%;position:relative}.color-btn:hover{transform:scale(1.1)}.color-btn.active{border-color:var(--color-primary)}.color-dot{border-radius:50%;width:100%;height:100%;display:block}.color-btn[data-theme=ocean] .color-dot{background:linear-gradient(135deg,#3b82f6,#06b6d4)}.color-btn[data-theme=sunset] .color-dot{background:linear-gradient(135deg,#f97316,#fb923c)}.color-btn[data-theme=forest] .color-dot{background:linear-gradient(135deg,#10b981,#34d399)}.color-btn[data-theme=lavender] .color-dot{background:linear-gradient(135deg,#8b5cf6,#a78bfa)}.color-btn[data-theme=rose] .color-dot{background:linear-gradient(135deg,#ec4899,#f472b6)}.mode-toggle{border-radius:var(--radius-lg);background:var(--color-bg-tertiary);justify-content:center;align-items:center;width:40px;height:40px;display:flex;position:relative}.mode-toggle:hover{background:var(--color-primary-alpha);color:var(--color-primary)}.light-icon,.dark-icon{transition:all var(--transition-base);position:absolute}[data-theme=light] .light-icon{opacity:1;transform:rotate(0)}[data-theme=light] .dark-icon{opacity:0;transform:rotate(180deg)}[data-theme=dark] .light-icon{opacity:0;transform:rotate(-180deg)}[data-theme=dark] .dark-icon{opacity:1;transform:rotate(0)}.menu-toggle{flex-direction:column;justify-content:center;align-items:center;gap:5px;width:40px;height:40px;display:none}.menu-toggle span{background:var(--color-text);width:24px;height:2px;transition:all var(--transition-base)}.menu-toggle.active span:first-child{transform:rotate(45deg)translate(7px,7px)}.menu-toggle.active span:nth-child(2){opacity:0}.menu-toggle.active span:nth-child(3){transform:rotate(-45deg)translate(7px,-7px)}@media (width<=768px){.nav-menu{top:var(--navbar-height);background:var(--color-bg-secondary);padding:var(--spacing-xl);gap:var(--spacing-md);opacity:0;visibility:hidden;transition:all var(--transition-base);border-bottom:1px solid var(--color-border);flex-direction:column;position:fixed;left:0;right:0;transform:translateY(-100%)}.nav-menu.active{opacity:1;visibility:visible;transform:translateY(0)}.menu-toggle{display:flex}.theme-colors{display:none}}.hero-section{min-height:100vh;padding:calc(var(--navbar-height) + var(--spacing-4xl)) var(--spacing-xl) var(--spacing-4xl);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.hero-background{z-index:0;position:absolute;inset:0;overflow:hidden}.gradient-orb{filter:blur(80px);opacity:.3;border-radius:50%;animation:8s ease-in-out infinite float;position:absolute}.orb-1{background:var(--gradient-primary);width:500px;height:500px;animation-delay:0s;top:-200px;left:-200px}.orb-2{background:var(--gradient-primary);width:400px;height:400px;animation-delay:2s;bottom:-150px;right:-150px}.orb-3{background:var(--gradient-primary);width:300px;height:300px;animation-delay:4s;top:50%;left:50%;transform:translate(-50%,-50%)}.hero-content{gap:var(--spacing-4xl);z-index:1;grid-template-columns:1fr 1fr;align-items:center;max-width:1400px;margin:0 auto;display:grid;position:relative}.hero-text{animation:.8s fadeInUp}.greeting{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-xl);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);display:flex}.wave{animation:2s ease-in-out infinite wave;display:inline-block}@keyframes wave{0%,to{transform:rotate(0)}10%,30%{transform:rotate(14deg)}20%{transform:rotate(-8deg)}40%{transform:rotate(-4deg)}50%{transform:rotate(10deg)}}.hero-title{font-family:var(--font-display);font-size:var(--font-size-6xl);margin-bottom:var(--spacing-xl);font-weight:900;line-height:1.1}.title-line{display:block}.title-line:first-child{background:var(--gradient-primary);-webkit-text-fill-color:transparent;background-clip:text}.hero-description{font-size:var(--font-size-lg);color:var(--color-text-secondary);margin-bottom:var(--spacing-xl);align-items:center;min-height:3.6em;line-height:1.8;display:flex}.typewriter-text{display:inline-block}.typewriter-cursor{color:var(--color-primary);margin-left:2px;animation:1s step-end infinite blink;display:inline-block}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.hero-tags{gap:var(--spacing-sm);margin-bottom:var(--spacing-2xl);flex-wrap:wrap;display:flex}.tag{padding:var(--spacing-xs) var(--spacing-md);background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-full);font-size:var(--font-size-sm);color:var(--color-text-secondary);transition:all var(--transition-fast);font-weight:500}.tag:hover{border-color:var(--color-primary);color:var(--color-primary);transform:translateY(-2px)}.hero-actions{gap:var(--spacing-md);display:flex}.hero-visual{animation:.8s .2s both fadeInUp}.visual-card{transition:transform .3s;position:relative}.card-glow{background:var(--gradient-primary);border-radius:var(--radius-2xl);filter:blur(40px);opacity:.3;z-index:-1;position:absolute;inset:-20px}.code-window{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);overflow:hidden}.window-header{align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);display:flex}.window-dots{gap:var(--spacing-xs);display:flex}.dot{border-radius:50%;width:12px;height:12px}.dot.red{background:#ff5f56}.dot.yellow{background:#ffbd2e}.dot.green{background:#27c93f}.window-title{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.window-content{padding:var(--spacing-xl)}.window-content pre{font-family:var(--font-mono);font-size:var(--font-size-sm);color:var(--color-text);line-height:1.8}.code-keyword{color:#c678dd}.code-variable{color:#e06c75}.code-property{color:#61afef}.code-string{color:#98c379}.scroll-indicator{bottom:var(--spacing-2xl);align-items:center;gap:var(--spacing-sm);color:var(--color-text-tertiary);font-size:var(--font-size-sm);flex-direction:column;animation:2s ease-in-out infinite pulse;display:flex;position:absolute;left:50%;transform:translate(-50%)}.mouse{border:2px solid var(--color-text-tertiary);border-radius:var(--radius-full);width:24px;height:36px;position:relative}.wheel{background:var(--color-text-tertiary);border-radius:var(--radius-full);width:3px;height:8px;animation:2s ease-in-out infinite scroll;position:absolute;top:8px;left:50%;transform:translate(-50%)}@keyframes scroll{0%,to{opacity:0;transform:translate(-50%)translateY(0)}50%{opacity:1;transform:translate(-50%)translateY(8px)}}@media (width<=1024px){.hero-content{gap:var(--spacing-2xl);grid-template-columns:1fr}.hero-visual{order:-1}.hero-title{font-size:var(--font-size-5xl)}}@media (width<=768px){.hero-title{font-size:var(--font-size-4xl)}.hero-actions{flex-direction:column}.btn{width:100%}}.about-section{padding:var(--spacing-4xl) 0;background:var(--color-bg)}.about-content{gap:var(--spacing-xl);grid-template-columns:repeat(auto-fit,minmax(280px,1fr));display:grid}.about-card{background:var(--color-bg-secondary);padding:var(--spacing-2xl);border-radius:var(--radius-2xl);border:1px solid var(--color-border);transition:all var(--transition-base)}.about-card:hover{box-shadow:var(--shadow-2xl);border-color:var(--color-primary);transform:translateY(-8px)}.card-icon{background:var(--color-primary-alpha);width:60px;height:60px;color:var(--color-primary);border-radius:var(--radius-xl);font-size:var(--font-size-2xl);margin-bottom:var(--spacing-lg);justify-content:center;align-items:center;display:flex}.about-card h3{font-size:var(--font-size-xl);margin-bottom:var(--spacing-md);color:var(--color-text);font-weight:700}.about-card p{color:var(--color-text-secondary);line-height:1.8}.skills-section{padding:var(--spacing-4xl) 0;background:var(--color-bg-secondary)}.skills-grid{gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fit,minmax(300px,1fr));display:grid}.skill-category{background:var(--color-bg);padding:var(--spacing-2xl);border-radius:var(--radius-2xl);border:1px solid var(--color-border)}.category-title{align-items:center;gap:var(--spacing-md);font-size:var(--font-size-xl);margin-bottom:var(--spacing-xl);color:var(--color-text);font-weight:700;display:flex}.category-title i{color:var(--color-primary)}.skill-items{gap:var(--spacing-lg);flex-direction:column;display:flex}.skill-item{gap:var(--spacing-sm);flex-direction:column;display:flex}.skill-info{justify-content:space-between;align-items:center;display:flex}.skill-name{color:var(--color-text);font-weight:600}.skill-level{font-size:var(--font-size-sm);color:var(--color-primary);font-weight:600}.skill-bar{background:var(--color-bg-tertiary);border-radius:var(--radius-full);height:8px;overflow:hidden}.skill-progress{background:var(--gradient-primary);border-radius:var(--radius-full);height:100%;transition:width 1s}.projects-section{padding:var(--spacing-4xl) 0;background:var(--color-bg)}.projects-grid{gap:var(--spacing-2xl);grid-template-columns:repeat(auto-fill,minmax(350px,1fr));display:grid}.project-card{background:var(--color-bg-secondary);border-radius:var(--radius-2xl);border:1px solid var(--color-border);transition:all var(--transition-base);overflow:hidden}.project-card:hover{box-shadow:var(--shadow-2xl);border-color:var(--color-primary);transform:translateY(-8px)}.project-image{aspect-ratio:16/10;position:relative;overflow:hidden}.project-image img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-slow)}.project-card:hover .project-image img{transform:scale(1.05)}.project-overlay{padding:var(--spacing-lg);opacity:0;transition:opacity var(--transition-base);background:linear-gradient(#0000,#000c);align-items:flex-end;display:flex;position:absolute;inset:0}.project-card:hover .project-overlay{opacity:1}.project-overlay-title{color:#fff;font-weight:600}.project-content{padding:var(--spacing-xl)}.project-title{font-size:var(--font-size-xl);margin-bottom:var(--spacing-sm);color:var(--color-text);font-weight:700}.project-description{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);line-height:1.7}.project-tech{gap:var(--spacing-xs);margin-bottom:var(--spacing-lg);flex-wrap:wrap;display:flex}.tech-tag{padding:var(--spacing-xs) var(--spacing-sm);background:var(--color-primary-alpha);color:var(--color-primary);border-radius:var(--radius-md);font-size:var(--font-size-xs);font-weight:600}.project-links{gap:var(--spacing-md);display:flex}.project-link{align-items:center;gap:var(--spacing-xs);padding:var(--spacing-sm) var(--spacing-md);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--font-size-sm);transition:all var(--transition-fast);font-weight:500;display:flex}.project-link:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}@media (width<=768px){.projects-grid{grid-template-columns:1fr}}.contact-section{padding:var(--spacing-4xl) 0;background:var(--color-bg-secondary)}.contact-content{gap:var(--spacing-4xl);grid-template-columns:1fr 1fr;display:grid}.contact-info{gap:var(--spacing-xl);flex-direction:column;display:flex}.contact-item{gap:var(--spacing-lg);padding:var(--spacing-xl);background:var(--color-bg);border-radius:var(--radius-xl);border:1px solid var(--color-border);transition:all var(--transition-base);display:flex}.contact-item:hover{border-color:var(--color-primary);transform:translate(8px)}.contact-icon{background:var(--color-primary-alpha);width:50px;height:50px;color:var(--color-primary);border-radius:var(--radius-lg);font-size:var(--font-size-xl);flex-shrink:0;justify-content:center;align-items:center;display:flex}.contact-details h4{font-size:var(--font-size-base);margin-bottom:var(--spacing-xs);color:var(--color-text);font-weight:600}.contact-details a,.contact-details span{color:var(--color-text-secondary);transition:color var(--transition-fast)}.contact-details a:hover{color:var(--color-primary)}.contact-cta{text-align:center;padding:var(--spacing-3xl);background:var(--gradient-primary);border-radius:var(--radius-2xl);color:#fff;flex-direction:column;justify-content:center;align-items:center;display:flex}.contact-cta h3{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-md);font-weight:700}.contact-cta p{font-size:var(--font-size-lg);margin-bottom:var(--spacing-2xl);opacity:.9}.contact-cta .btn-primary{color:var(--color-primary);background:#fff}.contact-cta .btn-primary:hover{transform:translateY(-4px);box-shadow:0 8px 25px #0003}@media (width<=1024px){.contact-content{grid-template-columns:1fr}}.footer{padding:var(--spacing-2xl) 0;background:var(--color-bg);border-top:1px solid var(--color-border)}.footer-content{justify-content:space-between;align-items:center;display:flex}.footer-content p{color:var(--color-text-secondary)}.social-links{gap:var(--spacing-md);display:flex}.social-links a{background:var(--color-bg-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:40px;height:40px;color:var(--color-text-secondary);transition:all var(--transition-fast);justify-content:center;align-items:center;display:flex}.social-links a:hover{background:var(--color-primary);border-color:var(--color-primary);color:#fff;transform:translateY(-2px)}@media (width<=768px){.footer-content{gap:var(--spacing-lg);text-align:center;flex-direction:column}}.back-to-top{bottom:var(--spacing-xl);right:var(--spacing-xl);background:var(--gradient-primary);color:#fff;border-radius:var(--radius-full);width:50px;height:50px;box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-fixed);justify-content:center;align-items:center;display:flex;position:fixed;transform:translateY(20px)}.back-to-top.visible{opacity:1;visibility:visible;transform:translateY(0)}.back-to-top:hover{box-shadow:var(--shadow-xl);transform:translateY(-4px)}
/*$vite$:1*/