.app-header[data-v-d5420c0e]{background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:var(--z-sticky)}.header-content[data-v-d5420c0e]{display:flex;justify-content:space-between;align-items:center;padding:18px 0}.logo[data-v-d5420c0e]{display:flex;align-items:baseline;gap:10px;text-decoration:none}.logo-text[data-v-d5420c0e]{font-family:var(--mono);font-size:18px;font-weight:700;color:var(--text);letter-spacing:2px}.logo-sub[data-v-d5420c0e]{font-size:12px;color:var(--text3);letter-spacing:1px}.nav-links[data-v-d5420c0e]{display:flex;list-style:none;gap:36px}.nav-link[data-v-d5420c0e]{color:var(--text2);text-decoration:none;font-size:var(--font-size-sm);font-weight:500;position:relative;padding-bottom:2px;transition:color var(--transition-base)}.nav-link[data-v-d5420c0e]:after{content:"";position:absolute;bottom:-2px;left:0;width:0;height:1.5px;background:var(--accent);transition:width var(--transition-base)}.nav-link[data-v-d5420c0e]:hover,.nav-link.active[data-v-d5420c0e]{color:var(--text)}.nav-link[data-v-d5420c0e]:hover:after,.nav-link.active[data-v-d5420c0e]:after{width:100%}.mobile-btn[data-v-d5420c0e]{background:none;border:none;cursor:pointer;color:var(--text);padding:4px;display:none}.mobile-nav[data-v-d5420c0e]{display:none;flex-direction:column;list-style:none;border-top:1px solid var(--border);padding:var(--spacing-md) 0}.mobile-link[data-v-d5420c0e]{display:block;color:var(--text2);text-decoration:none;font-size:var(--font-size-base);font-weight:500;padding:10px var(--spacing-sm);border-radius:var(--radius-base);transition:all var(--transition-base)}.mobile-link[data-v-d5420c0e]:hover,.mobile-link.active[data-v-d5420c0e]{color:var(--accent);background:#f973160f}@media (max-width: 768px){.mobile-btn[data-v-d5420c0e]{display:block}.mobile-nav[data-v-d5420c0e]{display:flex}}.slide-down-enter-active[data-v-d5420c0e],.slide-down-leave-active[data-v-d5420c0e]{transition:all .2s ease}.slide-down-enter-from[data-v-d5420c0e],.slide-down-leave-to[data-v-d5420c0e]{opacity:0;transform:translateY(-8px)}.app-footer[data-v-bf7c7809]{background:#111;color:#ffffffb3;padding:var(--spacing-5xl) 0 var(--spacing-xl);border-top:2px solid var(--accent)}.footer-main[data-v-bf7c7809]{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:var(--spacing-3xl);margin-bottom:var(--spacing-4xl);padding-bottom:var(--spacing-3xl);border-bottom:1px solid rgba(255,255,255,.08)}.footer-brand[data-v-bf7c7809]{max-width:340px}.brand-logo[data-v-bf7c7809]{display:flex;align-items:baseline;gap:10px;margin-bottom:var(--spacing-lg)}.logo-text[data-v-bf7c7809]{font-family:var(--mono);font-size:20px;font-weight:700;color:#fff;letter-spacing:3px}.logo-sub[data-v-bf7c7809]{font-size:12px;color:#fff6;letter-spacing:1px}.brand-desc[data-v-bf7c7809]{font-size:var(--font-size-sm);color:#ffffff80;line-height:var(--line-height-relaxed);margin-bottom:var(--spacing-md)}.brand-slogan[data-v-bf7c7809]{font-family:var(--mono);font-size:11px;color:#ffffff4d;letter-spacing:.5px}.footer-col[data-v-bf7c7809]{display:flex;flex-direction:column}.col-title[data-v-bf7c7809]{font-size:var(--font-size-sm);font-weight:600;color:#fff;margin-bottom:var(--spacing-lg)}.col-links[data-v-bf7c7809]{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px}.col-links a[data-v-bf7c7809]{font-size:var(--font-size-sm);color:#ffffff80;text-decoration:none;transition:color var(--transition-base)}.col-links a[data-v-bf7c7809]:hover{color:#ffffffe6}.footer-contact[data-v-bf7c7809]{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--spacing-xl);margin-bottom:var(--spacing-3xl);padding:var(--spacing-xl);border:1px solid rgba(255,255,255,.06);border-radius:var(--radius-lg)}.contact-item[data-v-bf7c7809]{display:flex;gap:var(--spacing-sm);align-items:flex-start}.contact-icon[data-v-bf7c7809]{color:var(--accent);flex-shrink:0;margin-top:2px}.contact-label[data-v-bf7c7809]{font-size:11px;color:#ffffff59;font-weight:600;margin-bottom:3px;text-transform:uppercase;letter-spacing:.5px}.contact-value[data-v-bf7c7809]{font-size:var(--font-size-sm);color:#ffffffbf}.footer-bottom[data-v-bf7c7809]{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-xl);border-top:1px solid rgba(255,255,255,.06);font-size:var(--font-size-xs);color:#ffffff4d}.footer-bottom a[data-v-bf7c7809]{color:#ffffff4d;text-decoration:none;transition:color var(--transition-base)}.footer-bottom a[data-v-bf7c7809]:hover{color:#fff9}@media (max-width: 1024px){.footer-main[data-v-bf7c7809]{grid-template-columns:repeat(3,1fr)}.footer-brand[data-v-bf7c7809]{grid-column:1 / -1;max-width:100%}.footer-contact[data-v-bf7c7809]{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.app-footer[data-v-bf7c7809]{padding:var(--spacing-3xl) 0 var(--spacing-lg)}.footer-main[data-v-bf7c7809]{grid-template-columns:repeat(2,1fr);gap:var(--spacing-xl)}.footer-contact[data-v-bf7c7809]{grid-template-columns:1fr}.footer-bottom[data-v-bf7c7809]{flex-direction:column;gap:8px;text-align:center}}@media (max-width: 480px){.footer-main[data-v-bf7c7809]{grid-template-columns:1fr}}.app-container[data-v-7152e952]{min-height:100vh;display:flex;flex-direction:column}.main-content[data-v-7152e952]{flex:1}.fade-enter-active[data-v-7152e952],.fade-leave-active[data-v-7152e952]{transition:opacity .3s ease}.fade-enter-from[data-v-7152e952],.fade-leave-to[data-v-7152e952]{opacity:0}:root{--bg: #fafafa;--surface: #ffffff;--surface2: #f4f4f4;--border: #e8e8e8;--border2: #d8d8d8;--accent: #f97316;--accent2: #fb923c;--text: #111111;--text2: #555555;--text3: #999999;--mono: "JetBrains Mono", "Fira Code", monospace;--sans: "DM Sans", -apple-system, "PingFang SC", "Microsoft YaHei", sans-serif;--color-primary: var(--accent);--color-primary-light: var(--accent2);--color-primary-lighter: #fed7aa;--color-primary-dark: #ea6000;--color-primary-darker: #c2410c;--color-accent: var(--accent);--color-accent-light: var(--accent2);--color-accent-dark: #ea6000;--color-text-primary: var(--text);--color-text-secondary: var(--text2);--color-text-tertiary: var(--text3);--color-text-placeholder: #c4c4c4;--color-white: var(--surface);--color-black: #000000;--color-bg-page: var(--bg);--color-bg-secondary: var(--surface2);--color-bg-tertiary: #ebebeb;--color-border: var(--border);--color-border-light: #eeeeee;--color-border-lighter: #f5f5f5;--gradient-primary: var(--accent);--gradient-hero: #111111;--gradient-subtle: var(--surface2);--gradient-tech: var(--surface2);--color-success: #16a34a;--color-warning: #d97706;--color-danger: #dc2626;--color-info: #64748b;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-base: 0 1px 4px rgba(0, 0, 0, .06), 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .1);--shadow-xl: 0 16px 40px rgba(0, 0, 0, .12);--font-family-base: var(--sans);--font-family-mono: var(--mono);--font-size-xs: 12px;--font-size-sm: 13px;--font-size-base: 15px;--font-size-lg: 17px;--font-size-xl: 20px;--font-size-2xl: 24px;--font-size-3xl: 30px;--font-size-4xl: 36px;--font-size-5xl: 44px;--font-size-6xl: 56px;--font-size-7xl: 68px;--font-weight-light: 300;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--font-weight-extrabold: 800;--line-height-tight: 1.15;--line-height-base: 1.6;--line-height-relaxed: 1.75;--line-height-loose: 2;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--spacing-3xl: 64px;--spacing-4xl: 80px;--spacing-5xl: 100px;--radius-sm: 2px;--radius-base: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px;--transition-fast: .12s;--transition-base: .2s;--transition-slow: .35s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--container-sm: 640px;--container-md: 768px;--container-lg: 1024px;--container-xl: 1280px;--container-2xl: 1400px;--z-dropdown: 1000;--z-sticky: 1020;--z-fixed: 1030;--z-modal-backdrop: 1040;--z-modal: 1050;--z-popover: 1060;--z-tooltip: 1070}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--sans);font-size:var(--font-size-base);line-height:var(--line-height-base);color:var(--text);background-color:var(--bg);overflow-x:hidden}.container{width:100%;max-width:var(--container-2xl);margin:0 auto;padding:0 var(--spacing-xl)}@media (max-width: 768px){.container{padding:0 var(--spacing-lg)}}.section{padding:var(--spacing-5xl) 0}@media (max-width: 768px){.section{padding:var(--spacing-3xl) 0}}h1,h2,h3,h4,h5,h6{font-family:var(--sans);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--text)}h1{font-size:var(--font-size-6xl);font-weight:var(--font-weight-extrabold)}h2{font-size:var(--font-size-5xl)}h3{font-size:var(--font-size-4xl)}h4{font-size:var(--font-size-3xl)}h5{font-size:var(--font-size-2xl)}h6{font-size:var(--font-size-xl)}@media (max-width: 768px){h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}}p{margin-bottom:var(--spacing-md);line-height:var(--line-height-relaxed)}a{color:var(--accent);text-decoration:none;transition:color var(--transition-base) var(--ease-out)}a:hover{color:var(--color-primary-dark)}.btn{display:inline-flex;align-items:center;justify-content:center;padding:12px 28px;font-family:var(--sans);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);line-height:1;border:1.5px solid transparent;border-radius:var(--radius-base);cursor:pointer;transition:all var(--transition-base) var(--ease-out);white-space:nowrap;letter-spacing:.2px;gap:6px}.btn-primary{background:var(--accent);color:#fff;border-color:var(--accent)}.btn-primary:hover{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.btn-secondary{background:transparent;color:var(--text);border-color:var(--border2)}.btn-secondary:hover{border-color:var(--text);color:var(--text)}.btn-white{background:#fff;color:var(--text);border-color:#fff}.btn-white:hover{background:transparent;color:#fff;border-color:#fff9}.btn-lg{padding:14px 36px;font-size:var(--font-size-base)}.btn-sm{padding:8px 16px;font-size:var(--font-size-xs)}.card{background:var(--surface);border-radius:var(--radius-lg);border:1px solid var(--border);padding:var(--spacing-xl);transition:box-shadow var(--transition-base) var(--ease-out),transform var(--transition-base) var(--ease-out)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.badge{display:inline-block;padding:4px var(--spacing-md);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);border-radius:var(--radius-base);letter-spacing:.5px}.badge-primary{background:var(--accent);color:#fff}.badge-light{background:#f9731614;color:var(--accent);border:1px solid rgba(249,115,22,.2)}.gradient-text{color:var(--accent)}.grid{display:grid;gap:var(--spacing-xl)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media (max-width: 1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}.flex-between{display:flex;align-items:center;justify-content:space-between}.flex-col{display:flex;flex-direction:column}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--surface2)}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}::selection{background:var(--accent);color:#fff}.disabled,[disabled]{opacity:.5;cursor:not-allowed;pointer-events:none}@media (max-width: 768px){.hide-mobile{display:none!important}}@media (min-width: 769px){.show-mobile{display:none!important}}@media print{.no-print{display:none!important}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.fade-in{animation:fadeIn var(--transition-base) var(--ease-out)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.slide-up{animation:slideUp .6s var(--ease-out)}@keyframes slideDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}.slide-down{animation:slideDown .6s var(--ease-out)}@keyframes slideRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}.slide-right{animation:slideRight .6s var(--ease-out)}@keyframes slideLeft{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.slide-left{animation:slideLeft .6s var(--ease-out)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.scale-in{animation:scaleIn .4s var(--ease-out)}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.gradient-animate{background-size:200% 200%;animation:gradientShift 8s ease infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.bounce{animation:bounce 1s ease infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.shake{animation:shake .5s ease}@keyframes countUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.count-up{animation:countUp 1s var(--ease-out)}.hover-lift{transition:transform var(--transition-base) var(--ease-out)}.hover-lift:hover{transform:translateY(-8px)}.hover-scale{transition:transform var(--transition-base) var(--ease-out)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:box-shadow var(--transition-base) var(--ease-out)}.hover-glow:hover{box-shadow:0 0 20px #f9731640}.parallax{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:opacity .6s var(--ease-out),transform .6s var(--ease-out)}.animate-on-scroll.is-visible{opacity:1;transform:translateY(0)}.animate-delay-1{transition-delay:.1s}.animate-delay-2{transition-delay:.2s}.animate-delay-3{transition-delay:.3s}.animate-delay-4{transition-delay:.4s}.animate-delay-5{transition-delay:.5s}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.loading{animation:spin-slow 2s linear infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.3}}.blink{animation:blink 1.4s ease-in-out infinite}@keyframes typing{0%{width:0}to{width:100%}}.typewriter{overflow:hidden;white-space:nowrap;animation:typing 3s steps(40,end)}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
