*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--primary-50: #eff6ff;--primary-100: #dbeafe;--primary-200: #bfdbfe;--primary-300: #93c5fd;--primary-400: #60a5fa;--primary-500: #3b82f6;--primary-600: #2563eb;--primary-700: #1d4ed8;--primary-800: #1e40af;--primary-900: #1e3a8a;--color-primary: var(--primary-600);--color-primary-dark: var(--primary-700);--color-primary-light: var(--primary-400);--gray-50: #f9fafb;--gray-100: #f3f4f6;--gray-200: #e5e7eb;--gray-300: #d1d5db;--gray-400: #9ca3af;--gray-500: #6b7280;--gray-600: #4b5563;--gray-700: #374151;--gray-800: #1f2937;--gray-900: #111827;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #06b6d4;--font-family-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-family-mono: "JetBrains Mono", "Fira Code", "Monaco", "Consolas", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--text-6xl: 3.75rem;--text-7xl: 4.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--space-32: 8rem;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 50%;--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .1), 0 1px 2px 0 rgba(0, 0, 0, .06);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .25);--shadow-inner: inset 0 2px 4px 0 rgba(0, 0, 0, .06);--gradient-primary: linear-gradient(135deg, var(--primary-500) 0%, var(--primary-700) 100%);--gradient-secondary: linear-gradient(135deg, var(--info) 0%, var(--primary-600) 100%);--gradient-hero: linear-gradient(135deg, var(--primary-50) 0%, var(--gray-50) 100%);--gradient-dark: linear-gradient(135deg, var(--gray-900) 0%, var(--gray-800) 100%);--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070;--z-toast: 1080;--bg-primary: var(--gray-50);--bg-secondary: #ffffff;--bg-tertiary: var(--gray-100);--bg-accent: var(--primary-50);--bg-card: #ffffff;--bg-elevated: #ffffff;--text-primary: var(--gray-900);--text-secondary: var(--gray-600);--text-tertiary: var(--gray-500);--text-inverse: #ffffff;--border-primary: var(--gray-200);--border-secondary: var(--gray-300);--border-focus: var(--primary-500);--surface-primary: #ffffff;--surface-secondary: var(--gray-50);--surface-elevated: #ffffff}[data-theme=dark]{--bg-primary: #0a0a0a;--bg-secondary: #1a1a1a;--bg-tertiary: #2a2a2a;--bg-accent: rgba(156, 163, 175, .1);--bg-card: #161618;--bg-elevated: #1f1f23;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-tertiary: #94a3b8;--text-inverse: var(--gray-900);--border-primary: #2d2d30;--border-secondary: #3a3a3d;--surface-primary: #161618;--surface-secondary: #1f1f23;--surface-elevated: #252529;--primary-100: #e0f2fe;--primary-200: #bae6fd;--primary-300: #7dd3fc;--primary-400: #38bdf8;--primary-500: #0ea5e9;--primary-600: #0284c7;--primary-700: #0369a1}html{scroll-behavior:smooth;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-family-sans);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background:var(--bg-primary);transition:background var(--transition-base),color var(--transition-base);overflow-x:hidden;width:100%;max-width:100vw}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;letter-spacing:-.025em;color:var(--text-primary)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-lg)}.text-display-1{font-size:var(--text-7xl);font-weight:800;line-height:.9;letter-spacing:-.05em}.text-display-2{font-size:var(--text-6xl);font-weight:800;line-height:1;letter-spacing:-.04em}.text-gradient{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.text-gradient-secondary{background:var(--gradient-secondary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.container{width:100%;max-width:1200px;margin:0 auto;padding-left:var(--space-6);padding-right:var(--space-6)}.container-wide{max-width:1400px}.container-narrow{max-width:800px}.section{padding:var(--space-20) 0;position:relative}.section-hero{padding:var(--space-24) 0;min-height:100vh;display:flex;align-items:center}.grid{display:grid;gap:var(--space-6)}.grid-cols-1{grid-template-columns:repeat(1,1fr)}.grid-cols-2{grid-template-columns:repeat(2,1fr)}.grid-cols-3{grid-template-columns:repeat(3,1fr)}.grid-cols-4{grid-template-columns:repeat(4,1fr)}.grid-auto-fit-sm{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.grid-auto-fit-md{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid-auto-fit-lg{grid-template-columns:repeat(auto-fit,minmax(400px,1fr))}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-around{justify-content:space-around}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-6);font-size:var(--text-sm);font-weight:600;line-height:1;border-radius:var(--radius-lg);border:none;cursor:pointer;text-decoration:none;transition:all var(--transition-fast);position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.btn: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)}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:var(--text-inverse);box-shadow:var(--shadow-sm)}.btn-primary:hover{transform:translateY(-1px);box-shadow:var(--shadow-lg)}.btn-secondary{background:var(--surface-primary);color:var(--text-primary);border:1px solid var(--border-primary);box-shadow:var(--shadow-xs)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--border-secondary);transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--bg-tertiary);color:var(--text-primary)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--text-base)}.card{background:var(--surface-primary);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);box-shadow:var(--shadow-sm);transition:all var(--transition-base);overflow:hidden;position:relative}.card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-secondary)}.card-elevated{box-shadow:var(--shadow-lg)}.card-elevated:hover{box-shadow:var(--shadow-xl);transform:translateY(-2px)}.card-body{padding:var(--space-6)}.card-header{padding:var(--space-6) var(--space-6) 0}.card-footer{padding:0 var(--space-6) var(--space-6)}.badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);background:var(--bg-accent);color:var(--text-secondary);border:1px solid var(--border-primary)}.badge-primary{background:var(--primary-100);color:var(--primary-700);border-color:var(--primary-200)}.tech-icon{width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xs);transition:all var(--transition-fast)}.tech-icon:hover{transform:translateY(-2px) scale(1.1);box-shadow:var(--shadow-lg)}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-accent) 50%,var(--bg-tertiary) 75%);background-size:200px 100%;animation:shimmer 1.5s infinite}.hover-lift{transition:transform var(--transition-fast)}.hover-lift:hover{transform:translateY(-4px)}.hover-scale{transition:transform var(--transition-fast)}.hover-scale:hover{transform:scale(1.05)}.focus-ring{outline:none;transition:all var(--transition-fast)}.focus-ring:focus{box-shadow:0 0 0 3px #3b82f64d}.fade-up{opacity:0;transform:translateY(30px);transition:all var(--transition-slow)}.fade-up.in-view{opacity:1;transform:translateY(0)}.fade-left{opacity:0;transform:translate(-30px);transition:all var(--transition-slow)}.fade-left.in-view{opacity:1;transform:translate(0)}.fade-right{opacity:0;transform:translate(30px);transition:all var(--transition-slow)}.fade-right.in-view{opacity:1;transform:translate(0)}.stagger>*{opacity:0;transform:translateY(20px);transition:all var(--transition-base)}.stagger.in-view>*:nth-child(1){transition-delay:0ms}.stagger.in-view>*:nth-child(2){transition-delay:.1s}.stagger.in-view>*:nth-child(3){transition-delay:.2s}.stagger.in-view>*:nth-child(4){transition-delay:.3s}.stagger.in-view>*:nth-child(5){transition-delay:.4s}.stagger.in-view>*:nth-child(6){transition-delay:.5s}.stagger.in-view>*{opacity:1;transform:translateY(0)}.progress-bar{height:4px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;position:relative}.progress-fill{height:100%;background:var(--gradient-primary);width:0;transition:width 1s cubic-bezier(.4,0,.2,1);border-radius:var(--radius-full)}@media (max-width: 640px){.container{padding-left:var(--space-4);padding-right:var(--space-4)}.section{padding:var(--space-16) 0}.section-hero{padding:var(--space-20) 0;min-height:90vh}h1,.text-display-1{font-size:var(--text-4xl)}h2,.text-display-2{font-size:var(--text-3xl)}.grid-cols-2,.grid-cols-3{grid-template-columns:1fr}.grid-cols-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-auto-fit-md{grid-template-columns:1fr}}@media (min-width: 1024px){.container{padding-left:var(--space-8);padding-right:var(--space-8)}}.m-0{margin:0}.m-auto{margin:auto}.mt-4{margin-top:var(--space-4)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.p-0{padding:0}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.px-4{padding-left:var(--space-4);padding-right:var(--space-4)}.py-4{padding-top:var(--space-4);padding-bottom:var(--space-4)}.relative{position:relative}.absolute{position:absolute}.fixed{position:fixed}.sticky{position:sticky}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-muted{color:var(--text-tertiary)}.bg-primary{background:var(--bg-primary)}.bg-secondary{background:var(--bg-secondary)}.bg-card{background:var(--bg-card)}.border{border:1px solid var(--border-primary)}.border-t{border-top:1px solid var(--border-primary)}.border-b{border-bottom:1px solid var(--border-primary)}.rounded{border-radius:var(--radius-md)}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.rounded-full{border-radius:var(--radius-full)}.shadow{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.shadow-xl{box-shadow:var(--shadow-xl)}.header[data-v-fbddb081]{position:fixed;top:0;left:0;right:0;z-index:var(--z-fixed);background:#f8fafccc;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid transparent;transition:all var(--transition-base)}[data-theme=dark] .header[data-v-fbddb081]{background:#0f172acc}.header.scrolled[data-v-fbddb081]{background:#f8fafcf2;border-bottom-color:var(--border-primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .header.scrolled[data-v-fbddb081]{background:#0f172af2}.nav[data-v-fbddb081]{padding:var(--space-4) 0;transition:padding var(--transition-base)}.header.scrolled .nav[data-v-fbddb081]{padding:var(--space-3) 0}.nav-content[data-v-fbddb081]{display:flex;align-items:center;justify-content:space-between}.logo-link[data-v-fbddb081]{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;color:var(--text-primary);font-weight:700;font-size:var(--text-lg);transition:all var(--transition-fast)}.logo-link[data-v-fbddb081]:hover{transform:scale(1.05)}.logo-icon[data-v-fbddb081]{transition:transform var(--transition-fast)}.logo-link:hover .logo-icon[data-v-fbddb081]{transform:rotate(-5deg)}.logo-text[data-v-fbddb081]{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.nav-links[data-v-fbddb081]{display:flex;gap:var(--space-8)}.nav-link[data-v-fbddb081]{position:relative;display:flex;flex-direction:column;align-items:center;text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:var(--text-sm);padding:var(--space-2) var(--space-1);transition:all var(--transition-fast);cursor:pointer}.nav-link[data-v-fbddb081]:hover{color:var(--primary-600)}.nav-link-text[data-v-fbddb081]{transition:transform var(--transition-fast)}.nav-link:hover .nav-link-text[data-v-fbddb081]{transform:translateY(-2px)}.nav-link-indicator[data-v-fbddb081]{position:absolute;bottom:-4px;left:50%;transform:translate(-50%);width:0;height:2px;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width var(--transition-fast)}.nav-link:hover .nav-link-indicator[data-v-fbddb081]{width:100%}.nav-actions[data-v-fbddb081]{display:flex;align-items:center;gap:var(--space-3)}.action-btn[data-v-fbddb081]{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);color:var(--text-secondary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all var(--transition-fast)}.action-btn[data-v-fbddb081]:hover{color:var(--primary-600);border-color:var(--primary-300);background:var(--primary-50);transform:translateY(-1px)}.lang-btn .action-text[data-v-fbddb081]{font-weight:600;font-family:var(--font-family-mono)}.theme-icon[data-v-fbddb081]{display:flex;align-items:center;justify-content:center;transition:transform var(--transition-fast)}.action-btn:hover .theme-icon[data-v-fbddb081]{transform:rotate(180deg)}.cta-btn[data-v-fbddb081]{margin-left:var(--space-2)}.menu-btn[data-v-fbddb081]{padding:var(--space-2)}.hamburger[data-v-fbddb081]{position:relative;width:24px;height:18px;display:flex;flex-direction:column;justify-content:space-between}.line[data-v-fbddb081]{width:100%;height:2px;background:currentColor;border-radius:var(--radius-full);transition:all var(--transition-base);transform-origin:center}.menu-btn.active .line-1[data-v-fbddb081]{transform:translateY(8px) rotate(45deg)}.menu-btn.active .line-2[data-v-fbddb081]{opacity:0;transform:scaleX(0)}.menu-btn.active .line-3[data-v-fbddb081]{transform:translateY(-8px) rotate(-45deg)}.mobile-nav[data-v-fbddb081]{position:fixed;top:0;right:-100%;width:320px;height:100vh;background:var(--bg-card);border-left:1px solid var(--border-primary);transition:right var(--transition-base);z-index:var(--z-modal);box-shadow:var(--shadow-2xl)}.mobile-nav.active[data-v-fbddb081]{right:0}.mobile-nav-content[data-v-fbddb081]{display:flex;flex-direction:column;height:100%;padding:var(--space-20) var(--space-6) var(--space-8)}.mobile-nav-links[data-v-fbddb081]{flex:1;display:flex;flex-direction:column;gap:var(--space-1)}.mobile-nav-link[data-v-fbddb081]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-3);text-decoration:none;color:var(--text-primary);font-weight:500;border-radius:var(--radius-xl);transition:all var(--transition-fast)}.mobile-nav-link[data-v-fbddb081]:hover{background:var(--bg-accent);color:var(--primary-700);transform:translate(4px)}.mobile-link-icon[data-v-fbddb081]{font-size:var(--text-xl)}.mobile-link-text[data-v-fbddb081]{flex:1;font-size:var(--text-lg)}.mobile-nav-footer[data-v-fbddb081]{border-top:1px solid var(--border-primary);padding-top:var(--space-6)}.mobile-nav-cta[data-v-fbddb081]{margin-bottom:var(--space-6)}.mobile-nav-cta .btn[data-v-fbddb081]{width:100%}.mobile-nav-info[data-v-fbddb081]{text-align:center}.mobile-nav-subtitle[data-v-fbddb081]{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-3)}.mobile-nav-status[data-v-fbddb081]{display:flex;align-items:center;justify-content:center;gap:var(--space-2)}.status-dot[data-v-fbddb081]{width:8px;height:8px;background:var(--success);border-radius:50%;animation:pulse-dot-fbddb081 2s infinite}@keyframes pulse-dot-fbddb081{0%,to{opacity:1}50%{opacity:.5}}.status-text[data-v-fbddb081]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}.mobile-overlay[data-v-fbddb081]{position:fixed;top:0;left:0;width:100%;height:100vh;background:#00000080;opacity:0;visibility:hidden;transition:all var(--transition-base);z-index:var(--z-modal-backdrop)}.mobile-overlay.active[data-v-fbddb081]{opacity:1;visibility:visible}.desktop-only[data-v-fbddb081]{display:flex}.mobile-only[data-v-fbddb081]{display:none}@media (max-width: 768px){.desktop-only[data-v-fbddb081]{display:none}.mobile-only[data-v-fbddb081]{display:flex}.nav-actions[data-v-fbddb081]{gap:var(--space-2)}.action-btn[data-v-fbddb081]{padding:var(--space-2)}.lang-btn .action-text[data-v-fbddb081]{display:none}}@media (max-width: 640px){.logo-text[data-v-fbddb081]{display:none}.mobile-nav[data-v-fbddb081]{width:100%;right:-100%}}.mobile-nav.active .mobile-nav-link[data-v-fbddb081]{animation:slideInRight-fbddb081 .4s ease-out forwards}.mobile-nav.active .mobile-nav-link[data-v-fbddb081]:nth-child(1){animation-delay:.1s}.mobile-nav.active .mobile-nav-link[data-v-fbddb081]:nth-child(2){animation-delay:.2s}.mobile-nav.active .mobile-nav-link[data-v-fbddb081]:nth-child(3){animation-delay:.3s}.mobile-nav.active .mobile-nav-link[data-v-fbddb081]:nth-child(4){animation-delay:.4s}@keyframes slideInRight-fbddb081{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.logo-link[data-v-fbddb081],.nav-link[data-v-fbddb081],.action-btn[data-v-fbddb081],.mobile-nav-link[data-v-fbddb081]{position:relative;overflow:hidden}.logo-link[data-v-fbddb081]:before,.nav-link[data-v-fbddb081]:before,.action-btn[data-v-fbddb081]:before,.mobile-nav-link[data-v-fbddb081]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left var(--transition-slow)}.logo-link[data-v-fbddb081]:hover:before,.nav-link[data-v-fbddb081]:hover:before,.action-btn[data-v-fbddb081]:hover:before,.mobile-nav-link[data-v-fbddb081]:hover:before{left:100%}.hero-section[data-v-d322cd28]{position:relative;min-height:100vh;display:flex;align-items:center;overflow:hidden;background:var(--bg-primary)}.hero-bg[data-v-d322cd28]{position:absolute;inset:0;pointer-events:none;z-index:1}.grid-pattern[data-v-d322cd28]{position:absolute;inset:0;background-image:linear-gradient(rgba(59,130,246,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(59,130,246,.02) 1px,transparent 1px);background-size:40px 40px;animation:grid-move-d322cd28 30s linear infinite}@keyframes grid-move-d322cd28{0%{transform:translate(0)}to{transform:translate(40px,40px)}}.gradient-orbs[data-v-d322cd28]{position:absolute;inset:0}.orb[data-v-d322cd28]{position:absolute;border-radius:50%;filter:blur(60px);opacity:.3;animation:float-orb-d322cd28 8s ease-in-out infinite}.orb-1[data-v-d322cd28]{width:200px;height:200px;background:linear-gradient(135deg,var(--primary-400),var(--info));top:20%;right:20%;animation-delay:0s}.orb-2[data-v-d322cd28]{width:150px;height:150px;background:linear-gradient(135deg,var(--info),var(--primary-600));bottom:30%;left:15%;animation-delay:4s}@keyframes float-orb-d322cd28{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.1)}}.hero-container[data-v-d322cd28]{position:relative;z-index:10;width:100%}.hero-content[data-v-d322cd28]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-16);align-items:center;min-height:80vh}.hero-text[data-v-d322cd28]{max-width:600px;width:100%}.hero-badge[data-v-d322cd28]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);margin-bottom:var(--space-6);box-shadow:var(--shadow-sm)}.status-dot[data-v-d322cd28]{width:8px;height:8px;border-radius:50%;background:var(--success);animation:pulse-dot-d322cd28 2s infinite}@keyframes pulse-dot-d322cd28{0%,to{opacity:1}50%{opacity:.5}}.hero-title[data-v-d322cd28]{margin-bottom:var(--space-6);line-height:1.1}.hero-greeting[data-v-d322cd28]{display:block;font-size:var(--text-xl);font-weight:400;color:var(--text-secondary);margin-bottom:var(--space-2)}.hero-name[data-v-d322cd28]{display:block;font-size:var(--text-6xl);font-weight:800;letter-spacing:-.04em;margin-bottom:var(--space-2)}.hero-role[data-v-d322cd28]{display:block;font-size:var(--text-2xl);font-weight:600;color:var(--text-primary)}.hero-description[data-v-d322cd28]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-8)}.highlight[data-v-d322cd28]{color:var(--text-primary);font-weight:600}.tech-preview[data-v-d322cd28]{margin-bottom:var(--space-8)}.tech-label[data-v-d322cd28]{display:block;font-size:var(--text-sm);font-weight:600;color:var(--text-secondary);margin-bottom:var(--space-3)}.tech-icons[data-v-d322cd28]{display:flex;gap:var(--space-3);align-items:center}.tech-icon[data-v-d322cd28]{width:44px;height:44px;border-radius:var(--radius-lg);background:var(--bg-card);border:1px solid var(--border-primary);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm);transition:all var(--transition-fast);cursor:pointer}.tech-icon[data-v-d322cd28]:hover{box-shadow:var(--shadow-md);border-color:var(--primary-300);transform:translateY(-2px)}.tech-icon img[data-v-d322cd28]{width:28px;height:28px;object-fit:contain}.hero-actions[data-v-d322cd28]{display:flex;gap:var(--space-4);align-items:center;flex-wrap:wrap}.hero-visual[data-v-d322cd28]{display:flex;flex-direction:column;gap:var(--space-6);position:relative}.code-window[data-v-d322cd28]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;font-family:var(--font-family-mono)}.code-header[data-v-d322cd28]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.code-controls[data-v-d322cd28]{display:flex;gap:var(--space-2)}.dot[data-v-d322cd28]{width:12px;height:12px;border-radius:50%}.dot.red[data-v-d322cd28]{background:#ff5f56}.dot.yellow[data-v-d322cd28]{background:#ffbd2e}.dot.green[data-v-d322cd28]{background:#27ca3f}.code-title[data-v-d322cd28]{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.code-lang[data-v-d322cd28]{font-size:var(--text-xs);color:var(--text-tertiary);background:var(--bg-accent);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.code-content[data-v-d322cd28]{padding:var(--space-4);position:relative;min-height:180px}.code-line[data-v-d322cd28]{display:flex;align-items:center;margin-bottom:var(--space-2);position:relative}.line-number[data-v-d322cd28]{color:var(--text-tertiary);font-size:var(--text-sm);width:25px;text-align:right;margin-right:var(--space-3);-webkit-user-select:none;user-select:none}.code-text[data-v-d322cd28]{font-size:var(--text-sm);color:var(--text-primary)}.syntax-keyword[data-v-d322cd28]{color:#c678dd}.syntax-tag[data-v-d322cd28]{color:#e06c75}.syntax-attr[data-v-d322cd28]{color:#d19a66}.syntax-string[data-v-d322cd28]{color:#98c379}.syntax-indent[data-v-d322cd28]{color:transparent}.typing-cursor[data-v-d322cd28]{position:absolute;bottom:var(--space-4);right:var(--space-4);width:2px;height:16px;background:var(--primary-500);animation:blink-cursor-d322cd28 1s infinite}@keyframes blink-cursor-d322cd28{0%,50%{opacity:1}51%,to{opacity:0}}.stats-cards[data-v-d322cd28]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}.stat-card[data-v-d322cd28]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);padding:var(--space-3);text-align:center;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.stat-value[data-v-d322cd28]{font-size:var(--text-xl);font-weight:700;color:var(--primary-600);margin-bottom:var(--space-1)}.stat-label[data-v-d322cd28]{font-size:var(--text-xs);color:var(--text-secondary);font-weight:500}.scroll-indicator[data-v-d322cd28]{position:absolute;bottom:var(--space-6);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-2);color:var(--text-tertiary);cursor:pointer;transition:all var(--transition-base);opacity:0;animation:bounce-in-d322cd28 .8s ease-out 2s forwards}@keyframes bounce-in-d322cd28{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.scroll-indicator[data-v-d322cd28]:hover{color:var(--text-primary);transform:translate(-50%) translateY(-5px)}.scroll-text[data-v-d322cd28]{font-size:var(--text-xs);font-weight:500}.scroll-arrow[data-v-d322cd28]{animation:bounce-arrow-d322cd28 2s infinite}@keyframes bounce-arrow-d322cd28{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}}@keyframes slideInUp-d322cd28{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes scaleInBounce-d322cd28{0%{opacity:0;transform:scale(.3) translateY(20px)}50%{transform:scale(1.05) translateY(-5px)}70%{transform:scale(.95) translateY(2px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes fadeInUp-d322cd28{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes bounceIn-d322cd28{0%{opacity:0;transform:scale(.3)}50%{transform:scale(1.05)}70%{transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulseGlow-d322cd28{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.8;transform:scale(1.02)}}@media (max-width: 1024px){.hero-content[data-v-d322cd28]{grid-template-columns:1fr;gap:var(--space-12);text-align:center}.hero-text[data-v-d322cd28]{max-width:none;width:100%;overflow-wrap:break-word;word-break:break-word}.stats-cards[data-v-d322cd28]{max-width:300px;margin:0 auto}}@media (max-width: 768px){.hero-name[data-v-d322cd28]{font-size:var(--text-4xl);overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.hero-role[data-v-d322cd28]{font-size:var(--text-xl);overflow-wrap:break-word;word-break:break-word}.hero-description[data-v-d322cd28]{overflow-wrap:break-word;word-break:break-word}.hero-actions[data-v-d322cd28]{justify-content:center;flex-direction:column;width:100%}.hero-actions .btn[data-v-d322cd28]{width:100%;max-width:280px}.tech-icons[data-v-d322cd28]{justify-content:center}.stats-cards[data-v-d322cd28]{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.stat-card[data-v-d322cd28]{padding:var(--space-2)}}@media (max-width: 640px){.hero-content[data-v-d322cd28]{min-height:70vh;gap:var(--space-8)}.hero-greeting[data-v-d322cd28]{font-size:var(--text-lg);margin-bottom:var(--space-1)}.hero-name[data-v-d322cd28]{font-size:var(--text-3xl);line-height:1.2;margin-bottom:var(--space-1)}.hero-role[data-v-d322cd28]{font-size:var(--text-lg);line-height:1.3}.hero-description[data-v-d322cd28]{font-size:var(--text-base);line-height:1.5;margin-bottom:var(--space-6)}.hero-text[data-v-d322cd28]{padding:0 var(--space-2);width:100%;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.orb-1[data-v-d322cd28],.orb-2[data-v-d322cd28]{display:none}}@media (max-width: 480px){.hero-content[data-v-d322cd28]{min-height:65vh;gap:var(--space-6)}.hero-greeting[data-v-d322cd28]{font-size:var(--text-base)}.hero-name[data-v-d322cd28]{font-size:var(--text-2xl);line-height:1.1;word-wrap:break-word}.hero-role[data-v-d322cd28]{font-size:var(--text-base)}.hero-description[data-v-d322cd28]{font-size:var(--text-sm);margin-bottom:var(--space-4)}.hero-text[data-v-d322cd28]{padding:0 var(--space-1);width:100%;box-sizing:border-box;overflow-wrap:break-word;word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.hero-title[data-v-d322cd28]{max-width:100%;overflow-wrap:break-word;word-break:break-word}.container[data-v-d322cd28]{padding-left:var(--space-2);padding-right:var(--space-2);max-width:100%;box-sizing:border-box}.hero-container[data-v-d322cd28]{padding-left:var(--space-2);padding-right:var(--space-2);box-sizing:border-box}}@media (max-width: 393px){.hero-greeting[data-v-d322cd28]{display:none}.hero-title[data-v-d322cd28]{margin-bottom:var(--space-4);animation:slideInUp-d322cd28 1.2s cubic-bezier(.23,1,.32,1) forwards}.hero-name[data-v-d322cd28]{margin-bottom:var(--space-1);animation:scaleInBounce-d322cd28 1.4s cubic-bezier(.175,.885,.32,1.275) .3s both}.hero-role[data-v-d322cd28]{animation:slideInUp-d322cd28 1s cubic-bezier(.23,1,.32,1) .6s both}.hero-description[data-v-d322cd28]{animation:fadeInUp-d322cd28 1s cubic-bezier(.23,1,.32,1) .9s both}.hero-content[data-v-d322cd28]{justify-content:center;align-items:center;padding-top:var(--space-8);position:relative}.hero-section[data-v-d322cd28]{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-primary) 0%,rgba(59,130,246,.03) 50%,var(--bg-primary) 100%)}.hero-text[data-v-d322cd28]{position:relative;z-index:2}.hero-text[data-v-d322cd28]:before{content:"";position:absolute;inset:-20px -10px;background:#3b82f605;border-radius:20px;z-index:-1;animation:pulseGlow-d322cd28 3s ease-in-out infinite}.hero-actions[data-v-d322cd28]{animation:slideInUp-d322cd28 1s cubic-bezier(.23,1,.32,1) 1.2s both}.hero-badge[data-v-d322cd28]{animation:bounceIn-d322cd28 1s cubic-bezier(.68,-.55,.265,1.55) .1s both}.tech-preview[data-v-d322cd28]{animation:slideInUp-d322cd28 1s cubic-bezier(.23,1,.32,1) 1.5s both}.btn[data-v-d322cd28]{transform-origin:center;transition:all .2s cubic-bezier(.25,.46,.45,.94)}.btn[data-v-d322cd28]:active{transform:scale(.95)}.tech-icon[data-v-d322cd28]{transition:all .3s cubic-bezier(.175,.885,.32,1.275)}.tech-icon[data-v-d322cd28]:active{transform:scale(.9)}.hero-section[data-v-d322cd28]:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(59,130,246,.01) 70%,transparent 100%);pointer-events:none;z-index:1}}.section-header[data-v-989f74b4]{text-align:center;max-width:600px;margin:0 auto var(--space-16)}.section-badge[data-v-989f74b4]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-accent);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4);border:1px solid var(--primary-200)}.badge-dot[data-v-989f74b4]{width:8px;height:8px;background:var(--primary-500);border-radius:50%;display:block}.section-title[data-v-989f74b4]{font-size:var(--text-4xl);margin-bottom:var(--space-3);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:700}.section-subtitle[data-v-989f74b4]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6}.about-content[data-v-989f74b4]{max-width:800px;margin:0 auto}.profile-intro[data-v-989f74b4]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-8);margin-bottom:var(--space-12);box-shadow:var(--shadow-sm)}.intro-content[data-v-989f74b4]{max-width:700px;margin:0 auto}.intro-text h3[data-v-989f74b4]{font-size:var(--text-2xl);color:var(--text-primary);margin-bottom:var(--space-4);font-weight:600}.intro-text>p[data-v-989f74b4]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-6)}.highlights[data-v-989f74b4]{display:grid;gap:var(--space-4);margin-bottom:var(--space-6)}.highlight-item[data-v-989f74b4]{display:flex;flex-direction:column;gap:var(--space-2)}.highlight-item strong[data-v-989f74b4]{color:var(--primary-600);font-weight:600;font-size:var(--text-base)}.highlight-item span[data-v-989f74b4]{color:var(--text-secondary);line-height:1.6}.contact-info[data-v-989f74b4]{padding-top:var(--space-6);border-top:1px solid var(--border-primary)}.contact-link[data-v-989f74b4]{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;transition:all var(--transition-base);color:var(--text-primary)}.contact-link[data-v-989f74b4]:hover{color:var(--primary-600)}.contact-label[data-v-989f74b4]{font-weight:600;color:var(--text-secondary);font-size:var(--text-sm)}.contact-email[data-v-989f74b4]{color:var(--primary-600);font-weight:500}.quick-stats[data-v-989f74b4]{background:linear-gradient(135deg,var(--primary-50) 0%,var(--primary-100) 100%);border-radius:var(--radius-2xl);padding:var(--space-8);border:1px solid var(--primary-200)}[data-theme=dark] .quick-stats[data-v-989f74b4]{background:linear-gradient(135deg,#3b82f60d,#3b82f61a);border-color:var(--primary-800)}.stats-grid[data-v-989f74b4]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-6)}.stat-card[data-v-989f74b4]{text-align:center;padding:var(--space-4);background:#ffffffb3;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.5);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-base)}[data-theme=dark] .stat-card[data-v-989f74b4]{background:#1f2937cc;border-color:#4b55634d}.stat-card[data-v-989f74b4]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.stat-value[data-v-989f74b4]{font-size:var(--text-3xl);font-weight:700;color:var(--primary-600);margin-bottom:var(--space-2)}.stat-label[data-v-989f74b4]{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500}@media (max-width: 768px){.profile-intro[data-v-989f74b4]{padding:var(--space-6)}.intro-text h3[data-v-989f74b4]{font-size:var(--text-xl)}.intro-text>p[data-v-989f74b4]{font-size:var(--text-base)}.quick-stats[data-v-989f74b4]{padding:var(--space-6)}.stats-grid[data-v-989f74b4]{grid-template-columns:1fr;gap:var(--space-4)}}@media (max-width: 640px){.section-title[data-v-989f74b4]{font-size:var(--text-3xl)}.section-subtitle[data-v-989f74b4]{font-size:var(--text-base)}.profile-intro[data-v-989f74b4]{padding:var(--space-4)}.contact-link[data-v-989f74b4]{flex-direction:column;align-items:flex-start;gap:var(--space-1)}}.section-header[data-v-fce2e4c3]{text-align:center;max-width:600px;margin:0 auto var(--space-16)}.section-badge[data-v-fce2e4c3]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-accent);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4);border:1px solid var(--primary-200)}.section-title[data-v-fce2e4c3]{font-size:var(--text-4xl);margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description[data-v-fce2e4c3]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6}.projects-showcase[data-v-fce2e4c3]{display:flex;flex-direction:column;gap:var(--space-20)}.project-card[data-v-fce2e4c3]{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-12);align-items:center;background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-lg);transition:all var(--transition-base);position:relative;overflow:hidden}.project-card[data-v-fce2e4c3]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(59,130,246,.05),transparent);transition:left var(--transition-slow)}.project-card[data-v-fce2e4c3]:hover:before{left:100%}.project-card[data-v-fce2e4c3]:hover{box-shadow:var(--shadow-2xl);border-color:var(--primary-300);transform:translateY(-4px)}.project-card.reverse[data-v-fce2e4c3]{direction:rtl}.project-card.reverse[data-v-fce2e4c3]>*{direction:ltr}.project-visual[data-v-fce2e4c3]{position:relative}.project-image-container[data-v-fce2e4c3]{position:relative;height:400px;display:flex;align-items:center;justify-content:center}.project-mockup[data-v-fce2e4c3]{width:100%;max-width:500px;position:relative;z-index:2}.browser-mockup[data-v-fce2e4c3]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden}.browser-header[data-v-fce2e4c3]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-tertiary);border-bottom:1px solid var(--border-primary)}.browser-controls[data-v-fce2e4c3]{display:flex;gap:var(--space-2)}.control[data-v-fce2e4c3]{width:12px;height:12px;border-radius:50%}.control.red[data-v-fce2e4c3]{background:#ff5f56}.control.yellow[data-v-fce2e4c3]{background:#ffbd2e}.control.green[data-v-fce2e4c3]{background:#27ca3f}.browser-url[data-v-fce2e4c3]{flex:1;background:var(--bg-primary);border:1px solid var(--border-primary);border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--text-secondary);text-align:center}.browser-content[data-v-fce2e4c3]{height:280px;background:var(--bg-primary)}.mobile-mockup[data-v-fce2e4c3]{display:flex;justify-content:center;align-items:center}.mobile-frame[data-v-fce2e4c3]{width:200px;height:400px;background:#000;border-radius:25px;padding:20px 10px;box-shadow:var(--shadow-2xl)}.mobile-screen[data-v-fce2e4c3]{width:100%;height:100%;background:var(--bg-primary);border-radius:15px;overflow:hidden}.terminal-mockup[data-v-fce2e4c3]{background:var(--gray-900);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);overflow:hidden;color:#0f0;font-family:var(--font-family-mono)}.terminal-header[data-v-fce2e4c3]{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4);background:var(--gray-800);border-bottom:1px solid var(--gray-700)}.terminal-controls[data-v-fce2e4c3]{display:flex;gap:var(--space-2)}.terminal-title[data-v-fce2e4c3]{font-size:var(--text-sm);color:var(--gray-300)}.terminal-content[data-v-fce2e4c3]{padding:var(--space-6);min-height:200px;position:relative}.terminal-line[data-v-fce2e4c3]{margin-bottom:var(--space-3)}.terminal-prompt[data-v-fce2e4c3]{color:#0f0;font-weight:700}.terminal-command[data-v-fce2e4c3]{color:#fff}.terminal-output[data-v-fce2e4c3]{color:#0f0;margin:var(--space-4) 0;opacity:.8}.terminal-cursor[data-v-fce2e4c3]{display:inline-block;background:#0f0;width:10px;height:20px;animation:blink-fce2e4c3 1s infinite}@keyframes blink-fce2e4c3{0%,50%{opacity:1}51%,to{opacity:0}}.project-preview[data-v-fce2e4c3]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.preview-placeholder[data-v-fce2e4c3]{text-align:center;opacity:.7}.placeholder-icon[data-v-fce2e4c3]{font-size:var(--text-6xl);margin-bottom:var(--space-4)}.placeholder-text[data-v-fce2e4c3]{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.floating-badges[data-v-fce2e4c3]{position:absolute;inset:0;pointer-events:none;z-index:3}.tech-badge.floating[data-v-fce2e4c3]{position:absolute;display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;color:var(--text-primary);box-shadow:var(--shadow-lg);opacity:0;animation:floatIn-fce2e4c3 .8s ease-out forwards,float-fce2e4c3 3s ease-in-out infinite}.tech-badge.floating[data-v-fce2e4c3]:nth-child(1){top:10%;right:10%}.tech-badge.floating[data-v-fce2e4c3]:nth-child(2){bottom:30%;left:5%}.tech-badge.floating[data-v-fce2e4c3]:nth-child(3){top:60%;right:15%}.tech-badge.floating img[data-v-fce2e4c3]{width:16px;height:16px}@keyframes floatIn-fce2e4c3{0%{opacity:0;transform:translateY(20px) scale(.8)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float-fce2e4c3{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.project-content[data-v-fce2e4c3]{position:relative;z-index:1}.project-header[data-v-fce2e4c3]{margin-bottom:var(--space-6)}.project-type[data-v-fce2e4c3]{display:inline-block;background:var(--primary-100);color:var(--primary-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-3)}.project-title[data-v-fce2e4c3]{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-4)}.project-description[data-v-fce2e4c3]{margin-bottom:var(--space-6)}.project-description p[data-v-fce2e4c3]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6;margin-bottom:var(--space-4)}.project-highlights[data-v-fce2e4c3]{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6)}.highlight-item[data-v-fce2e4c3]{display:flex;gap:var(--space-3);align-items:flex-start}.highlight-icon[data-v-fce2e4c3]{font-size:var(--text-2xl);background:var(--bg-accent);width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;flex-shrink:0}.highlight-text h4[data-v-fce2e4c3]{font-size:var(--text-base);font-weight:600;color:var(--primary-600);margin-bottom:var(--space-1)}.highlight-text p[data-v-fce2e4c3]{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0}.project-tech[data-v-fce2e4c3]{margin-bottom:var(--space-6)}.tech-title[data-v-fce2e4c3]{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.tech-list[data-v-fce2e4c3]{display:flex;flex-wrap:wrap;gap:var(--space-2)}.tech-item[data-v-fce2e4c3]{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--bg-tertiary);border:1px solid var(--border-primary);border-radius:var(--radius-lg);font-size:var(--text-sm);font-weight:500;color:var(--text-primary);transition:all var(--transition-fast)}.tech-item[data-v-fce2e4c3]:hover{background:var(--primary-100);border-color:var(--primary-300);color:var(--primary-700)}.tech-item img[data-v-fce2e4c3]{width:16px;height:16px}.project-metrics[data-v-fce2e4c3]{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}.metric[data-v-fce2e4c3]{text-align:center;padding:var(--space-3);background:var(--bg-tertiary);border-radius:var(--radius-lg)}.metric-value[data-v-fce2e4c3]{font-size:var(--text-lg);font-weight:700;color:var(--primary-600);margin-bottom:var(--space-1)}.metric-label[data-v-fce2e4c3]{font-size:var(--text-xs);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:600}.project-actions[data-v-fce2e4c3]{display:flex;gap:var(--space-3);flex-wrap:wrap}.more-projects[data-v-fce2e4c3]{margin-top:var(--space-20)}.more-projects-card[data-v-fce2e4c3]{text-align:center;background:var(--gradient-primary);border-radius:var(--radius-2xl);padding:var(--space-12);color:#fff;position:relative;overflow:hidden}.more-projects-card[data-v-fce2e4c3]:before{content:"";position:absolute;top:-50%;right:-50%;width:200px;height:200px;background:radial-gradient(circle,rgba(255,255,255,.1) 0%,transparent 70%);border-radius:50%}.more-projects-card h3[data-v-fce2e4c3]{font-size:var(--text-2xl);margin-bottom:var(--space-4);position:relative}.more-projects-card p[data-v-fce2e4c3]{font-size:var(--text-lg);opacity:.9;margin-bottom:var(--space-6);max-width:600px;margin-left:auto;margin-right:auto;position:relative}.more-projects-card .btn[data-v-fce2e4c3]{background:#fff3;border:1px solid rgba(255,255,255,.3);color:#fff;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative}.more-projects-card .btn[data-v-fce2e4c3]:hover{background:#ffffff4d;transform:translateY(-2px)}@media (max-width: 1024px){.project-card[data-v-fce2e4c3]{grid-template-columns:1fr;gap:var(--space-8);text-align:center}.project-card.reverse[data-v-fce2e4c3]{direction:ltr}.project-image-container[data-v-fce2e4c3]{height:300px}.browser-content[data-v-fce2e4c3],.mobile-frame[data-v-fce2e4c3]{height:200px}.project-metrics[data-v-fce2e4c3]{grid-template-columns:repeat(3,1fr);max-width:400px;margin:0 auto var(--space-8)}}@media (max-width: 768px){.projects-showcase[data-v-fce2e4c3]{gap:var(--space-16)}.project-card[data-v-fce2e4c3]{padding:var(--space-6)}.project-title[data-v-fce2e4c3]{font-size:var(--text-2xl)}.project-actions[data-v-fce2e4c3]{justify-content:center;flex-direction:column}.project-actions .btn[data-v-fce2e4c3]{width:100%;max-width:280px}.tech-badge.floating[data-v-fce2e4c3]{position:relative;display:none}.project-metrics[data-v-fce2e4c3]{grid-template-columns:1fr;gap:var(--space-3)}}@media (max-width: 640px){.section-title[data-v-fce2e4c3]{font-size:var(--text-3xl)}.project-image-container[data-v-fce2e4c3]{height:250px}.more-projects-card[data-v-fce2e4c3]{padding:var(--space-8)}.more-projects-card h3[data-v-fce2e4c3]{font-size:var(--text-xl)}}.section-header[data-v-be065412]{text-align:center;max-width:600px;margin:0 auto var(--space-16)}.section-badge[data-v-be065412]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-accent);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4);border:1px solid var(--primary-200)}.badge-dot[data-v-be065412]{width:8px;height:8px;background:var(--primary-500);border-radius:50%;display:block}.section-title[data-v-be065412]{font-size:var(--text-4xl);margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description[data-v-be065412]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6}.main-stack[data-v-be065412]{margin-bottom:var(--space-16)}.stack-title[data-v-be065412]{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-8);text-align:center}.tech-grid[data-v-be065412]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-6);max-width:1000px;margin:0 auto}.tech-card[data-v-be065412]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-6);transition:all var(--transition-base);opacity:0;transform:translateY(30px);animation:fadeInUp-be065412 .6s ease-out forwards}@keyframes fadeInUp-be065412{to{opacity:1;transform:translateY(0)}}.tech-card[data-v-be065412]:hover{border-color:var(--primary-300);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.tech-logo[data-v-be065412]{width:64px;height:64px;margin:0 auto var(--space-4);display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-primary)}.tech-logo img[data-v-be065412]{width:48px;height:48px;object-fit:contain}.tech-info[data-v-be065412]{text-align:center}.tech-name[data-v-be065412]{font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-2)}.tech-usage[data-v-be065412]{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-4)}.tech-tags[data-v-be065412]{display:flex;flex-wrap:wrap;gap:var(--space-2);justify-content:center}.tech-tag[data-v-be065412]{background:var(--primary-100);color:var(--primary-700);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:500}[data-theme=dark] .tech-tag[data-v-be065412]{background:#0ea5e926;color:var(--primary-300)}.tech-categories[data-v-be065412]{margin-bottom:var(--space-16)}.categories-grid[data-v-be065412]{display:grid;grid-template-columns:repeat(auto-fit,minmax(350px,1fr));gap:var(--space-8)}.tech-category[data-v-be065412]{opacity:0;transform:translateY(20px);animation:fadeInUp-be065412 .5s ease-out forwards}.category-header[data-v-be065412]{margin-bottom:var(--space-6)}.category-name[data-v-be065412]{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-2)}.category-description[data-v-be065412]{font-size:var(--text-sm);color:var(--text-secondary);font-style:italic}.category-techs[data-v-be065412]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3)}.tech-item[data-v-be065412]{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-lg);transition:all var(--transition-fast)}.tech-item[data-v-be065412]:hover{border-color:var(--primary-300);background:var(--primary-50);transform:translateY(-1px);box-shadow:var(--shadow-sm)}[data-theme=dark] .tech-item[data-v-be065412]:hover{background:#0ea5e90d;border-color:var(--primary-600)}.tech-icon[data-v-be065412]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.tech-icon img[data-v-be065412]{width:28px;height:28px;object-fit:contain}.tech-details[data-v-be065412]{display:flex;flex-direction:column;gap:var(--space-1)}.tech-details .tech-name[data-v-be065412]{font-size:var(--text-sm);font-weight:500;color:var(--text-primary);text-align:left;margin-bottom:0}.tech-level[data-v-be065412]{font-size:var(--text-xs);color:var(--text-tertiary);font-weight:400}.experience-highlights[data-v-be065412]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.highlights-grid[data-v-be065412]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:var(--space-6)}.highlight-card[data-v-be065412]{text-align:center;padding:var(--space-4)}.highlight-number[data-v-be065412]{display:inline-block;width:48px;height:48px;background:var(--gradient-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:var(--text-lg);margin:0 auto var(--space-3)}.highlight-card h4[data-v-be065412]{font-size:var(--text-lg);font-weight:600;color:var(--primary-600);margin-bottom:var(--space-3)}.highlight-card p[data-v-be065412]{color:var(--text-secondary);line-height:1.6}@media (max-width: 768px){.tech-grid[data-v-be065412]{grid-template-columns:1fr;gap:var(--space-4)}.categories-grid[data-v-be065412]{grid-template-columns:1fr;gap:var(--space-6)}.category-techs[data-v-be065412]{grid-template-columns:1fr;gap:var(--space-2)}.highlights-grid[data-v-be065412]{grid-template-columns:1fr;gap:var(--space-4)}}@media (max-width: 640px){.section-title[data-v-be065412]{font-size:var(--text-3xl)}.stack-title[data-v-be065412]{font-size:var(--text-xl)}.tech-card[data-v-be065412]{padding:var(--space-4)}.tech-logo[data-v-be065412]{width:56px;height:56px}.tech-logo img[data-v-be065412]{width:40px;height:40px}.experience-highlights[data-v-be065412]{padding:var(--space-6)}}.section-header[data-v-7c5031d1]{text-align:center;max-width:600px;margin:0 auto var(--space-16)}.section-badge[data-v-7c5031d1]{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--bg-accent);color:var(--primary-700);border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:600;margin-bottom:var(--space-4);border:1px solid var(--primary-200)}.badge-dot[data-v-7c5031d1]{width:8px;height:8px;background:var(--primary-500);border-radius:50%;display:block}.section-title[data-v-7c5031d1]{font-size:var(--text-4xl);margin-bottom:var(--space-4);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-description[data-v-7c5031d1]{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.6}.contact-grid[data-v-7c5031d1]{display:grid;grid-template-columns:2fr 1fr;gap:var(--space-12);max-width:1200px;margin:0 auto}.contact-card[data-v-7c5031d1]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-8);box-shadow:var(--shadow-sm)}.contact-card h3[data-v-7c5031d1]{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-6);text-align:center}.methods-list[data-v-7c5031d1]{display:flex;flex-direction:column;gap:var(--space-4);margin-bottom:var(--space-8)}.contact-method[data-v-7c5031d1]{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--bg-secondary);border:1px solid var(--border-primary);border-radius:var(--radius-xl);text-decoration:none;color:var(--text-primary);transition:all var(--transition-base);position:relative;overflow:hidden}.contact-method[data-v-7c5031d1]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:var(--gradient-primary);transition:left var(--transition-base);z-index:0}.contact-method[data-v-7c5031d1]:hover:before{left:0}.contact-method[data-v-7c5031d1]:hover{color:#fff;border-color:var(--primary-500);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.method-icon[data-v-7c5031d1]{display:flex;align-items:center;justify-content:center;width:48px;height:48px;background:var(--primary-100);border-radius:var(--radius-lg);color:var(--primary-600);flex-shrink:0;position:relative;z-index:1;transition:all var(--transition-base)}.contact-method:hover .method-icon[data-v-7c5031d1]{background:#fff3;color:#fff}.method-content[data-v-7c5031d1]{flex:1;position:relative;z-index:1}.method-content h4[data-v-7c5031d1]{font-size:var(--text-lg);font-weight:600;margin-bottom:var(--space-1)}.method-content p[data-v-7c5031d1]{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-1);transition:color var(--transition-base)}.contact-method:hover .method-content p[data-v-7c5031d1]{color:#fffc}.method-action[data-v-7c5031d1]{font-size:var(--text-xs);color:var(--primary-600);font-weight:500;transition:color var(--transition-base)}.contact-method:hover .method-action[data-v-7c5031d1]{color:#ffffffe6}.cta-section[data-v-7c5031d1]{text-align:center;padding-top:var(--space-6);border-top:1px solid var(--border-primary)}.cta-section h4[data-v-7c5031d1]{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-4)}.cta-buttons[data-v-7c5031d1]{display:flex;gap:var(--space-3);justify-content:center}.btn-primary[data-v-7c5031d1]{background:var(--gradient-primary);color:#fff;padding:var(--space-3) var(--space-6);border-radius:var(--radius-lg);text-decoration:none;font-weight:600;transition:all var(--transition-base);border:none}.btn-primary[data-v-7c5031d1]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-secondary[data-v-7c5031d1]{background:transparent;color:var(--primary-600);padding:var(--space-3) var(--space-6);border:2px solid var(--primary-300);border-radius:var(--radius-lg);text-decoration:none;font-weight:600;transition:all var(--transition-base)}.btn-secondary[data-v-7c5031d1]:hover{background:var(--primary-50);border-color:var(--primary-500);transform:translateY(-1px)}.qr-card[data-v-7c5031d1]{background:var(--bg-card);border:1px solid var(--border-primary);border-radius:var(--radius-2xl);padding:var(--space-6);box-shadow:var(--shadow-sm);text-align:center;height:fit-content}.qr-header h3[data-v-7c5031d1]{font-size:var(--text-xl);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-1)}.qr-header p[data-v-7c5031d1]{font-size:var(--text-sm);color:var(--text-secondary);margin-bottom:var(--space-6)}.qr-container[data-v-7c5031d1]{position:relative;display:inline-block;margin-bottom:var(--space-6);background:#fff;padding:var(--space-4);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm)}.qr-code[data-v-7c5031d1]{display:block;border-radius:var(--radius-lg);width:180px;height:180px;background:#f8f9fa}.qr-overlay[data-v-7c5031d1]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;width:40px;height:40px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.qr-logo[data-v-7c5031d1]{color:var(--primary-600)}.qr-instructions[data-v-7c5031d1]{display:flex;flex-direction:column;gap:var(--space-3)}.instruction-item[data-v-7c5031d1]{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm);color:var(--text-secondary)}.instruction-number[data-v-7c5031d1]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;background:var(--primary-100);color:var(--primary-600);border-radius:50%;font-weight:600;font-size:var(--text-xs);flex-shrink:0}.qr-actions[data-v-7c5031d1]{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--border-primary)}.btn-export[data-v-7c5031d1]{display:flex;align-items:center;gap:var(--space-2);width:100%;padding:var(--space-3) var(--space-4);background:var(--primary-600);color:#fff;border:none;border-radius:var(--radius-lg);font-weight:500;font-size:var(--text-sm);cursor:pointer;transition:all var(--transition-base);justify-content:center}.btn-export[data-v-7c5031d1]:hover{background:var(--primary-700);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn-export[data-v-7c5031d1]:active{transform:translateY(0)}.btn-export svg[data-v-7c5031d1]{flex-shrink:0}@media (max-width: 1024px){.contact-grid[data-v-7c5031d1]{grid-template-columns:1fr;gap:var(--space-8)}.qr-card[data-v-7c5031d1]{max-width:400px;margin:0 auto}}@media (max-width: 768px){.cta-buttons[data-v-7c5031d1]{flex-direction:column}.contact-method[data-v-7c5031d1]{padding:var(--space-3)}.method-icon[data-v-7c5031d1]{width:40px;height:40px}.qr-container[data-v-7c5031d1]{padding:var(--space-3)}}@media (max-width: 640px){.section-title[data-v-7c5031d1]{font-size:var(--text-3xl)}.contact-card[data-v-7c5031d1]{padding:var(--space-6)}.qr-card[data-v-7c5031d1]{padding:var(--space-4)}.methods-list[data-v-7c5031d1]{gap:var(--space-3)}}.footer[data-v-29f26be1]{background:var(--bg-secondary);border-top:1px solid var(--border-color);padding:2rem 0;margin-top:4rem}.footer-content[data-v-29f26be1]{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-text[data-v-29f26be1]{display:flex;flex-direction:column;gap:.5rem}.footer-text p[data-v-29f26be1]{color:var(--text-muted);margin:0}.made-with[data-v-29f26be1]{font-size:.9rem}.social-links[data-v-29f26be1]{display:flex;gap:1rem}.social-links a[data-v-29f26be1]{color:var(--text-muted);transition:all .3s ease;padding:.5rem;border-radius:.5rem}.social-links a[data-v-29f26be1]:hover{color:var(--primary);background:var(--bg-accent);transform:translateY(-2px)}@media (max-width: 768px){.footer-content[data-v-29f26be1]{flex-direction:column;text-align:center}.footer-text[data-v-29f26be1]{align-items:center}}#app{min-height:100vh;display:flex;flex-direction:column;position:relative;overflow-x:hidden}.app-loading{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;z-index:9999;transition:opacity .5s ease}.loading-spinner{display:flex;align-items:center;justify-content:center;animation:spin 2s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.app-content{min-height:100vh;display:flex;flex-direction:column;opacity:0;animation:fadeInApp 1s ease-out 1.5s forwards}@keyframes fadeInApp{to{opacity:1}}.main-content{flex:1;position:relative}.scroll-to-top{position:fixed;bottom:var(--space-8);right:var(--space-8);width:50px;height:50px;background:var(--gradient-primary);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-lg);transition:all var(--transition-fast);transform:translateY(100px);opacity:0;z-index:var(--z-fixed)}.scroll-to-top.visible{transform:translateY(0);opacity:1}.scroll-to-top:hover{transform:translateY(-4px);box-shadow:var(--shadow-2xl)}.scroll-to-top:active{transform:translateY(-2px)}.cursor-follower{position:fixed;width:20px;height:20px;background:#3b82f61a;border:2px solid var(--primary-500);border-radius:50%;pointer-events:none;z-index:9998;transition:all .3s ease;opacity:0}.cursor-follower.hover{width:40px;height:40px;background:#3b82f633;opacity:1}*{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.scroll-to-top{transition:opacity var(--transition-fast)}.cursor-follower{display:none}}@media (prefers-contrast: high){.cursor-follower{border-width:3px}.scroll-to-top{border:2px solid var(--text-primary)}}@media (max-width: 1024px){.cursor-follower{display:none}.scroll-to-top{bottom:var(--space-6);right:var(--space-6);width:45px;height:45px}}@media (max-width: 640px){.scroll-to-top{bottom:var(--space-4);right:var(--space-4);width:40px;height:40px}}@media print{.app-loading,.scroll-to-top,.cursor-follower{display:none!important}.main-content{background:#fff!important;color:#000!important}}.skip-link{position:absolute;top:-40px;left:6px;background:var(--primary-600);color:#fff;padding:8px;text-decoration:none;border-radius:4px;z-index:10000}.skip-link:focus{top:6px}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary)}::-webkit-scrollbar-thumb{background:var(--primary-300);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}[data-theme=dark] ::-webkit-scrollbar-track{background:var(--gray-800)}[data-theme=dark] ::-webkit-scrollbar-thumb{background:var(--primary-600)}[data-theme=dark] ::-webkit-scrollbar-thumb:hover{background:var(--primary-500)}::selection{background:var(--primary-200);color:var(--primary-900)}[data-theme=dark] ::selection{background:var(--primary-600);color:#fff}img{content-visibility:auto}.main-content>section{contain:layout style}@media (forced-colors: active){.scroll-to-top{forced-color-adjust:none;background:ButtonFace;color:ButtonText;border:2px solid ButtonText}}
