:root{--brand-50:#eff6ff;--brand-100:#dbeafe;--brand-200:#bfdbfe;--brand-300:#93c5fd;--brand-400:#60a5fa;--brand-500:#3b82f6;--brand-600:#2563eb;--brand-700:#1d4ed8;--brand-800:#1e40af;--accent-400:#22d3ee;--accent-500:#0f9ca8;--accent-600:#0e8a94;--text-primary:#0f172a;--text-secondary:#475569;--text-muted:#64748b;--text-placeholder:#94a3b8;--text-inverse:#f8fafc;--text-inverse-muted:#e2e8f0d1;--bg-page:radial-gradient(circle at top, #3b82f614, transparent 24%), linear-gradient(180deg, #f8fbff 0%, #f2f6fb 100%);--bg-surface:#fff;--bg-subtle:#f8fafc;--bg-subtle-hover:#f1f5f9;--bg-dark:#0f172a;--bg-dark-secondary:#172033;--bg-dark-tertiary:#1b2550;--border-default:#dbe2ea;--border-light:#e2e8f0;--border-lighter:#eef2f7;--border-focus:#60a5fa;--shadow-xs:0 1px 4px #0f172a0a;--shadow-sm:0 2px 8px #0f172a0f;--shadow-md:0 8px 24px #0f172a14;--shadow-lg:0 18px 40px #0f172a1a;--shadow-xl:0 24px 56px #0f172a24;--shadow-brand:0 4px 20px #2563eb59;--shadow-brand-hover:0 8px 30px #2563eb80;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-full:999px;--transition-fast:.15s ease;--transition-normal:.25s ease;--transition-slow:.35s ease;--gradient-brand:linear-gradient(135deg, #2563eb, #1d4ed8);--gradient-brand-hover:linear-gradient(135deg, #1d4ed8, #1e40af);--gradient-accent:linear-gradient(135deg, #0f9ca8, #2563eb);--gradient-hero-bg:radial-gradient(circle at 20% 20%, #6499ff2e, transparent 40%), radial-gradient(circle at 80% 60%, #0f9ca81f, transparent 35%), linear-gradient(135deg, #0f172a, #172033 50%, #1b2550);--gradient-text:linear-gradient(135deg, #60a5fa, #38bdf8, #22d3ee);--gradient-progress:linear-gradient(90deg, #0f9ca8, #2563eb)}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth}html,body,#root{min-height:100%}body{color:var(--text-primary);background:var(--bg-page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:Microsoft YaHei UI,PingFang SC,Noto Sans SC,Segoe UI,system-ui,sans-serif;font-weight:400;line-height:1.5}button,input,textarea,select{font:inherit}button{letter-spacing:0}h1,h2,h3,p{margin:0}a{color:inherit;text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{border-radius:var(--radius-full);background:var(--border-default)}::-webkit-scrollbar-thumb:hover{background:var(--text-placeholder)}::selection{color:var(--text-primary);background:#2563eb2e}.landing-nav{z-index:100;-webkit-backdrop-filter:blur(12px);background:#ffffffd1;border-bottom:1px solid #dbe2ea99;justify-content:space-between;align-items:center;padding:14px 32px;transition:background .3s,box-shadow .3s;display:flex;position:sticky;top:0}.landing-nav.scrolled{background:#fffffff5;box-shadow:0 2px 20px #0f172a14}.landing-nav-brand{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.landing-nav-logo{border-radius:var(--radius-md);background:var(--gradient-accent);color:#fff;place-items:center;width:36px;height:36px;font-size:16px;font-weight:700;display:grid;box-shadow:0 2px 8px #0f9ca840}.landing-nav-name{color:var(--text-primary);font-size:16px;font-weight:700}.landing-nav-links{align-items:center;gap:6px;display:flex}.landing-nav-links a{border-radius:var(--radius-sm);color:var(--text-secondary);transition:color var(--transition-fast), background var(--transition-fast);padding:8px 16px;font-size:14px;font-weight:500;text-decoration:none}.landing-nav-links a:hover{color:var(--text-primary);background:var(--bg-subtle-hover)}.landing-nav-actions{align-items:center;gap:12px;display:flex}.btn-nav-login{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);padding:8px 18px;font-size:14px;font-weight:600;text-decoration:none}.btn-nav-login:hover{background:var(--bg-subtle-hover);border-color:var(--text-placeholder)}.btn-nav-cta{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast);box-shadow:var(--shadow-brand);border:none;align-items:center;gap:6px;padding:8px 20px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.btn-nav-cta:hover{box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.landing-nav-toggle{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;place-items:center;padding:0;font-size:20px;display:none}.hero-section{background:var(--gradient-hero-bg);padding:80px 32px 100px;position:relative;overflow:hidden}.hero-inner{grid-template-columns:1fr 1fr;align-items:center;gap:60px;max-width:1200px;margin:0 auto;display:grid}.hero-text{flex-direction:column;gap:24px;display:flex}.hero-badge{border-radius:var(--radius-full);color:#cbd5e1;background:#0f172a59;border:1px solid #94a3b84d;align-items:center;gap:8px;width:fit-content;padding:6px 14px;font-size:13px;display:inline-flex}.hero-badge-dot{background:var(--brand-400);border-radius:50%;width:8px;height:8px;animation:2s infinite pulse-dot;box-shadow:0 0 8px #60a5fa80}@keyframes pulse-dot{0%,to{opacity:1;box-shadow:0 0 8px #60a5fa80}50%{opacity:.4;box-shadow:0 0 16px #60a5facc}}.hero-title{color:var(--text-inverse);letter-spacing:-.02em;font-size:52px;font-weight:800;line-height:1.15}.hero-title .gradient-text{background:var(--gradient-text);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.hero-desc{color:var(--text-inverse-muted);max-width:520px;font-size:17px;line-height:1.75}.hero-actions{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.btn-hero-primary{background:var(--gradient-brand);color:#fff;cursor:pointer;box-shadow:var(--shadow-brand);border:none;border-radius:10px;align-items:center;gap:8px;padding:14px 32px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;display:inline-flex}.btn-hero-primary:hover{box-shadow:var(--shadow-brand-hover);transform:translateY(-2px)}.btn-hero-secondary{color:#e2e8f0;cursor:pointer;background:#ffffff0f;border:1px solid #94a3b866;border-radius:10px;align-items:center;gap:8px;padding:14px 28px;font-size:16px;font-weight:600;text-decoration:none;transition:background .2s,border-color .2s;display:inline-flex}.btn-hero-secondary:hover{background:#ffffff1f;border-color:#94a3b899}.hero-stats-bar{flex-wrap:wrap;align-items:center;gap:32px;padding-top:12px;display:flex}.hero-stat{color:var(--text-placeholder);align-items:center;gap:10px;font-size:14px;display:flex}.hero-stat svg{color:var(--brand-400);flex-shrink:0}.hero-stat strong{color:var(--text-inverse);font-size:16px;font-weight:700}.hero-visual{flex-direction:column;gap:20px;display:flex}.hero-demo-card{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a80;border:1px solid #94a3b82e;border-radius:14px;padding:24px;animation:4s ease-in-out infinite hero-card-float;position:relative}.hero-demo-card:before{content:"";-webkit-mask-composite:xor;opacity:.6;background:linear-gradient(135deg,#60a5fa4d,#22d3ee26,#60a5fa4d);border-radius:15px;padding:1px;animation:3s ease-in-out infinite hero-border-glow;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#fff 0 0),linear-gradient(#fff 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes hero-card-float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes hero-border-glow{0%,to{opacity:.4}50%{opacity:.8}}.hero-demo-label{color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.06em;margin-bottom:16px;font-size:12px;font-weight:600}.hero-demo-text{color:#cbd5e1;background:#ffffff0d;border:1px solid #94a3b81f;border-radius:10px;min-height:80px;margin-bottom:16px;padding:16px;font-size:14px;line-height:1.7}.hero-demo-result{justify-content:space-between;align-items:center;gap:16px;display:flex}.hero-demo-before,.hero-demo-after{text-align:center;flex:1}.hero-demo-before span,.hero-demo-after span{color:var(--text-placeholder);margin-bottom:4px;font-size:11px;display:block}.hero-demo-before strong{color:#f87171;font-size:28px;font-weight:800}.hero-demo-after strong{color:#4ade80;font-size:28px;font-weight:800}.hero-demo-arrow{color:var(--text-muted);flex-shrink:0;font-size:20px}.hero-demo-tag{border-radius:var(--radius-full);color:#4ade80;background:#22c55e1f;border:1px solid #22c55e33;align-items:center;gap:6px;margin-left:auto;padding:6px 14px;font-size:13px;font-weight:600;display:inline-flex}@keyframes count-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.hero-stat strong{animation:.5s ease-out both count-up}.landing-section{padding:100px 32px}.landing-section.alt-bg{background:var(--bg-subtle)}.section-header{text-align:center;max-width:640px;margin:0 auto 60px}.section-label{border:1px solid var(--border-default);border-radius:var(--radius-full);background:var(--bg-surface);color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;padding:4px 14px;font-size:12px;font-weight:600;display:inline-block}.section-title{color:var(--text-primary);letter-spacing:-.01em;margin-bottom:16px;font-size:36px;font-weight:800;line-height:1.2}.section-desc{color:var(--text-muted);font-size:16px;line-height:1.7}.section-desc strong{color:var(--brand-600);font-weight:600}.features-grid{grid-template-columns:repeat(3,1fr);gap:24px;max-width:1200px;margin:0 auto;display:grid}.feature-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-surface);transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;gap:14px;padding:32px 28px;display:flex;position:relative;overflow:hidden}.feature-card:before{content:"";background:var(--gradient-accent);opacity:0;height:3px;transition:opacity var(--transition-normal), transform var(--transition-normal);border-radius:0 0 3px 3px;position:absolute;top:0;left:16px;right:16px;transform:scaleX(.6)}.feature-card:hover{box-shadow:var(--shadow-lg);border-color:var(--brand-300);transform:translateY(-6px)}.feature-card:hover:before{opacity:1;transform:scaleX(1)}.feature-icon{border-radius:var(--radius-lg);width:48px;height:48px;color:var(--brand-600);transition:transform var(--transition-normal), background var(--transition-normal);background:linear-gradient(135deg,#0f9ca81f,#2563eb1f);place-items:center;display:grid}.feature-card:hover .feature-icon{background:linear-gradient(135deg,#0f9ca833,#2563eb33);transform:scale(1.08)rotate(-4deg)}.feature-card h3{color:var(--text-primary);margin:0;font-size:18px;font-weight:700}.feature-card p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.7}.steps-container{grid-template-columns:repeat(3,1fr);gap:32px;max-width:1000px;margin:0 auto;display:grid}.step-card{text-align:center;border-radius:var(--radius-xl);background:var(--bg-surface);box-shadow:var(--shadow-xs);transition:box-shadow var(--transition-normal), border-color var(--transition-normal);border:1px solid #0000;padding:32px 24px 28px;position:relative}.step-card:hover{border-color:var(--border-light);box-shadow:var(--shadow-md)}.step-number{background:var(--gradient-accent);color:#fff;border-radius:50%;place-items:center;width:56px;height:56px;margin:0 auto 20px;font-size:22px;font-weight:800;display:grid;box-shadow:0 6px 20px #0f9ca840}.step-card h3{color:var(--text-primary);margin:0 0 8px;font-size:18px;font-weight:700}.step-card p{color:var(--text-muted);margin:0;font-size:14px;line-height:1.65}.step-connector{background:linear-gradient(90deg, #cbd5e1, var(--border-light));width:calc(100% - 56px);height:2px;position:absolute;top:60px;right:-50%}.step-connector:after{content:"";background:var(--brand-500);border-radius:50%;width:6px;height:6px;animation:2s ease-in-out infinite connector-dot;position:absolute;top:-2px;left:0}@keyframes connector-dot{0%,to{left:0}50%{left:calc(100% - 6px)}}.step-card:last-child .step-connector{display:none}.pricing-grid{grid-template-columns:repeat(4,1fr);align-items:start;gap:20px;max-width:1200px;margin:0 auto;display:grid}.pricing-card{border:2px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-surface);text-align:center;transition:transform var(--transition-normal), box-shadow var(--transition-normal), border-color var(--transition-normal);flex-direction:column;gap:20px;padding:36px 28px;display:flex;position:relative}.pricing-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-4px)}.pricing-card.featured{border-color:var(--brand-500);transform:scale(1.03);box-shadow:0 12px 40px #2563eb1f}.pricing-card.featured:hover{transform:scale(1.03)translateY(-4px)}.pricing-badge{border-radius:var(--radius-full);background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand);padding:4px 18px;font-size:12px;font-weight:700;position:absolute;top:-13px;left:50%;transform:translate(-50%)}.pricing-card.featured .pricing-badge{animation:2s ease-in-out infinite badge-pulse}@keyframes badge-pulse{0%,to{box-shadow:0 4px 12px #2563eb4d}50%{box-shadow:0 4px 24px #2563eb8c}}.pricing-name{color:var(--text-primary);font-size:18px;font-weight:700}.pricing-credits{color:var(--text-primary);font-size:44px;font-weight:800;line-height:1}.pricing-credits small{color:var(--text-muted);margin-top:6px;font-size:14px;font-weight:500;display:block}.pricing-price{color:var(--brand-600);font-size:32px;font-weight:800}.pricing-price small{color:var(--text-muted);font-size:14px;font-weight:500}.pricing-features{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.pricing-features li{color:var(--text-secondary);text-align:left;align-items:center;gap:8px;font-size:13px;display:flex}.pricing-features li svg{color:#22c55e;flex-shrink:0}.pricing-cta{background:var(--brand-50);width:100%;color:var(--brand-600);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast), box-shadow var(--transition-fast);border:none;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:12px 0;font-size:15px;font-weight:700;text-decoration:none;display:inline-flex}.pricing-cta:hover{background:var(--brand-100);box-shadow:var(--shadow-sm)}.pricing-card.featured .pricing-cta{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand)}.pricing-card.featured .pricing-cta:hover{background:var(--gradient-brand-hover);box-shadow:var(--shadow-brand-hover)}.pricing-value-ratio{background:linear-gradient(135deg,#2563eb0f,#0f9ca80f);border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;padding:10px 14px;font-size:15px;font-weight:700;display:flex;position:relative;overflow:hidden}.pricing-value-ratio:after{content:"";background:linear-gradient(90deg,#0000,#ffffff80,#0000);width:100%;height:100%;animation:3s ease-in-out infinite shimmer;position:absolute;top:0;left:-100%}@keyframes shimmer{0%,to{left:-100%}50%{left:100%}}.pricing-value-pay{color:var(--text-muted);font-size:14px}.pricing-value-arrow{color:var(--brand-600);font-size:16px}.pricing-value-get{color:var(--brand-600);font-size:20px;font-weight:800}.pricing-value-bonus{border-radius:var(--radius-full);color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.pricing-card.featured .pricing-value-ratio{background:linear-gradient(135deg,#2563eb1f,#0f9ca81f)}.pricing-desc{color:var(--text-muted);text-align:left;margin:0;font-size:13px;line-height:1.7}.pricing-free-badge{border-radius:var(--radius-md);color:var(--brand-600);background:linear-gradient(135deg,#2563eb0f,#0f9ca80a);border:1px solid #2563eb26;align-items:center;gap:6px;padding:10px 24px;font-size:14px;font-weight:600;display:inline-flex}.testimonials-section{background:var(--bg-subtle);border-top:1px solid var(--border-lighter);border-bottom:1px solid var(--border-lighter);padding:80px 0;position:relative;overflow:hidden}.testimonials-section:before,.testimonials-section:after{content:"";z-index:2;pointer-events:none;width:80px;position:absolute;top:0;bottom:0}.testimonials-section:before{background:linear-gradient(90deg, var(--bg-subtle) 0%, transparent 100%);left:0}.testimonials-section:after{background:linear-gradient(270deg, var(--bg-subtle) 0%, transparent 100%);right:0}.testimonials-section .section-header{z-index:1;margin-bottom:40px;position:relative}.testimonials-marquee-container{flex-direction:column;gap:20px;display:flex}.testimonials-track{gap:20px;width:max-content;display:flex}.testimonials-track.row-forward{animation:50s linear infinite marquee-left}.testimonials-track.row-reverse{animation:50s linear infinite marquee-right}@keyframes marquee-left{0%{transform:translate(0)}to{transform:translate(-50%)}}@keyframes marquee-right{0%{transform:translate(-50%)}to{transform:translate(0)}}.testimonials-track:hover{animation-play-state:paused}.testimonial-card{border:1px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-surface);width:380px;box-shadow:var(--shadow-xs);transition:transform var(--transition-normal), box-shadow var(--transition-normal);flex-shrink:0;padding:24px;position:relative}.testimonial-card:before{content:"\"";color:var(--brand-100);font-family:Georgia,serif;font-size:48px;font-weight:800;line-height:1;position:absolute;top:12px;right:20px}.testimonial-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.testimonial-stars{color:#f59e0b;gap:2px;margin-bottom:12px;font-size:14px;display:flex}.testimonial-text{color:var(--text-secondary);margin:0 0 14px;font-size:14px;line-height:1.75}.testimonial-author{align-items:center;gap:10px;display:flex}.testimonial-avatar{background:var(--gradient-accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:14px;font-weight:700;display:grid}.testimonial-author-info{flex-direction:column;display:flex}.testimonial-author-name{color:var(--text-primary);font-size:14px;font-weight:700}.testimonial-author-role{color:var(--text-placeholder);font-size:12px}.trust-section{text-align:center;background:var(--bg-surface);padding:80px 32px}.trust-keywords{flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;max-width:800px;margin-bottom:32px;margin-left:auto;margin-right:auto;display:flex}.trust-keyword-tag{border:1px solid var(--brand-200);border-radius:var(--radius-full);background:var(--brand-50);color:var(--brand-700);white-space:nowrap;cursor:default;transition:all var(--transition-normal);padding:8px 18px;font-size:13px;font-weight:600;display:inline-block}.trust-keyword-tag:hover{background:var(--gradient-brand);color:#fff;box-shadow:var(--shadow-brand);border-color:#0000;transform:translateY(-2px)}.trust-content{flex-direction:column;gap:12px;max-width:760px;margin:0 auto;display:flex}.trust-content p{color:var(--text-secondary);font-size:15px;line-height:1.85}.trust-content p strong{color:var(--brand-600)}.faq-list{flex-direction:column;gap:12px;max-width:740px;margin:0 auto;display:flex}.faq-item{border:1px solid var(--border-light);border-radius:var(--radius-lg);background:var(--bg-surface);transition:border-color var(--transition-fast);overflow:hidden}.faq-item.open{border-color:var(--brand-300)}.faq-question{width:100%;color:var(--text-primary);text-align:left;cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;font-size:16px;font-weight:600;line-height:1.4;display:flex}.faq-icon{background:var(--bg-subtle-hover);width:28px;height:28px;color:var(--text-muted);transition:transform var(--transition-normal), background var(--transition-normal), color var(--transition-normal);border-radius:50%;flex-shrink:0;place-items:center;font-size:18px;font-weight:700;display:grid}.faq-item.open .faq-icon{background:var(--brand-50);color:var(--brand-600);transform:rotate(45deg)}.faq-answer{max-height:0;transition:max-height var(--transition-slow) ease, padding var(--transition-slow) ease;overflow:hidden}.faq-item.open .faq-answer{max-height:300px}.faq-answer p{color:var(--text-secondary);margin:0;padding:0 24px 20px;font-size:14px;line-height:1.75}.cta-banner{text-align:center;background:radial-gradient(circle,#6499ff24,#0000 50%),linear-gradient(135deg,#0f172a,#172033 50%,#1b2550);padding:80px 32px}.cta-banner .section-title{color:var(--text-inverse)}.cta-banner .section-desc{color:#e2e8f0cc}.cta-banner .btn-hero-primary{margin-top:8px}.landing-footer{background:var(--bg-surface);border-top:1px solid var(--border-lighter);padding:64px 32px 32px}.footer-inner{grid-template-columns:1.5fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto;display:grid}.footer-brand p{color:var(--text-muted);margin-top:12px;font-size:14px;line-height:1.7}.footer-col h4{color:var(--text-primary);margin:0 0 16px;font-size:14px;font-weight:700}.footer-col a{color:var(--text-muted);transition:color var(--transition-fast);padding:4px 0;font-size:14px;text-decoration:none;display:block}.footer-col a:hover{color:var(--brand-600)}.footer-bottom{border-top:1px solid var(--border-lighter);max-width:1200px;color:var(--text-placeholder);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin:48px auto 0;padding-top:24px;font-size:13px;display:flex}.back-to-top{z-index:90;background:var(--gradient-brand);color:#fff;cursor:pointer;width:44px;height:44px;box-shadow:var(--shadow-brand);transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:50%;place-items:center;animation:.35s ease-out back-to-top-in;display:grid;position:fixed;bottom:32px;right:32px}.back-to-top:hover{box-shadow:var(--shadow-brand-hover);transform:translateY(-2px)}@keyframes back-to-top-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.reveal-on-scroll{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(30px)}.reveal-on-scroll.revealed{opacity:1;transform:translateY(0)}.reveal-delay-1{transition-delay:.1s}.reveal-delay-2{transition-delay:.2s}.reveal-delay-3{transition-delay:.3s}@media (width<=1100px){.hero-inner{grid-template-columns:1fr;gap:40px}.hero-title{font-size:40px}.hero-visual{max-width:560px}.features-grid{grid-template-columns:repeat(2,1fr)}.pricing-grid{grid-template-columns:repeat(2,1fr);gap:16px;max-width:600px}.pricing-card.featured{transform:none}.pricing-card.featured:hover{transform:translateY(-4px)}.testimonial-card{width:300px}.footer-inner{grid-template-columns:1fr 1fr;gap:32px}.testimonials-section:before,.testimonials-section:after{width:40px}}@media (width<=720px){.landing-nav{padding:12px 16px}.landing-nav-links{display:none}.landing-nav-toggle{display:grid}.hero-section{padding:48px 16px 64px}.hero-title{font-size:32px}.hero-desc{font-size:15px}.hero-actions{flex-direction:column;align-items:stretch}.btn-hero-primary,.btn-hero-secondary{justify-content:center}.hero-stats-bar{flex-direction:column;gap:8px}.landing-section{padding:64px 16px}.section-title{font-size:28px}.features-grid{grid-template-columns:1fr}.steps-container{grid-template-columns:1fr;gap:24px}.step-connector{display:none}.pricing-grid{grid-template-columns:1fr;max-width:380px;margin:0 auto}.pricing-card.featured{transform:none}.footer-inner{grid-template-columns:1fr;gap:24px}.footer-bottom{text-align:center;flex-direction:column}.back-to-top{width:40px;height:40px;bottom:20px;right:20px}}.auth-page{place-items:center;min-height:70vh;padding:40px 16px;display:grid}.auth-card{border:1px solid var(--border-default);border-radius:var(--radius-xl);background:var(--bg-surface);width:100%;max-width:420px;box-shadow:var(--shadow-lg);padding:36px 32px}.auth-card h1{color:var(--text-primary);margin-bottom:8px;font-size:26px;font-weight:800}.auth-card>p{color:var(--text-muted);margin-bottom:28px;font-size:14px;line-height:1.6}.auth-card .field{margin-bottom:18px;display:block}.auth-card .field>span{color:var(--text-secondary);margin-bottom:8px;font-size:14px;font-weight:600;display:block}.auth-card .field input{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;color:var(--text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);box-sizing:border-box;padding:10px 14px;font-size:14px}.auth-card .field input:focus{border-color:var(--brand-400);outline:none;box-shadow:0 0 0 3px #3b82f61a}.auth-card .field input::placeholder{color:var(--text-placeholder)}.auth-card .field input:disabled{background:var(--bg-subtle);opacity:.7}.auth-card .btn-primary{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;cursor:pointer;width:100%;height:44px;box-shadow:var(--shadow-brand);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:0 16px;font-size:15px;font-weight:700;display:inline-flex}.auth-card .btn-primary:hover:not(:disabled){box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.auth-card .btn-primary:disabled{opacity:.55;cursor:not-allowed}.auth-footer{text-align:center;color:var(--text-muted);margin-top:24px;font-size:13px}.auth-footer a{color:var(--brand-600);transition:color var(--transition-fast);font-weight:700}.auth-footer a:hover{color:var(--brand-700)}.auth-card .error-banner{border-radius:var(--radius-md);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;margin-bottom:20px;padding:10px 14px;font-size:13px}.legal-page{color:#334155;max-width:800px;margin:0 auto;padding:48px 32px 80px;line-height:1.8}.legal-page h1{color:#0f172a;letter-spacing:-.01em;margin:0 0 8px;font-size:32px;font-weight:800}.legal-page .legal-date{color:#94a3b8;margin-bottom:40px;font-size:14px}.legal-page h2{color:#0f172a;margin:36px 0 12px;padding-top:4px;font-size:20px;font-weight:700}.legal-page p{margin:0 0 12px;font-size:15px}.legal-page ul{margin:0 0 16px;padding-left:24px}.legal-page li{margin-bottom:8px;font-size:15px}.legal-page strong{color:#0f172a}.legal-page a{color:#2563eb;text-decoration:none}.legal-page a:hover{text-decoration:underline}.legal-back{color:#64748b;align-items:center;gap:6px;margin-bottom:32px;font-size:14px;font-weight:500;text-decoration:none;transition:color .15s;display:inline-flex}.legal-back:hover{color:#2563eb}@media (width<=720px){.legal-page{padding:32px 16px 64px}.legal-page h1{font-size:26px}.legal-page h2{font-size:18px}}.app-shell{width:min(1360px,100% - 32px);margin:0 auto;padding:24px 0 56px}.app-body{gap:20px;display:flex}.app-main{flex:1;min-width:0}.topbar{border:1px solid var(--border-default);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-sm);z-index:50;background:#ffffffe6;align-items:center;gap:16px;margin-bottom:24px;padding:12px 20px;display:flex;position:sticky;top:8px}.topbar-left{flex-shrink:0}.brand-block{color:inherit;align-items:center;gap:10px;text-decoration:none;display:flex}.brand-icon{border-radius:var(--radius-md);background:var(--gradient-accent);color:#fff;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 2px 8px #0f9ca840}.brand-copy{flex-direction:column;align-items:flex-start;gap:1px;display:flex}.brand-copy strong{color:var(--text-primary);font-size:15px;font-weight:700}.brand-copy span{color:var(--text-muted);font-size:11px}.topbar-nav{flex:1;align-items:center;gap:4px;display:flex}.nav-link{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);padding:7px 14px;font-size:14px;font-weight:500;text-decoration:none;position:relative}.nav-link:hover{background:var(--bg-subtle-hover);color:var(--text-primary)}.nav-link.active{background:var(--brand-50);color:var(--brand-600);font-weight:600}.nav-link.nav-admin{color:#7c3aed}.nav-link.nav-admin.active{color:#7c3aed;background:#f5f3ff}.topbar-meta{flex-shrink:0;align-items:center;gap:10px;display:flex}.balance-display{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);align-items:center;gap:4px;padding:6px 12px;font-weight:600;display:inline-flex}.balance-icon{font-size:14px}.balance-value{color:var(--text-primary);font-size:16px}.balance-unit{color:var(--text-muted);font-size:12px}.btn-recharge{border-radius:var(--radius-sm);color:#92400e;cursor:pointer;transition:all var(--transition-fast);background:#fef3c7;border:1px solid #fbbf24;align-items:center;padding:6px 14px;font-size:12px;font-weight:700;text-decoration:none;display:inline-flex}.btn-recharge:hover{background:#fde68a}.user-menu{position:relative}.user-menu-trigger{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:8px;padding:4px 8px 4px 4px;font-size:13px;display:flex}.user-menu-trigger:hover{border-color:var(--text-placeholder);background:var(--bg-subtle-hover)}.user-avatar{background:var(--gradient-accent);color:#fff;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.user-name{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:120px;font-weight:500;overflow:hidden}.user-chevron{color:var(--text-muted);transition:transform var(--transition-fast)}.user-chevron.open{transform:rotate(180deg)}.user-dropdown{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);min-width:200px;box-shadow:var(--shadow-lg);z-index:60;animation:.15s ease-out dropdown-in;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.user-dropdown-header{color:var(--text-secondary);align-items:center;gap:8px;padding:12px 16px;font-size:13px;display:flex}.user-role-badge{border-radius:var(--radius-full);color:#7c3aed;background:#f5f3ff;padding:1px 8px;font-size:10px;font-weight:700}.user-dropdown-divider{background:var(--border-lighter);height:1px}.user-dropdown-item{cursor:pointer;width:100%;color:var(--text-secondary);transition:background var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:10px 16px;font-size:13px;font-weight:500;display:flex}.user-dropdown-item:hover{background:var(--bg-subtle-hover)}.user-dropdown-item.logout{color:#b91c1c}.user-dropdown-item.logout:hover{background:#fef2f2}.btn-logout{border:1px solid var(--border-light);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);padding:4px 10px;font-size:12px}.btn-logout:hover{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.mobile-only{display:none}.mobile-menu-toggle{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:36px;height:36px;color:var(--text-secondary);cursor:pointer;place-items:center;padding:0;display:none}.mobile-nav-overlay{z-index:55;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a4d;position:fixed;inset:0}.mobile-nav-sheet{background:var(--bg-surface);width:280px;box-shadow:var(--shadow-xl);flex-direction:column;gap:4px;padding:20px;display:flex;position:absolute;top:0;bottom:0;right:0}.mobile-nav-item{border-radius:var(--radius-md);color:var(--text-secondary);text-align:left;cursor:pointer;background:0 0;border:none;padding:12px 16px;font-size:15px;font-weight:600;text-decoration:none;display:block}.mobile-nav-item:hover{background:var(--bg-subtle-hover)}.mobile-nav-item.admin{color:#7c3aed}.mobile-nav-item.logout{color:#b91c1c}.mobile-nav-divider{background:var(--border-lighter);height:1px;margin:8px 0}.api-pill{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-muted);align-items:center;gap:8px;padding:9px 12px;font-size:13px;display:inline-flex}.admin-layout{gap:24px;min-height:70vh;display:flex}.admin-sidebar{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:200px;min-width:200px;box-shadow:var(--shadow-xs);height:fit-content;padding:20px;position:sticky;top:100px}.admin-sidebar h3{color:var(--text-primary);margin-bottom:16px;font-size:16px}.admin-sidebar nav{flex-direction:column;gap:2px;display:flex}.admin-sidebar nav a{border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--transition-fast);padding:8px 12px;font-size:14px;text-decoration:none;display:block}.admin-sidebar nav a:hover{background:var(--bg-subtle-hover)}.admin-sidebar nav a.active{background:var(--brand-50);color:var(--brand-600);font-weight:600}.admin-main{flex:1;min-width:0}.admin-page h2{color:var(--text-primary);margin-bottom:16px;font-size:22px}.data-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.data-table th,.data-table td{border-bottom:1px solid var(--border-lighter);text-align:left;padding:10px 12px}.data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.data-table td{color:var(--text-secondary)}.data-table .selected-row{background:var(--brand-50)}.data-table tbody tr:hover{background:var(--bg-subtle)}.status-tag{border-radius:var(--radius-full);text-transform:uppercase;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.status-tag.completed{color:#15803d;background:#dcfce7}.status-tag.processing{color:#1d4ed8;background:#dbeafe}.status-tag.queued,.status-tag.pending{background:var(--bg-subtle);color:var(--text-muted)}.status-tag.failed{color:#b91c1c;background:#fee2e2}.btn-primary{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;cursor:pointer;height:44px;box-shadow:var(--shadow-brand);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:700;display:inline-flex}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.btn-secondary{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;display:inline-flex}.btn-secondary:hover{background:var(--bg-subtle-hover)}.btn-sm{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);padding:6px 12px;font-size:12px;font-weight:600}.btn-sm:hover{background:var(--bg-subtle-hover)}.btn-sm.active{background:var(--brand-50);border-color:var(--brand-300);color:var(--brand-600)}.btn-danger{color:#b91c1c;border-color:#fca5a5}.btn-danger:hover{background:#fef2f2}.link-btn{color:var(--brand-600);font:inherit;cursor:pointer;background:0 0;border:none;padding:0;font-size:13px}.link-btn:hover{text-decoration:underline}.text-green{color:#15803d;font-weight:600}.text-red{color:#b91c1c;font-weight:600}.stats-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:12px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--border-light);border-radius:var(--radius-md);background:var(--bg-surface);box-shadow:var(--shadow-xs);padding:18px}.stat-card strong{color:var(--text-primary);margin-bottom:4px;font-size:28px;display:block}.stat-card span{color:var(--text-muted);font-size:12px}.search-row{gap:8px;margin-bottom:12px;display:flex}.search-row input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);flex:1;padding:8px 12px;font-size:14px}.search-row input:focus{border-color:var(--brand-400);outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-row{gap:6px;margin-bottom:12px;display:flex}.detail-panel{border:1px solid var(--border-default);border-radius:var(--radius-md);background:#fbfdff;margin-top:20px;padding:20px}.detail-panel h3{color:var(--text-primary);margin-bottom:12px;font-size:16px}.detail-panel h4{color:var(--text-secondary);margin:16px 0 8px;font-size:14px}.adjust-row{gap:8px;margin-bottom:8px;display:flex}.adjust-row input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);padding:8px 12px;font-size:13px}.adjust-row input:first-child{width:120px}.adjust-row input:nth-child(2){flex:1}.info-msg{color:var(--text-secondary);margin:8px 0;font-size:13px}.info-msg.error{color:#b91c1c;border-radius:var(--radius-sm);background:#fef2f2;border:1px solid #fecaca;padding:8px 12px}.settings-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:20px;display:grid}.settings-grid .field input{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);width:100%;padding:8px 12px;font-size:14px}.admin-api-configs .subtitle{color:var(--text-muted);margin:0 0 20px;font-size:14px}.admin-api-configs .subtitle strong{color:var(--text-secondary)}.form-card{border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xs);background:#fbfdff;margin-bottom:24px;padding:24px}.form-card h3{color:var(--text-primary);margin:0 0 18px;font-size:16px}.form-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;margin-bottom:20px;display:grid}.form-grid .field input{border:1px solid var(--border-default);border-radius:var(--radius-sm);box-sizing:border-box;background:var(--bg-surface);width:100%;padding:8px 12px;font-size:14px}.form-grid .field input:focus{border-color:var(--brand-400);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-grid .checkbox-field{flex-direction:row;align-items:center;gap:8px;display:flex}.form-grid .checkbox-field input[type=checkbox]{width:18px;height:18px;accent-color:var(--brand-600);cursor:pointer}.form-grid .checkbox-field span{cursor:pointer;margin-bottom:0}.form-actions{gap:10px;display:flex}.form-actions .btn-primary{width:auto}.btn-ghost{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);height:44px;color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.btn-ghost:hover{background:var(--bg-subtle-hover);color:var(--text-primary)}.badge{border-radius:var(--radius-full);padding:2px 10px;font-size:11px;font-weight:600;display:inline-block}.badge-active{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.badge-inactive{background:var(--bg-subtle);color:var(--text-placeholder);border:1px solid var(--border-light)}.action-cell{flex-wrap:nowrap;gap:6px;display:flex}.btn-warn{color:#b45309;border-color:#fcd34d}.btn-warn:hover{background:#fffbeb}.btn-ok{color:#15803d;border-color:#86efac}.btn-ok:hover{background:#f0fdf4}.notification-toast{z-index:200;border-radius:var(--radius-md);box-shadow:var(--shadow-lg);align-items:center;gap:8px;padding:12px 18px;font-size:13px;font-weight:600;animation:.25s ease-out toast-in;display:flex;position:fixed;top:20px;right:20px}.notification-toast.success{color:#15803d;background:#f0fdf4;border:1px solid #86efac}.notification-toast.error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca}@keyframes toast-in{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.error-banner{border-radius:var(--radius-md);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;padding:12px 14px;font-size:13px}.success-banner{border-radius:var(--radius-md);color:#15803d;background:#f0fdf4;border:1px solid #86efac;padding:12px 14px;font-size:13px}.loading-page{min-height:60vh;color:var(--text-muted);place-items:center;font-size:16px;display:grid}.spin{animation:.9s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.progress-rail{border-radius:var(--radius-full);background:var(--border-light);width:100%;height:10px;overflow:hidden}.progress-fill{border-radius:inherit;background:var(--gradient-progress);height:100%;transition:width .5s}.progress-fill.progress-failed{background:linear-gradient(90deg,#dc2626,#f97316)}@media (width<=1100px){.app-body,.admin-layout{flex-direction:column}.admin-sidebar{width:100%;min-width:unset;position:static}.admin-sidebar nav{flex-flow:wrap}}@media (width<=720px){.app-shell{width:min(100% - 20px,100%);padding:18px 0 36px}.topbar{gap:10px;padding:12px 16px}.topbar-nav{display:none}.mobile-menu-toggle{display:grid}.mobile-only{display:inline-flex}.user-menu-trigger .user-name,.user-menu-trigger .user-chevron{display:none}.balance-display{padding:4px 8px}.balance-value{font-size:14px}.balance-unit{display:none}.btn-recharge{padding:4px 10px;font-size:11px}}.workbench{gap:20px;display:grid}.workbench .panel{border:1px solid var(--border-default);border-radius:var(--radius-lg);min-width:0;box-shadow:var(--shadow-sm);background:#fffffff5;padding:24px}.workbench .panel-header{justify-content:space-between;align-items:start;gap:16px;margin-bottom:20px;display:flex}.workbench .panel-header h2{color:var(--text-primary);margin:0;font-size:20px;font-weight:700;line-height:1.2}.mode-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:20px;display:grid}.mode-chip{border:1.5px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);min-height:96px;color:var(--text-primary);text-align:left;cursor:pointer;transition:all var(--transition-normal);flex-direction:column;align-items:flex-start;gap:6px;padding:16px;display:flex;position:relative}.mode-chip:hover{border-color:var(--brand-300);background:var(--brand-50)}.mode-chip.active{border-color:var(--brand-500);background:var(--brand-50);box-shadow:0 0 0 1px #3b82f62e}.mode-chip-icon{border-radius:var(--radius-md);background:var(--bg-subtle);width:36px;height:36px;color:var(--text-muted);transition:all var(--transition-normal);place-items:center;display:grid}.mode-chip.active .mode-chip-icon{color:var(--brand-600);background:linear-gradient(135deg,#0f9ca826,#2563eb26)}.mode-chip-label{font-size:14px;font-weight:700}.mode-chip-rate{color:var(--text-muted);font-size:12px;line-height:1.5}.mode-chip-recommend{border-radius:var(--radius-full);color:#fff;background:linear-gradient(135deg,#fbbf24,#f59e0b);padding:2px 10px;font-size:10px;font-weight:700;position:absolute;top:-9px;right:12px;box-shadow:0 2px 6px #f59e0b4d}.model-selector{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-subtle);align-items:center;gap:12px;margin-bottom:18px;padding:12px 16px;display:flex}.model-selector>span{color:var(--text-muted);white-space:nowrap;font-size:13px;font-weight:600}.model-select{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-primary);cursor:pointer;appearance:none;transition:border-color var(--transition-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;flex:1;padding:8px 36px 8px 12px;font-size:14px;font-weight:500}.model-select:focus{border-color:var(--brand-400);outline:none;box-shadow:0 0 0 3px #3b82f61f}.workbench .field{display:block}.workbench .field-header{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.workbench .field span{color:var(--text-secondary);font-size:14px;font-weight:600}.char-count{color:var(--text-muted);font-size:12px;font-weight:500}.char-count.over-limit{color:#b91c1c;font-weight:700}.workbench .field textarea{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);width:100%;min-height:200px;color:var(--text-primary);font:inherit;resize:vertical;box-sizing:border-box;transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:16px;font-size:14px;line-height:1.8}.workbench .field textarea:focus{border-color:var(--brand-400);outline:none;box-shadow:0 0 0 3px #3b82f61a}.workbench .field textarea::placeholder{color:var(--text-placeholder)}.workbench .action-row{flex-wrap:wrap;align-items:center;gap:12px;margin-top:16px;display:flex}.cost-info{color:var(--text-secondary);align-items:center;gap:8px;font-size:14px;display:flex}.cost-info strong{color:var(--text-primary);font-size:18px}.text-ok{color:#15803d;font-weight:600}.text-error{color:#b91c1c;font-weight:600}.workbench .btn-primary{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;cursor:pointer;height:44px;box-shadow:var(--shadow-brand);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:0 24px;font-size:14px;font-weight:700;display:inline-flex}.workbench .btn-primary:hover:not(:disabled){box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.workbench .btn-primary:disabled{opacity:.55;cursor:not-allowed}.workbench .btn-secondary{border:1px solid var(--border-default);border-radius:var(--radius-md);background:var(--bg-surface);height:44px;color:var(--text-primary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:0 20px;font-size:14px;font-weight:600;display:inline-flex}.workbench .btn-secondary:hover{background:var(--bg-subtle-hover);border-color:var(--text-placeholder)}.workbench .status-bar{color:var(--text-secondary);flex-wrap:wrap;align-items:center;gap:14px;font-size:13px;display:flex}.workbench .status-bar .status-tag{border-radius:var(--radius-full);padding:3px 12px;font-size:12px;font-weight:700;display:inline-block}.workbench .status-tag.completed{color:#15803d;background:#dcfce7}.workbench .status-tag.processing{color:#1d4ed8;background:#dbeafe}.workbench .status-tag.queued{background:var(--bg-subtle);color:var(--text-muted)}.workbench .status-tag.failed{color:#b91c1c;background:#fee2e2}.workbench .status-tag.cancelled{background:var(--bg-subtle);color:var(--text-muted)}.workbench .progress-rail{border-radius:var(--radius-full);background:var(--border-light);width:100%;height:12px;position:relative;overflow:hidden}.workbench .progress-fill{border-radius:inherit;background:var(--gradient-progress);height:100%;transition:width .5s;position:relative}.workbench .progress-fill:after{content:"";background:linear-gradient(90deg,#0000 0%,#ffffff40 40% 60%,#0000 100%);animation:2s ease-in-out infinite progress-shimmer;position:absolute;inset:0}@keyframes progress-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.output-panel .final-output{border-radius:var(--radius-md);background:var(--bg-surface);border:1px solid var(--border-light);border-left:4px solid var(--brand-500);min-height:200px;color:var(--text-primary);white-space:pre-wrap;padding:20px;font-size:14px;line-height:1.9}.output-panel .final-output:empty:before{content:"开始处理后，结果会在这里显示。";color:var(--text-placeholder)}.panel-actions{align-items:center;gap:8px;display:flex}.panel-actions button{border:1px solid var(--border-default);border-radius:var(--radius-sm);background:var(--bg-surface);color:var(--text-secondary);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:6px;padding:6px 14px;font-size:12px;font-weight:600;display:inline-flex}.panel-actions button:hover{background:var(--bg-subtle-hover);border-color:var(--text-placeholder);color:var(--text-primary)}.segment-list{gap:12px;display:grid}.segment-card{border-radius:var(--radius-md);border:1px solid var(--border-light);transition:border-color var(--transition-fast);background:#fbfdff;padding:16px}.segment-card:hover{border-color:var(--border-default)}.segment-card.segment-failed{background:#fff5f5;border-color:#fecaca}.segment-meta{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.segment-meta strong{color:var(--text-primary);font-size:14px}.segment-meta .segment-status-icon{align-items:center;gap:4px;font-size:12px;font-weight:600;display:inline-flex}.segment-meta .segment-status-icon.done{color:#15803d}.segment-meta .segment-status-icon.failed{color:#b91c1c}.segment-meta .segment-status-icon.pending{color:var(--text-muted)}.segment-content{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.segment-content>div{border-radius:var(--radius-sm);background:var(--bg-surface);border:1px solid var(--border-lighter);min-width:0;padding:12px}.segment-content h4{color:var(--text-placeholder);text-transform:uppercase;letter-spacing:.04em;margin:0 0 6px;font-size:11px}.segment-content p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.7}.workbench .error-banner{border-radius:var(--radius-md);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;flex-wrap:wrap;align-items:center;gap:8px;margin:14px 0 0;padding:12px 16px;font-size:13px;display:flex}.workbench .success-banner{border-radius:var(--radius-md);color:#15803d;background:#f0fdf4;border:1px solid #86efac;margin-bottom:16px;padding:12px 16px;font-size:13px}@media (width<=720px){.mode-row,.segment-content{grid-template-columns:1fr}.workbench .action-row{flex-direction:column;align-items:stretch}.workbench .btn-primary,.workbench .btn-secondary{justify-content:center;width:100%}}.billing-page h1{color:var(--text-primary);margin-bottom:20px;font-size:24px}.billing-page h2{color:var(--text-primary);margin:28px 0 16px;font-size:18px}.balance-card{border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);background:linear-gradient(135deg,#eff6ff,#fff 60%,#f0fdfd);align-items:center;gap:20px;padding:28px 32px;display:flex}.balance-label{color:var(--text-muted);font-size:14px;font-weight:500}.billing-page .balance-card .balance-value{color:var(--text-primary);font-size:40px;font-weight:800;line-height:1}.balance-unit{color:var(--text-muted);align-self:flex-end;margin-bottom:6px;font-size:14px}.package-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;display:grid}.package-card{border:2px solid var(--border-light);border-radius:var(--radius-xl);background:var(--bg-surface);text-align:center;transition:all var(--transition-normal);flex-direction:column;align-items:center;gap:10px;padding:28px 24px;display:flex}.package-card:hover{border-color:var(--brand-300);box-shadow:var(--shadow-md);transform:translateY(-2px)}.package-credits{color:var(--text-primary);font-size:32px;font-weight:800;line-height:1}.package-price{color:var(--brand-600);font-size:20px;font-weight:700}.package-label{color:var(--text-muted);font-size:12px}.package-card .btn-primary{border-radius:var(--radius-md);background:var(--gradient-brand);color:#fff;cursor:pointer;width:auto;height:42px;box-shadow:var(--shadow-brand);transition:all var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:0 28px;font-size:14px;font-weight:700;display:inline-flex}.package-card .btn-primary:hover:not(:disabled){box-shadow:var(--shadow-brand-hover);transform:translateY(-1px)}.package-card .btn-primary:disabled{opacity:.55;cursor:not-allowed}.billing-page .data-table{border-collapse:collapse;width:100%;margin-top:12px;font-size:13px}.billing-page .data-table th,.billing-page .data-table td{border-bottom:1px solid var(--border-lighter);text-align:left;padding:12px 14px}.billing-page .data-table th{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:600}.billing-page .data-table td{color:var(--text-secondary)}.billing-page .data-table tbody tr:hover{background:var(--bg-subtle)}.order-status{border-radius:var(--radius-full);padding:3px 10px;font-size:11px;font-weight:700;display:inline-block}.order-status.pending{color:#c2410c;background:#fff7ed;border:1px solid #fed7aa}.order-status.paid{color:#1d4ed8;background:#dbeafe;border:1px solid #bfdbfe}.order-status.credited{color:#15803d;background:#dcfce7;border:1px solid #bbf7d0}.order-status.closed{background:var(--bg-subtle);color:var(--text-muted);border:1px solid var(--border-light)}.empty-hint{color:var(--text-placeholder);text-align:center;padding:24px 0;font-size:14px}.billing-page .success-banner{border-radius:var(--radius-md);color:#15803d;background:#f0fdf4;border:1px solid #86efac;margin-bottom:16px;padding:12px 16px;font-size:13px}.billing-page .error-banner{border-radius:var(--radius-md);color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;margin-bottom:16px;padding:12px 16px;font-size:13px}
