.home-section[data-v-4989be81]{padding:var(--space-xs) 0;min-height:80vh;display:flex;align-items:center}.hero-content[data-v-4989be81]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4xl);align-items:center;margin-bottom:var(--space-4xl)}.hero-title[data-v-4989be81]{font-size:var(--font-size-4xl);font-weight:800;line-height:1.1;margin-bottom:var(--space-lg);letter-spacing:-2px;color:var(--text-primary)}.gradient-text[data-v-4989be81]{background:var(--gradient-blue);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.gradient-text[data-v-4989be81]:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--gradient-blue);border-radius:1px}.hero-subtitle[data-v-4989be81]{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.6;max-width:500px;font-weight:400}.hero-actions[data-v-4989be81]{display:flex;gap:var(--space-lg);flex-wrap:wrap}.hero-image[data-v-4989be81]{display:flex;justify-content:center;align-items:center;position:relative}.image-wrapper[data-v-4989be81]{position:relative;display:inline-block}.hero-image img[data-v-4989be81]{width:250px;height:250px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-lg);border:8px solid var(--bg-secondary);transition:all var(--transition-slow);position:relative;z-index:2}.hero-image img[data-v-4989be81]:hover{transform:scale(1.05) rotate(2deg);box-shadow:var(--shadow-xl)}.features-grid[data-v-4989be81]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-xl);margin-top:var(--space-4xl)}.feature-card[data-v-4989be81]{text-align:center;animation:fadeInUp .6s ease-out both;padding:var(--space-xl);border:1px solid rgba(0,0,0,.03);transition:box-shadow .3s,transform .3s;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);will-change:transform,box-shadow}.feature-card[data-v-4989be81]:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--shadow-lg);z-index:2}.feature-icon[data-v-4989be81]{font-size:2.2em;margin-bottom:var(--space-md);display:block;transition:transform var(--transition-base);width:64px;height:64px;background:var(--gradient-blue);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;color:var(--text-inverse);margin:0 auto var(--space-md);box-shadow:var(--shadow-sm)}.feature-title[data-v-4989be81]{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.3px}.feature-desc[data-v-4989be81]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;font-weight:400}@media (max-width: 768px){.hero-content[data-v-4989be81]{grid-template-columns:1fr;gap:var(--space-2xl);text-align:center}.hero-title[data-v-4989be81]{font-size:var(--font-size-5xl)}.hero-subtitle[data-v-4989be81]{font-size:var(--font-size-lg)}.hero-image img[data-v-4989be81]{width:180px;height:180px}.image-glow[data-v-4989be81]{width:200px;height:200px}.features-grid[data-v-4989be81]{grid-template-columns:1fr;gap:var(--space-lg)}.feature-card[data-v-4989be81]{padding:var(--space-xl) var(--space-lg)}}@media (max-width: 480px){.hero-title[data-v-4989be81]{font-size:var(--font-size-4xl)}.hero-actions[data-v-4989be81]{flex-direction:column;align-items:center}.btn[data-v-4989be81]{width:100%;max-width:280px}.hero-image img[data-v-4989be81]{width:140px;height:140px}.image-glow[data-v-4989be81]{width:160px;height:160px}}.animated-title[data-v-4989be81]{animation:fadeInScale-4989be81 1.1s cubic-bezier(.4,0,.2,1)}.animated-gradient[data-v-4989be81]{animation:gradientTextIn-4989be81 1.2s .2s cubic-bezier(.4,0,.2,1) both}@keyframes fadeInScale-4989be81{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes gradientTextIn-4989be81{0%{opacity:0;letter-spacing:.2em}to{opacity:1;letter-spacing:-2px}}.btn-glow[data-v-4989be81]{position:relative;z-index:1;overflow:visible}.btn-glow[data-v-4989be81]:before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(1);width:120%;height:120%;background:var(--gradient-blue-hover);filter:blur(16px);opacity:.18;border-radius:999px;z-index:-1;transition:opacity .3s}.btn-glow[data-v-4989be81]:hover:before{opacity:.32}.btn-glow[data-v-4989be81]:hover{box-shadow:0 6px 24px #2563eb2e,0 1.5px 6px #2563eb1a;transform:translateY(-2px) scale(1.04)}.services-section[data-v-608cdf0b]{padding:var(--space-xs) 0}.services-grid[data-v-608cdf0b]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-lg);margin-bottom:var(--space-4xl)}.animated-service-card[data-v-608cdf0b]{animation:fadeInScale-608cdf0b 1.1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInScale-608cdf0b{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.service-card[data-v-608cdf0b]{position:relative;overflow:hidden;animation:fadeInUp .6s ease-out both;border:1px solid rgba(0,0,0,.03);background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);transition:box-shadow .3s,transform .3s;will-change:transform,box-shadow}.service-card[data-v-608cdf0b]:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--shadow-lg);z-index:2}.service-card[data-v-608cdf0b]:hover:before{transform:scaleX(1)}.service-icon[data-v-608cdf0b]{margin-bottom:var(--space-md)}.icon-wrapper[data-v-608cdf0b]{width:56px;height:56px;background:var(--gradient-blue);border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;font-size:1.5em;color:var(--text-inverse);box-shadow:var(--shadow-sm);transition:all var(--transition-base)}.service-card:hover .icon-wrapper[data-v-608cdf0b]{transform:scale(1.08);box-shadow:var(--shadow-md)}.service-title[data-v-608cdf0b]{font-size:var(--font-size-xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.5px}.service-desc[data-v-608cdf0b]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-md);font-weight:500}.service-features[data-v-608cdf0b]{list-style:none;padding:0}.service-features li[data-v-608cdf0b]{position:relative;padding-left:var(--space-md);margin-bottom:var(--space-xs);color:var(--text-secondary);font-size:var(--font-size-sm);transition:color var(--transition-base);font-weight:500}.service-features li[data-v-608cdf0b]:before{content:"✓";position:absolute;left:0;color:var(--main-blue);font-weight:700;font-size:var(--font-size-base)}.service-card:hover .service-features li[data-v-608cdf0b]{color:var(--text-primary)}.cta-section[data-v-608cdf0b]{text-align:center;animation:fadeInUp .6s ease-out both;animation-delay:.3s}.gradient-cta-card[data-v-608cdf0b]{position:relative;border:none;background:#fff;border-radius:18px;box-shadow:0 4px 24px #2563eb1a;padding:var(--space-2xl) var(--space-xl) var(--space-2xl) var(--space-xl);overflow:visible}.gradient-cta-card[data-v-608cdf0b]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:22px;background:linear-gradient(135deg,#2563eb,#60a5fa);z-index:0;filter:blur(6px);opacity:.18;pointer-events:none}.gradient-cta-card[data-v-608cdf0b]>*{position:relative;z-index:1}.cta-title[data-v-608cdf0b]{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.5px}.cta-desc[data-v-608cdf0b]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-xl);max-width:400px;margin-left:auto;margin-right:auto}@media (max-width: 768px){.services-grid[data-v-608cdf0b]{grid-template-columns:1fr;gap:var(--space-lg)}.service-card[data-v-608cdf0b]{padding:var(--space-lg)}.cta-title[data-v-608cdf0b]{font-size:var(--font-size-2xl)}.cta-desc[data-v-608cdf0b]{font-size:var(--font-size-base)}}@media (max-width: 480px){.services-grid[data-v-608cdf0b]{grid-template-columns:1fr}.service-card[data-v-608cdf0b]{padding:var(--space-md)}.icon-wrapper[data-v-608cdf0b]{width:40px;height:40px;font-size:1.2em}.service-title[data-v-608cdf0b]{font-size:var(--font-size-lg)}.cta-title[data-v-608cdf0b]{font-size:var(--font-size-xl)}}.projects-section[data-v-41378fdb]{padding:var(--space-xs) 0}.projects-grid[data-v-41378fdb]{display:flex;flex-direction:column;gap:var(--space-lg)}.project-card[data-v-41378fdb]{display:flex;background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);overflow:hidden;animation:fadeInUp .6s ease-out both;border:1px solid rgba(0,0,0,.03);transition:all var(--transition-base)}.project-card[data-v-41378fdb]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.project-image-wrapper[data-v-41378fdb]{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%);width:400px;min-width:400px;height:280px}.project-img[data-v-41378fdb]{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);display:block}.project-overlay[data-v-41378fdb]{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#2563eb14,#1d4ed814);opacity:0;transition:opacity var(--transition-base);display:flex;align-items:center;justify-content:center}.project-icon[data-v-41378fdb]{font-size:3em;opacity:.8;transform:scale(.8);transition:all var(--transition-base)}.project-card:hover .project-img[data-v-41378fdb]{transform:scale(1.05)}.project-card:hover .project-overlay[data-v-41378fdb]{opacity:0}.project-card:hover .project-icon[data-v-41378fdb]{transform:scale(.8)}.project-info[data-v-41378fdb]{padding:var(--space-xl);display:flex;flex-direction:column;flex:1;justify-content:space-between}.project-title[data-v-41378fdb]{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.3px}.project-desc[data-v-41378fdb]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-lg);flex:1;font-weight:400}.project-link[data-v-41378fdb]{display:inline-flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-base);font-weight:600;text-decoration:none;transition:all var(--transition-base);letter-spacing:.3px;margin-top:auto}.project-link svg[data-v-41378fdb]{transition:transform var(--transition-base)}.project-link:hover svg[data-v-41378fdb]{transform:translate(2px) translateY(-2px)}.project-link.disabled[data-v-41378fdb]{cursor:default}.project-link.disabled[data-v-41378fdb]:hover{transform:none;box-shadow:var(--shadow-sm);background:#49b1f51a}.project-link.btn[data-v-41378fdb]{height:48px;min-height:48px;max-height:48px;display:flex;align-items:center;justify-content:center;padding:0 var(--space-xl);font-size:var(--font-size-base);font-weight:600;letter-spacing:.2px;border-radius:var(--radius-lg);transition:all var(--transition-base);margin-top:auto;white-space:nowrap}.project-tips[data-v-41378fdb]{margin-top:auto;padding:var(--space-md) var(--space-xl);color:var(--text-secondary);background:#2563eb0f;border-radius:var(--radius-lg);font-size:var(--font-size-base);font-weight:600;text-align:center;border:1px solid rgba(37,99,235,.15);height:48px;display:flex;align-items:center;justify-content:center;letter-spacing:.2px;transition:all var(--transition-base);min-height:48px;max-height:48px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.project-tips[data-v-41378fdb]:hover{background:#2563eb1a;border-color:#2563eb40}@media (max-width: 900px){.project-card[data-v-41378fdb]{flex-direction:column}.project-image-wrapper[data-v-41378fdb]{width:100%;height:250px}.project-info[data-v-41378fdb]{padding:var(--space-lg)}}@media (max-width: 600px){.project-image-wrapper[data-v-41378fdb]{height:220px}.project-info[data-v-41378fdb]{padding:var(--space-lg)}.project-title[data-v-41378fdb]{font-size:var(--font-size-lg)}.project-desc[data-v-41378fdb]{font-size:var(--font-size-sm)}}@media (max-width: 480px){.project-image-wrapper[data-v-41378fdb]{height:200px}.project-info[data-v-41378fdb]{padding:var(--space-md)}}.animated-project-card[data-v-41378fdb]{animation:fadeInScale-41378fdb 1.1s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);transition:box-shadow .3s,transform .3s;will-change:transform,box-shadow;overflow:visible;position:relative}@keyframes fadeInScale-41378fdb{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.gradient-project-card[data-v-41378fdb]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius-xl) + 4px);background:linear-gradient(135deg,#2563eb,#60a5fa);z-index:0;filter:blur(6px);opacity:.13;pointer-events:none}.gradient-project-card[data-v-41378fdb]>*{position:relative;z-index:1}.project-card[data-v-41378fdb]:hover{transform:translateY(-8px) scale(1.03);box-shadow:var(--shadow-lg);z-index:2}.gradient-image-wrapper[data-v-41378fdb]{position:relative;border-radius:var(--radius-xl);overflow:hidden;box-shadow:0 2px 16px #2563eb14;background:linear-gradient(135deg,var(--bg-tertiary) 0%,var(--bg-secondary) 100%)}.gradient-image-wrapper[data-v-41378fdb]:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:calc(var(--radius-xl) + 2px);background:linear-gradient(135deg,#2563eb,#60a5fa);z-index:0;filter:blur(4px);opacity:.18;pointer-events:none}.gradient-image-wrapper[data-v-41378fdb]>*{position:relative;z-index:1}.project-img[data-v-41378fdb]{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow);display:block;border-radius:var(--radius-xl)}.project-card:hover .project-img[data-v-41378fdb]{transform:scale(1.06)}.animated-title[data-v-41378fdb]{font-size:var(--font-size-xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-md);letter-spacing:-.5px;animation:fadeInScale-41378fdb 1.1s cubic-bezier(.4,0,.2,1)}.project-desc[data-v-41378fdb]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-lg);flex:1;font-weight:500}.about-section[data-v-8ffad5bb]{padding:var(--space-xs) 0}.about-content[data-v-8ffad5bb]{max-width:700px;margin:0 auto;animation:fadeInUp .6s ease-out both;animation-delay:.2s}.about-card[data-v-8ffad5bb]{transition:all var(--transition-base);border:1px solid rgba(0,0,0,.03)}.about-card[data-v-8ffad5bb]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.about-header[data-v-8ffad5bb]{display:flex;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl);padding-bottom:var(--space-lg);border-bottom:1px solid rgba(0,0,0,.04)}.avatar-wrapper[data-v-8ffad5bb]{position:relative;display:inline-block}.about-avatar[data-v-8ffad5bb]{width:80px;height:80px;border-radius:50%;object-fit:cover;box-shadow:var(--shadow-sm);border:4px solid var(--bg-secondary);position:relative;z-index:2;transition:all var(--transition-base)}.about-avatar[data-v-8ffad5bb]:hover{transform:scale(1.05);box-shadow:var(--shadow-md)}.about-name[data-v-8ffad5bb]{font-size:var(--font-size-3xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.5px}.about-title[data-v-8ffad5bb]{font-size:var(--font-size-lg);color:var(--text-secondary);font-weight:500}.about-description[data-v-8ffad5bb]{margin-bottom:var(--space-2xl)}.about-description p[data-v-8ffad5bb]{font-size:var(--font-size-lg);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-md);font-weight:400}.skills-title[data-v-8ffad5bb]{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-lg);letter-spacing:-.3px}.skills-grid[data-v-8ffad5bb]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-md)}.skill-item[data-v-8ffad5bb]{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-md);background:#2563eb0a;border-radius:var(--radius-md);border:1px solid rgba(37,99,235,.08);transition:all var(--transition-base);animation:fadeInUp .6s ease-out both}.skill-item:hover .skill-icon[data-v-8ffad5bb]{transform:scale(1.05);box-shadow:var(--shadow-md)}.skill-info[data-v-8ffad5bb]{flex:1}.skill-name[data-v-8ffad5bb]{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs);letter-spacing:-.2px}.skill-level[data-v-8ffad5bb]{font-size:var(--font-size-sm);color:var(--text-secondary);font-weight:500}@media (max-width: 768px){.about-card[data-v-8ffad5bb]{padding:var(--space-xl) var(--space-lg);margin:0 var(--space-md)}.about-header[data-v-8ffad5bb]{flex-direction:column;text-align:center;gap:var(--space-md)}.skills-grid[data-v-8ffad5bb]{grid-template-columns:1fr}.skill-item[data-v-8ffad5bb]{padding:var(--space-md)}}@media (max-width: 480px){.about-avatar[data-v-8ffad5bb]{width:50px;height:50px}.about-name[data-v-8ffad5bb]{font-size:var(--font-size-2xl)}.about-title[data-v-8ffad5bb],.about-description p[data-v-8ffad5bb]{font-size:var(--font-size-base)}.skills-title[data-v-8ffad5bb]{font-size:var(--font-size-lg)}.skill-item[data-v-8ffad5bb]{padding:var(--space-sm)}.skill-icon[data-v-8ffad5bb]{width:35px;height:35px;font-size:1.2em}}.gradient-about-card[data-v-8ffad5bb]{position:relative;border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);background:var(--bg-secondary);transition:box-shadow .3s,transform .3s;will-change:transform,box-shadow;overflow:visible}.gradient-about-card[data-v-8ffad5bb]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius-xl) + 4px);background:linear-gradient(135deg,#2563eb,#60a5fa);z-index:0;filter:blur(6px);opacity:.13;pointer-events:none}.gradient-about-card[data-v-8ffad5bb]>*{position:relative;z-index:1}.animated-avatar[data-v-8ffad5bb]{transition:transform .3s,box-shadow .3s}.animated-avatar[data-v-8ffad5bb]:hover{transform:scale(1.08) rotate(2deg);box-shadow:var(--shadow-lg)}.animated-title[data-v-8ffad5bb]{font-size:var(--font-size-3xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.5px;animation:fadeInScale-8ffad5bb 1.1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInScale-8ffad5bb{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.animated-skill-item[data-v-8ffad5bb]{animation:fadeInScale-8ffad5bb 1.1s cubic-bezier(.4,0,.2,1);transition:box-shadow .3s,transform .3s}.skill-item[data-v-8ffad5bb]:hover{background:#2563eb21;transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-md)}.skill-icon[data-v-8ffad5bb]{font-size:1.5em;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:var(--gradient-blue);border-radius:var(--radius-sm);color:var(--text-inverse);transition:all var(--transition-base)}.toast-overlay[data-v-ccac3ccc]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.toast-container[data-v-ccac3ccc]{background:#fff;border-radius:var(--radius-lg);padding:var(--space-lg);max-width:400px;width:90%;box-shadow:var(--shadow-xl);display:flex;align-items:flex-start;gap:var(--space-md);border:1px solid rgba(0,0,0,.1);position:relative}.toast-container.success[data-v-ccac3ccc]{border-left:4px solid #10b981}.toast-container.error[data-v-ccac3ccc]{border-left:4px solid #ef4444}.toast-container.warning[data-v-ccac3ccc]{border-left:4px solid #f59e0b}.toast-container.info[data-v-ccac3ccc]{border-left:4px solid #3b82f6}.toast-icon[data-v-ccac3ccc]{flex-shrink:0;margin-top:2px}.toast-container.success .toast-icon[data-v-ccac3ccc]{color:#10b981}.toast-container.error .toast-icon[data-v-ccac3ccc]{color:#ef4444}.toast-container.warning .toast-icon[data-v-ccac3ccc]{color:#f59e0b}.toast-container.info .toast-icon[data-v-ccac3ccc]{color:#3b82f6}.toast-content[data-v-ccac3ccc]{flex:1;min-width:0}.toast-title[data-v-ccac3ccc]{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-xs)}.toast-message[data-v-ccac3ccc]{font-size:var(--font-size-base);color:var(--text-secondary);line-height:1.5}.toast-close[data-v-ccac3ccc]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:var(--space-xs);border-radius:var(--radius-sm);transition:all var(--transition-base);flex-shrink:0}.toast-close[data-v-ccac3ccc]:hover{background:#0000000d;color:var(--text-primary)}.toast-enter-active[data-v-ccac3ccc],.toast-leave-active[data-v-ccac3ccc]{transition:all .3s ease}.toast-enter-from[data-v-ccac3ccc],.toast-leave-to[data-v-ccac3ccc]{opacity:0;transform:scale(.9) translateY(-20px)}@media (max-width: 480px){.toast-container[data-v-ccac3ccc]{margin:var(--space-md);padding:var(--space-md)}.toast-title[data-v-ccac3ccc]{font-size:var(--font-size-base)}.toast-message[data-v-ccac3ccc]{font-size:var(--font-size-sm)}}.contact-section[data-v-a3069155]{padding:var(--space-xs) 0}.contact-content[data-v-a3069155]{max-width:500px;margin:0 auto;animation:fadeInUp .6s ease-out both;animation-delay:.2s}.contact-form[data-v-a3069155]{display:flex;flex-direction:column}.form-card[data-v-a3069155]{transition:all var(--transition-base)}.form-card[data-v-a3069155]:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.gradient-form-card[data-v-a3069155]{position:relative;border-radius:var(--radius-xl);box-shadow:var(--shadow-xs);background:var(--bg-secondary);transition:box-shadow .3s,transform .3s;will-change:transform,box-shadow;overflow:visible}.gradient-form-card[data-v-a3069155]:before{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:calc(var(--radius-xl) + 4px);background:linear-gradient(135deg,#2563eb,#60a5fa);z-index:0;filter:blur(6px);opacity:.13;pointer-events:none}.gradient-form-card[data-v-a3069155]>*{position:relative;z-index:1}.animated-title[data-v-a3069155]{font-size:var(--font-size-3xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.5px;animation:fadeInScale-a3069155 1.1s cubic-bezier(.4,0,.2,1)}@keyframes fadeInScale-a3069155{0%{opacity:0;transform:scale(.95) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}.form-group input[data-v-a3069155]:focus,.form-group textarea[data-v-a3069155]:focus{outline:none;border-color:var(--main-blue);background:var(--bg-secondary);box-shadow:0 0 0 6px #49b1f521;transform:translateY(-1.5px) scale(1.01)}.form-title[data-v-a3069155]{font-size:var(--font-size-3xl);font-weight:800;color:var(--text-primary);margin-bottom:var(--space-sm);letter-spacing:-.5px}.form-subtitle[data-v-a3069155]{font-size:var(--font-size-lg);color:var(--text-secondary);margin-bottom:var(--space-2xl);text-align:center;line-height:1.6;font-weight:500}.form-group[data-v-a3069155]{margin-bottom:var(--space-lg)}.form-group label[data-v-a3069155]{display:block;font-size:var(--font-size-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-sm)}.form-group input[data-v-a3069155],.form-group textarea[data-v-a3069155]{width:100%;padding:var(--space-md);border:2px solid rgba(0,0,0,.08);border-radius:var(--radius-md);font-size:var(--font-size-base);font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:all var(--transition-base);box-sizing:border-box}.form-group input[data-v-a3069155]::placeholder,.form-group textarea[data-v-a3069155]::placeholder{color:var(--text-secondary);opacity:.7}.submit-btn[data-v-a3069155]{width:100%;padding:var(--space-md);font-size:var(--font-size-lg);font-weight:600;margin-top:var(--space-md)}.submit-btn[data-v-a3069155]:disabled{opacity:.6;cursor:not-allowed;transform:none}.submit-btn[data-v-a3069155]:disabled:hover{transform:none;box-shadow:var(--shadow-sm)}@media (max-width: 768px){.form-card[data-v-a3069155]{padding:var(--space-xl) var(--space-lg);margin:0 var(--space-md)}.form-title[data-v-a3069155]{font-size:var(--font-size-2xl)}.form-subtitle[data-v-a3069155]{font-size:var(--font-size-base)}}@media (max-width: 480px){.form-card[data-v-a3069155]{padding:var(--space-lg) var(--space-md);margin:0}.form-title[data-v-a3069155]{font-size:var(--font-size-xl)}.form-group input[data-v-a3069155],.form-group textarea[data-v-a3069155]{padding:var(--space-sm);font-size:var(--font-size-sm)}.submit-btn[data-v-a3069155]{padding:var(--space-sm);font-size:var(--font-size-base)}}.theme-toggle[data-v-bfb7f0d5]{background:none;border:none;cursor:pointer;margin-right:12px;color:var(--text-primary);font-size:1.2em;display:flex;align-items:center;transition:color .2s;outline:none}.theme-toggle[data-v-bfb7f0d5]:focus{outline:none;box-shadow:none}.theme-toggle[data-v-bfb7f0d5]:active{outline:none;box-shadow:none}.theme-toggle[data-v-bfb7f0d5]:hover{color:var(--main-blue)}:root{--main-blue: #2563eb;--main-blue-dark: #1d4ed8;--main-blue-light: #3b82f6;--main-blue-lighter: #60a5fa;--text-primary: #111827;--text-secondary: #4b5563;--text-tertiary: #6b7280;--text-inverse: #ffffff;--bg-primary: #f9fafb;--bg-secondary: #ffffff;--bg-tertiary: #f3f4f6;--bg-overlay: rgba(255, 255, 255, .95);--shadow-xs: 0 1px 2px rgba(0, 0, 0, .04);--shadow-sm: 0 1px 3px rgba(0, 0, 0, .08), 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px rgba(0, 0, 0, .06), 0 2px 4px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .08), 0 4px 6px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .08), 0 10px 10px rgba(0, 0, 0, .03);--gradient-primary: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);--gradient-blue: linear-gradient(135deg, #2563eb 0%, #1d4ed8 100%);--gradient-blue-hover: linear-gradient(135deg, #1d4ed8 0%, #1e40af 100%);--gradient-overlay: linear-gradient(135deg, rgba(37, 99, 235, .06) 0%, rgba(29, 78, 216, .06) 100%);--space-xs: 8px;--space-sm: 16px;--space-md: 24px;--space-lg: 32px;--space-xl: 40px;--space-2xl: 56px;--space-3xl: 72px;--space-4xl: 88px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--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.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .2s cubic-bezier(.4, 0, .2, 1);--transition-slow: .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;background:var(--gradient-primary);color:var(--text-primary);line-height:1.6;min-height:100vh;overflow-x:hidden;font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark{--main-blue: #60a5fa;--main-blue-dark: #2563eb;--main-blue-light: #3b82f6;--main-blue-lighter: #93c5fd;--text-primary: #e5e7eb;--text-secondary: #a1a1aa;--text-tertiary: #6b7280;--text-inverse: #18181b;--bg-primary: #18181b;--bg-secondary: #232336;--bg-tertiary: #232336;--bg-overlay: rgba(24,24,27,.95);--shadow-xs: 0 1px 2px rgba(0,0,0,.32);--shadow-sm: 0 1px 3px rgba(0,0,0,.24), 0 1px 2px rgba(0,0,0,.16);--shadow-md: 0 4px 6px rgba(0,0,0,.18), 0 2px 4px rgba(0,0,0,.12);--shadow-lg: 0 10px 15px rgba(0,0,0,.22), 0 4px 6px rgba(0,0,0,.1);--shadow-xl: 0 20px 25px rgba(0,0,0,.28), 0 10px 10px rgba(0,0,0,.1);--gradient-primary: linear-gradient(135deg, #232336 0%, #18181b 100%);--gradient-blue: linear-gradient(135deg, #60a5fa 0%, #2563eb 100%);--gradient-blue-hover: linear-gradient(135deg, #2563eb 0%, #1e40af 100%);--gradient-overlay: linear-gradient(135deg, rgba(96,165,250,.08) 0%, rgba(37,99,235,.08) 100%)}body.dark{background:var(--gradient-primary)!important}body.dark .card,body.dark .form-card,body.dark .about-card,body.dark .feature-card,body.dark .service-card,body.dark .project-card,body.dark .cta-card,body.dark .gradient-about-card,body.dark .gradient-form-card,body.dark .gradient-cta-card{background:var(--bg-secondary)!important;color:var(--text-primary)!important;box-shadow:var(--shadow-xs)!important;border-color:#ffffff0f!important}body.dark .btn,body.dark .btn-secondary{color:var(--text-inverse)!important;background:var(--main-blue)!important;border-color:var(--main-blue-dark)!important}body.dark .btn-secondary{background:var(--bg-tertiary)!important;color:var(--main-blue)!important}body.dark .nav{background:var(--bg-secondary)!important;border-bottom:1px solid rgba(255,255,255,.06)!important;box-shadow:0 2px 8px #0000002e!important}body.dark .logo{color:var(--main-blue)!important}body.dark .tab{color:var(--text-primary)!important}body.dark .tab.active{color:var(--text-inverse)!important;background:var(--main-blue)!important}body.dark .footer{background:var(--bg-secondary)!important;color:var(--text-secondary)!important}body.dark .copyright,body.dark .icp{color:var(--text-tertiary)!important}body.dark .icp a{color:var(--main-blue)!important}body.dark .feature-icon,body.dark .icon-wrapper,body.dark .skill-icon{background:var(--gradient-blue)!important;color:var(--text-inverse)!important}body.dark .project-link.btn{background:var(--main-blue)!important;color:var(--text-inverse)!important}body.dark .project-link.btn:hover{background:var(--main-blue-dark)!important}body.dark .project-tips{background:#60a5fa1a!important;color:var(--main-blue)!important}body.dark .form-group input,body.dark .form-group textarea{background:var(--bg-primary)!important;color:var(--text-primary)!important;border-color:#ffffff1a!important}body.dark .form-group input:focus,body.dark .form-group textarea:focus{border-color:var(--main-blue)!important;background:var(--bg-secondary)!important}body.dark .toast-container{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border-color:#ffffff1a!important}body.dark .toast-close{color:var(--text-secondary)!important}#app{min-height:100vh;display:flex;flex-direction:column}.container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.nav{background:#fff;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(0,0,0,.06);position:relative;top:0;z-index:1000;height:72px;min-height:72px;display:flex;flex-direction:column;align-items:stretch;transition:all var(--transition-base);padding:0;box-shadow:0 2px 8px #0000000a}.nav-toggle,.nav-toggle:focus,.nav-toggle:active,.nav-toggle:hover,.hamburger{border:none!important;outline:none!important;box-shadow:none!important;background:transparent!important}.nav-toggle:hover,.nav-toggle:active{background:transparent!important;box-shadow:none}.hamburger{width:28px;height:22px;display:inline-block;position:relative;transition:all .3s}.hamburger span{display:block;position:absolute;height:4px;width:100%;background:var(--main-blue, #2563eb);border-radius:2px;opacity:1;left:0;transition:all .3s}.hamburger span:nth-child(1){top:0}.hamburger span:nth-child(2){top:9px}.hamburger span:nth-child(3){top:18px}.hamburger.open span:nth-child(1){top:9px;transform:rotate(45deg)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){top:9px;transform:rotate(-45deg)}.nav-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:0 var(--space-lg);width:100%;height:72px;position:relative;gap:32px}.tabs{display:flex;flex-direction:row;align-items:center;gap:12px;list-style:none;height:100%}.nav-actions{display:flex;align-items:center;gap:8px}.logo{display:flex;align-items:center;height:72px;margin-right:8px}.logo{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);text-decoration:none;letter-spacing:-.5px;transition:all var(--transition-base);position:relative;outline:none}.logo:focus,.logo:active{outline:none;box-shadow:none}.logo:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:2px;background:var(--gradient-blue);transition:width var(--transition-base)}.logo:hover:after{width:100%}.tab{padding:4px 22px;border-radius:14px;text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:var(--font-size-base);transition:all var(--transition-base);position:relative;overflow:hidden;white-space:nowrap;line-height:1.6;display:flex;align-items:center;height:36px;margin:0}.tab:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-overlay);opacity:0;transition:opacity var(--transition-base);border-radius:var(--radius-lg)}.tab:hover{color:var(--text-primary);transform:translateY(-1px)}.tab:hover:before{opacity:1}.tab.active{color:var(--text-inverse);background:var(--gradient-blue);font-weight:600;box-shadow:var(--shadow-sm);transform:translateY(-1px);border-radius:16px}.tab.active:before{opacity:0}.main-content{flex:1;padding:var(--space-2xl) 0;margin-top:0;transition:margin-top .2s}@media (max-width: 768px){.main-content{margin-top:72px}.main-content.menu-open{margin-top:312px}}.section-title{font-size:var(--font-size-5xl);font-weight:700;text-align:center;margin-bottom:var(--space-lg);color:var(--text-primary);letter-spacing:-1px;line-height:1.1}.section-title:after{content:"";display:block;width:60px;height:3px;background:var(--gradient-blue);margin:var(--space-md) auto 0;border-radius:2px}.section-subtitle{font-size:var(--font-size-xl);color:var(--text-secondary);text-align:center;margin-bottom:var(--space-3xl);line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto}.card{background:var(--bg-secondary);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:var(--space-lg);transition:all var(--transition-base);border:1px solid rgba(0,0,0,.03);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-blue);transform:scaleX(0);transition:transform var(--transition-base)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card:hover:before{transform:scaleX(1)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:0 28px;background:var(--gradient-blue);color:var(--text-inverse);text-decoration:none;border-radius:var(--radius-lg);font-weight:600;font-size:var(--font-size-base);transition:all var(--transition-base);border:none;cursor:pointer;box-shadow:var(--shadow-sm);letter-spacing:.2px;position:relative;overflow:hidden;white-space:nowrap;min-height:40px;height:40px}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);transition:left var(--transition-slow)}.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow-md);background:var(--gradient-blue-hover)}.btn:hover:before{left:100%}.btn:active{transform:translateY(0)}.btn-secondary{background:#2563eb0f;color:var(--text-primary);border:1px solid rgba(37,99,235,.15);min-height:40px;height:40px;font-size:var(--font-size-base);padding:0 28px}.btn-secondary:hover{background:var(--main-blue);color:var(--text-inverse);border-color:var(--main-blue)}.footer{background:linear-gradient(135deg,#f8fafc,#f1f5f9);color:var(--text-secondary);text-align:center;padding:var(--space-xl) 0;margin-top:auto;border-top:1px solid rgba(0,0,0,.06);position:relative}.footer:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-blue);opacity:.2}.footer-content{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}.footer-info{display:flex;flex-direction:row;gap:var(--space-md);align-items:center;justify-content:center;flex-wrap:wrap}.copyright{font-size:var(--font-size-sm);color:var(--text-secondary);margin:0;line-height:1.5}.icp{font-size:var(--font-size-sm);margin:0;line-height:1.5}.icp a{color:var(--text-secondary);text-decoration:none;transition:color var(--transition-base);position:relative}.icp a:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1px;background:var(--main-blue);transition:width var(--transition-base)}.icp a:hover{color:var(--main-blue)}.icp a:hover:after{width:100%}@media (max-width: 768px){.nav-content{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:0;padding:0 16px;height:72px}.tabs{display:none;flex-direction:column;align-items:stretch;gap:0;width:100%;background:transparent;box-shadow:none;border-radius:0;border-bottom:none;animation:none;z-index:auto}.tabs.open{display:flex}.nav-actions{display:flex;align-items:center;gap:8px}.logo{height:72px;display:flex;align-items:center}.nav-actions{margin-left:0;height:72px;display:flex;align-items:center}.tab{width:100%;text-align:center;justify-content:center;display:flex;border-radius:0;margin:0;font-size:var(--font-size-base);padding:0;height:48px;line-height:48px;border-bottom:1px solid #f0f0f0;box-shadow:none;background:none}.tab:last-child{border-bottom:none}.tab.active{background:var(--main-blue, #2563eb);color:#fff;box-shadow:none;border-radius:0}.nav-toggle,.hamburger{display:block}}@keyframes slideDown{0%{opacity:0;transform:translateY(-16px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 480px){.section-title{font-size:var(--font-size-3xl)}.tabs{gap:var(--space-xs)}.tab{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-xs)}.copyright,.icp{font-size:var(--font-size-xs)}.container{padding:0 var(--space-md)}}::-webkit-scrollbar{width:8px;height:8px;background:transparent}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#b4b4b459;border-radius:8px;transition:background .2s}::-webkit-scrollbar-thumb:hover{background:#b4b4b48c}html,body{scrollbar-width:thin;scrollbar-color:rgba(180,180,180,.35) transparent}body{-ms-overflow-style:-ms-autohiding-scrollbar;scrollbar-gutter:stable both-edges}::-webkit-scrollbar{opacity:0;transition:opacity .3s}html:hover ::-webkit-scrollbar,body:hover ::-webkit-scrollbar,*::-webkit-scrollbar:hover{opacity:1}::selection{background:var(--main-blue-lighter);color:var(--text-primary)}:focus{outline:2px solid var(--main-blue);outline-offset:2px}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:fadeInUp .6s ease-out}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.pulse{animation:pulse 2s infinite}
