.landing-page{--bg-base:#f6f7f9;--bg-surface:#fff;--bg-elevated:#f0f2f5;--bg-overlay:#ffffffeb;--border-subtle:#0000000f;--border-hover:#0000001f;--accent:#2563eb;--accent-dim:#2563eb14;--accent-hover:#1d4ed8;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--brand-grad:linear-gradient(135deg, #2563eb 0%, #6366f1 55%, #a855f7 100%);--shadow-sm:0 1px 3px #0000000f, 0 1px 2px #0000000a;--shadow-md:0 4px 16px #0000000f, 0 1px 4px #0000000a;--shadow-lg:0 12px 40px #00000014, 0 4px 12px #0000000a;--shadow-glow:0 4px 24px #2563eb1f;--ease-out-expo:cubic-bezier(.16, 1, .3, 1);--ease-spring:cubic-bezier(.32, .72, 0, 1);--dur-normal:.5s;--dur-slow:.8s;--radius-sm:6px;--radius-md:12px;--radius-lg:20px;--radius-xl:28px;--radius-pill:999px;--font-sans:"Outfit", "PingFang SC", "Hiragino Sans GB", "Noto Sans SC", "Microsoft YaHei", "WenQuanYi Micro Hei", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;background:var(--bg-base);min-height:100dvh;color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;word-break:break-word;overflow-wrap:break-word;line-height:1.8;position:relative;overflow-x:hidden}.landing-page:before{content:"";z-index:60;pointer-events:none;opacity:.018;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");background-repeat:repeat;background-size:200px;position:fixed;inset:0}.landing-page .lp-bg-grid{z-index:0;pointer-events:none;background:radial-gradient(60% 50% at 15% 20%,#2563eb0a 0%,#0000 70%),radial-gradient(50% 40% at 85% 75%,#6366f108 0%,#0000 70%);position:fixed;inset:0}.landing-page .lp-container{z-index:1;max-width:1200px;margin:0 auto;padding:0 24px;position:relative}.landing-page section{padding:100px 0}.lp-nav{z-index:90;-webkit-backdrop-filter:blur(20px)saturate(1.4);border-bottom:1px solid var(--border-subtle);background:#ffffffb8;justify-content:space-between;align-items:center;height:64px;padding:0 32px;display:flex;position:fixed;top:0;left:0;right:0}.lp-nav__logo{letter-spacing:-.01em;background:var(--brand-grad);-webkit-text-fill-color:transparent;cursor:default;-webkit-background-clip:text;background-clip:text;font-size:1.2rem;font-weight:700}.lp-nav__links{gap:28px;display:flex}.lp-nav__links a{color:var(--text-muted);letter-spacing:0;transition:color var(--dur-normal) var(--ease-out-expo);font-size:.85rem;font-weight:500;text-decoration:none}.lp-nav__links a:hover{color:var(--text-primary)}.lp-nav__actions{gap:8px;display:flex}.lp-nav__btn{border-radius:var(--radius-pill);font-size:.82rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-normal) var(--ease-spring);border:none;padding:7px 16px}.lp-nav__btn--ghost{color:var(--text-secondary);border:1px solid var(--border-subtle);background:0 0}.lp-nav__btn--ghost:hover{color:var(--text-primary);border-color:var(--border-hover);background:#00000005}.lp-nav__btn--ghost:active{transform:scale(.97)}.lp-nav__btn--primary{background:var(--accent);color:#fff;box-shadow:0 2px 12px #2563eb33}.lp-nav__btn--primary:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 20px #2563eb4d}.lp-nav__btn--primary:active{transform:scale(.97)translateY(0)}.lp-hero{text-align:center;justify-content:center;align-items:center;min-height:100dvh;padding-top:64px;display:flex;position:relative}.lp-hero-content{max-width:780px}.lp-hero-badge{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-pill);letter-spacing:.02em;color:var(--text-secondary);box-shadow:var(--shadow-sm);align-items:center;gap:8px;margin-bottom:36px;padding:6px 16px;font-size:.78rem;font-weight:500;display:inline-flex}.lp-hero-badge__dot{background:#22c55e;border-radius:50%;width:6px;height:6px;animation:2.5s ease-in-out infinite lpPulse}@keyframes lpPulse{0%,to{opacity:1}50%{opacity:.3}}.lp-hero h1{letter-spacing:-.01em;color:var(--text-primary);margin-bottom:24px;font-size:clamp(2.4rem,5.5vw,4rem);font-weight:800;line-height:1.2}.lp-hero h1 .lp-gradient{background:var(--brand-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.lp-hero__sub{color:var(--text-secondary);max-width:520px;margin:0 auto;font-size:1.05rem;font-weight:400;line-height:1.85}.lp-hero-actions{flex-direction:column;align-items:center;gap:16px;margin:36px auto 44px;display:flex}.lp-hero-actions__links{gap:20px;display:flex}.lp-hero-actions__links a{color:var(--text-muted);transition:color var(--dur-normal) var(--ease-out-expo);font-size:.82rem;font-weight:500;text-decoration:none}.lp-hero-actions__links a:hover{color:var(--accent)}.lp-hero-visual{aspect-ratio:16/9;border-radius:var(--radius-xl);width:100%;max-width:680px;box-shadow:var(--shadow-lg);background:linear-gradient(145deg,#00000014,#00000008);margin:64px auto 0;padding:3px;position:relative}.lp-hero-visual__inner{border-radius:calc(var(--radius-xl) - 3px);background:var(--bg-surface);width:100%;height:100%;position:relative;overflow:hidden;box-shadow:inset 0 1px #fffc}.lp-hero-visual__screen{grid-template-columns:1fr 1fr;display:grid;position:absolute;inset:0}.lp-screen-left{background:linear-gradient(#0f172a 0%,#1e293b 100%);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.lp-camera-ring{border:1.5px solid #60a5fa59;border-radius:50%;justify-content:center;align-items:center;width:120px;height:120px;animation:4s ease-in-out infinite lpRingPulse;display:flex;position:relative}.lp-camera-ring:before{content:"";border:1px solid #60a5fa1f;border-radius:50%;position:absolute;inset:-10px}.lp-camera-ring svg{fill:none;stroke:#60a5fa;stroke-width:1.2px;opacity:.8;width:40px;height:40px}@keyframes lpRingPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.04)}}.lp-scan-line{opacity:.5;background:linear-gradient(90deg,#0000,#60a5fa,#0000);height:1px;animation:4s linear infinite lpScanMove;position:absolute;left:0;right:0}@keyframes lpScanMove{0%{top:0}to{top:100%}}.lp-screen-right{background:var(--bg-surface);border-left:1px solid var(--border-subtle);flex-direction:column;gap:10px;padding:24px;display:flex}.lp-chat-bubble{border-radius:var(--radius-md);max-width:85%;animation:lpFadeInUp var(--dur-slow) var(--ease-out-expo) both;padding:10px 14px;font-size:.78rem;line-height:1.7}.lp-chat-bubble--user{background:var(--accent);color:#fff;border-bottom-right-radius:var(--radius-sm);align-self:flex-end;font-weight:500}.lp-chat-bubble--ai{background:var(--bg-elevated);color:var(--text-secondary);border-bottom-left-radius:var(--radius-sm);border:1px solid var(--border-subtle);align-self:flex-start}.lp-typing{gap:4px;margin-top:6px;display:inline-flex}.lp-typing span{background:var(--accent);border-radius:50%;width:4px;height:4px;animation:1.4s infinite both lpBlink}.lp-typing span:nth-child(2){animation-delay:.2s}.lp-typing span:nth-child(3){animation-delay:.4s}@keyframes lpBlink{0%,80%,to{opacity:.25}40%{opacity:1}}@keyframes lpFadeInUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.lp-chat-bubble:first-child{animation-delay:.2s}.lp-chat-bubble:nth-child(2){animation-delay:.6s}.lp-chat-bubble:nth-child(3){animation-delay:1.1s}.lp-audio-wave{align-items:center;gap:2px;margin-top:auto;padding-top:8px;display:flex}.lp-audio-wave span{background:var(--accent);opacity:.7;border-radius:2px;width:2px;animation:1.2s ease-in-out infinite lpWaveBar}.lp-audio-wave span:first-child{height:10px;animation-delay:0s}.lp-audio-wave span:nth-child(2){height:18px;animation-delay:.1s}.lp-audio-wave span:nth-child(3){height:14px;animation-delay:.2s}.lp-audio-wave span:nth-child(4){height:22px;animation-delay:.3s}.lp-audio-wave span:nth-child(5){height:12px;animation-delay:.4s}.lp-audio-wave span:nth-child(6){height:18px;animation-delay:.15s}.lp-audio-wave span:nth-child(7){height:8px;animation-delay:.35s}@keyframes lpWaveBar{0%,to{transform:scaleY(.4)}50%{transform:scaleY(1.2)}}.lp-section-header{text-align:center;margin-bottom:64px}.lp-section-header__tag{letter-spacing:.04em;color:var(--accent);margin-bottom:14px;font-size:1.75rem;font-weight:600;display:inline-block}.lp-section-header h2{letter-spacing:-.01em;color:var(--text-primary);font-size:clamp(1.8rem,3.5vw,2.4rem);font-weight:700;line-height:1.3}.lp-section-header p{color:var(--text-secondary);max-width:520px;margin:14px auto 0;font-size:.95rem;line-height:1.85}.lp-problem-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.lp-problem-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);padding:32px;position:relative}.lp-problem-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.lp-problem-card__icon{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);justify-content:center;align-items:center;width:44px;height:44px;margin-bottom:20px;font-size:1.3rem;display:flex}.lp-problem-card h3{letter-spacing:0;color:var(--text-primary);margin-bottom:8px;font-size:1.05rem;font-weight:600}.lp-problem-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.85}.lp-flow-wrapper{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-sm);padding:48px 40px;overflow-x:auto}.lp-flow-steps{justify-content:center;align-items:center;gap:0;min-width:700px;display:flex}.lp-flow-step{text-align:center;flex-direction:column;align-items:center;gap:12px;min-width:100px;display:flex}.lp-flow-step__node{border-radius:var(--radius-lg);border:1px solid var(--border-subtle);background:var(--bg-elevated);width:56px;height:56px;transition:all var(--dur-normal) var(--ease-spring);justify-content:center;align-items:center;font-size:1.4rem;display:flex}.lp-flow-step:hover .lp-flow-step__node{border-color:var(--accent-dim);box-shadow:var(--shadow-glow);transform:scale(1.08)}.lp-flow-step__label{color:var(--text-secondary);letter-spacing:0;font-size:.78rem;font-weight:500}.lp-flow-arrow{color:var(--text-muted);flex-shrink:0;padding:0 6px;font-size:1rem}.lp-features-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.lp-feature-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);padding:36px 32px;position:relative;overflow:hidden}.lp-feature-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.lp-feature-card:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;max-width:calc(50% - 8px)}.lp-feature-card__number{color:#0000000a;letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:2.2rem;font-weight:800;line-height:1;position:absolute;top:24px;right:24px}.lp-feature-card__icon{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);justify-content:center;align-items:center;width:40px;height:40px;margin-bottom:20px;font-size:1.2rem;display:flex}.lp-feature-card h3{letter-spacing:0;color:var(--text-primary);margin-bottom:10px;font-size:1.05rem;font-weight:600}.lp-feature-card p{color:var(--text-secondary);font-size:.88rem;line-height:1.85}.lp-users-grid{grid-template-columns:repeat(5,1fr);gap:12px;display:grid}.lp-user-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);padding:24px 16px}.lp-user-card:hover{box-shadow:var(--shadow-lg);border-color:var(--border-hover);transform:translateY(-4px)}.lp-user-card__avatar{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle);justify-content:center;align-items:center;width:48px;height:48px;margin:0 auto 14px;font-size:1.4rem;display:flex}.lp-user-card h4{letter-spacing:0;color:var(--text-primary);margin-bottom:6px;font-size:.9rem;font-weight:600}.lp-user-card p{color:var(--text-secondary);font-size:.78rem;line-height:1.75}.lp-scenes-list{flex-direction:column;gap:8px;display:flex}.lp-scene-row{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);grid-template-columns:44px 1fr auto;align-items:center;gap:16px;padding:18px 24px;display:grid}.lp-scene-row:hover{border-color:var(--border-hover);background:var(--bg-elevated);box-shadow:var(--shadow-md)}.lp-scene-row__icon{text-align:center;font-size:1.3rem}.lp-scene-row h4{letter-spacing:0;color:var(--text-primary);margin-bottom:2px;font-size:.92rem;font-weight:600}.lp-scene-row__desc{color:var(--text-secondary);font-size:.82rem;line-height:1.75}.lp-scene-row__tag{border-radius:var(--radius-pill);white-space:nowrap;background:var(--bg-elevated);color:var(--text-secondary);border:1px solid var(--border-subtle);padding:3px 10px;font-size:.7rem;font-weight:500}.lp-metrics-grid{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.lp-metric-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);text-align:center;transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);padding:32px 24px}.lp-metric-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-glow)}.lp-metric-card__value{letter-spacing:-.02em;color:var(--accent);font-variant-numeric:tabular-nums;margin-bottom:6px;font-size:2rem;font-weight:800}.lp-metric-card__label{color:var(--text-secondary);letter-spacing:0;font-size:.82rem;font-weight:500}.lp-tech-layers{flex-direction:column;gap:12px;display:flex}.lp-tech-layer{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);transition:all var(--dur-normal) var(--ease-spring);box-shadow:var(--shadow-sm);grid-template-columns:100px 1fr;align-items:center;gap:20px;padding:24px 28px;display:grid}.lp-tech-layer:hover{border-color:var(--border-hover);box-shadow:var(--shadow-md)}.lp-tech-layer__badge{letter-spacing:.04em;border-radius:var(--radius-sm);background:var(--bg-elevated);width:fit-content;color:var(--text-secondary);border:1px solid var(--border-subtle);padding:4px 10px;font-size:.7rem;font-weight:600;display:inline-block}.lp-tech-layer__tags{flex-wrap:wrap;gap:6px;display:flex}.lp-tech-layer__tags span{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);color:var(--text-secondary);transition:all var(--dur-normal) var(--ease-out-expo);padding:5px 12px;font-size:.78rem;font-weight:400}.lp-tech-layer__tags span:hover{border-color:var(--accent-dim);color:var(--text-primary)}.lp-cta-section{text-align:center;padding:120px 0}.lp-cta-section h2{letter-spacing:-.01em;color:var(--text-primary);margin-bottom:16px;font-size:clamp(1.6rem,3vw,2.2rem);font-weight:700}.lp-cta-section p{color:var(--text-secondary);margin-bottom:36px;font-size:1rem}.lp-cta-btn{background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;font-family:var(--font-sans);border-radius:var(--radius-pill);transition:all var(--dur-normal) var(--ease-spring);cursor:pointer;border:none;align-items:center;gap:10px;padding:14px 32px;text-decoration:none;display:inline-flex;box-shadow:0 4px 24px #2563eb38}.lp-cta-btn:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 36px #2563eb52}.lp-cta-btn:active{transform:scale(.97)}.lp-cta-links{justify-content:center;gap:20px;margin-top:24px;display:flex}.lp-cta-links a{color:var(--text-muted);transition:color var(--dur-normal) var(--ease-out-expo);font-size:.82rem;font-weight:500;text-decoration:none}.lp-cta-links a:hover{color:var(--accent)}.lp-footer{border-top:1px solid var(--border-subtle);text-align:center;color:var(--text-muted);padding:32px 0;font-size:.82rem;font-weight:400}.lp-fade-in{opacity:0;transition:opacity var(--dur-slow) var(--ease-out-expo), transform var(--dur-slow) var(--ease-out-expo);transform:translateY(32px)}.lp-fade-in.lp-visible{opacity:1;transform:translateY(0)}.lp-modal-overlay{z-index:100;-webkit-backdrop-filter:blur(12px);animation:lpModalOverlayIn .3s var(--ease-out-expo);background:#0000004d;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}@keyframes lpModalOverlayIn{0%{opacity:0}to{opacity:1}}.lp-modal{border-radius:var(--radius-xl);width:100%;max-width:380px;animation:lpModalIn .4s var(--ease-spring);background:linear-gradient(160deg,#0000000f,#00000005);padding:4px;box-shadow:0 32px 80px #00000026,0 0 60px #2563eb0f}@keyframes lpModalIn{0%{opacity:0;transform:translateY(24px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}.lp-modal__inner{background:var(--bg-surface);border-radius:calc(var(--radius-xl) - 4px);padding:36px 28px 28px;position:relative;box-shadow:inset 0 1px #fffc}.lp-modal__close{border-radius:var(--radius-sm);width:32px;height:32px;color:var(--text-muted);cursor:pointer;transition:all var(--dur-normal) var(--ease-out-expo);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.1rem;display:flex;position:absolute;top:12px;right:12px}.lp-modal__close:hover{color:var(--text-primary);background:#0000000a}.lp-modal__header{text-align:center;margin-bottom:28px}.lp-modal__logo{letter-spacing:-.01em;background:var(--brand-grad);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin-bottom:4px;font-size:1.5rem;font-weight:700}.lp-modal__subtitle{color:var(--text-muted);font-size:.82rem;font-weight:400}.lp-modal__tabs{background:var(--bg-base);border-radius:var(--radius-md);gap:0;margin-bottom:20px;padding:3px;display:flex}.lp-modal__tab{border-radius:calc(var(--radius-md) - 2px);font-size:.82rem;font-weight:500;font-family:var(--font-sans);cursor:pointer;color:var(--text-muted);transition:all var(--dur-normal) var(--ease-out-expo);background:0 0;border:none;flex:1;padding:8px 0}.lp-modal__tab:hover{color:var(--text-secondary)}.lp-modal__tab--active{background:var(--bg-surface);color:var(--text-primary);box-shadow:0 1px 4px #00000014}.lp-modal__field{margin-bottom:14px;display:block}.lp-modal__field-label{color:var(--text-secondary);margin-bottom:6px;font-size:.75rem;font-weight:500;display:block}.lp-modal__field-input{border-radius:var(--radius-md);border:1px solid var(--border-subtle);background:var(--bg-base);width:100%;color:var(--text-primary);font-size:.88rem;font-family:var(--font-sans);transition:border-color var(--dur-normal) var(--ease-out-expo), box-shadow var(--dur-normal) var(--ease-out-expo);outline:none;padding:10px 14px}.lp-modal__field-input::placeholder{color:var(--text-muted)}.lp-modal__field-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2563eb1a}.lp-modal__error{color:#dc2626;border-radius:var(--radius-sm);text-align:center;background:#ef44440f;border:1px solid #ef44442e;margin-bottom:14px;padding:8px 12px;font-size:.78rem}.lp-modal__submit{border-radius:var(--radius-pill);background:var(--accent);color:#fff;width:100%;font-size:.9rem;font-weight:600;font-family:var(--font-sans);cursor:pointer;transition:all var(--dur-normal) var(--ease-spring);border:none;padding:11px 0;box-shadow:0 2px 16px #2563eb2e}.lp-modal__submit:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 24px #2563eb47}.lp-modal__submit:active:not(:disabled){transform:scale(.97)}.lp-modal__submit:disabled{opacity:.5;cursor:not-allowed}.lp-modal__footer{text-align:center;color:var(--text-muted);margin-top:20px;font-size:.78rem}.lp-modal__link{color:var(--accent);cursor:pointer;font-size:.78rem;font-weight:500;font-family:var(--font-sans);transition:color var(--dur-normal) var(--ease-out-expo);background:0 0;border:none;margin-left:4px;padding:0}.lp-modal__link:hover{color:var(--accent-hover)}@media (width<=768px){.lp-nav__links{display:none}.lp-problem-grid,.lp-features-grid{grid-template-columns:1fr}.lp-feature-card:last-child:nth-child(odd){grid-column:auto;max-width:100%}.lp-users-grid,.lp-metrics-grid{grid-template-columns:repeat(2,1fr)}.lp-tech-layer{grid-template-columns:1fr}}@media (width<=640px){.landing-page section{padding:72px 0}.lp-hero-visual{margin-top:40px}.lp-scene-row{grid-template-columns:40px 1fr}.lp-scene-row__tag{grid-column:2;justify-self:start}.lp-flow-steps{justify-content:flex-start}.lp-users-grid{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.lp-fade-in{opacity:1;transition:none;transform:none}.lp-scan-line,.lp-camera-ring,.lp-audio-wave span,.lp-typing span,.lp-hero-badge__dot{animation:none}.lp-chat-bubble{opacity:1;animation:none;transform:none}.lp-modal-overlay,.lp-modal{animation-duration:.01ms}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}:root{--color-primary:#3b82f6;--color-primary-hover:#2563eb;--color-bg:#0a0a0f;--color-surface:#111118;--color-surface-2:#1a1a24;--color-surface-3:#22222e;--color-text:#d4d4dc;--color-text-muted:#5a5a6e;--color-border:#1f1f2a;--color-success:#34d399;--color-warning:#fbbf24;--color-error:#f87171;--radius:12px;--radius-sm:8px;--transition-fast:.2s cubic-bezier(.25, .46, .45, .94);--transition-smooth:.4s cubic-bezier(.16, 1, .3, 1)}[data-theme=light]{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-bg:#f4f4f8;--color-surface:#fff;--color-surface-2:#f0f0f5;--color-surface-3:#e8e8ee;--color-text:#111118;--color-text-muted:#6b6b80;--color-border:#dddde5;--color-success:#16a34a;--color-warning:#d97706;--color-error:#dc2626}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{font-variant-numeric:tabular-nums;background:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.header{background:var(--color-surface);border-bottom:1px solid var(--color-border);z-index:10;flex-shrink:0;justify-content:space-between;align-items:center;height:56px;padding:0 24px;display:flex;position:relative;box-shadow:0 1px 8px #0a0a0f4d}.header__left{align-items:baseline;gap:12px;display:flex}.header__title{letter-spacing:-.02em;color:var(--color-text);font-size:1.15rem;font-weight:600}.header__subtitle{color:var(--color-text-muted);letter-spacing:.01em;font-size:.78rem;font-weight:400}.header__right{align-items:center;gap:12px;display:flex}.header__stats{color:var(--color-text-muted);background:var(--color-surface-2);letter-spacing:.01em;border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:500}.badge{letter-spacing:.01em;transition:all var(--transition-fast);border-radius:20px;padding:4px 12px;font-size:.72rem;font-weight:500}.badge--connected{color:var(--color-success);background:#34d39914;border:1px solid #34d39933}.badge--connecting{color:var(--color-warning);background:#fbbf2414;border:1px solid #fbbf2433}.badge--disconnected{color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border)}.btn-icon{cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);color:var(--color-text-muted);background:0 0;border:none;justify-content:center;align-items:center;padding:8px;font-size:1.1rem;display:inline-flex}.btn-icon:hover{background:var(--color-surface-2);color:var(--color-text)}.btn-icon:active{transform:scale(.92)}.lang-group{background:var(--color-surface-2);border-radius:var(--radius-sm);gap:2px;padding:2px;display:flex}.lang-btn{color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;padding:4px 10px;font-size:.72rem;font-weight:600}.lang-btn:hover{color:var(--color-text)}.lang-btn--active{background:var(--color-primary);color:#fff}.workspace{flex:1;display:flex;overflow:hidden}.sidebar-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);cursor:pointer;opacity:0;pointer-events:none;background:#0a0a0f73;transition:opacity .15s ease-out;position:fixed;inset:0}.sidebar-backdrop--visible{opacity:1;pointer-events:auto}.sidebar{z-index:51;background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;width:280px;transition:transform .2s ease-out,visibility 0s linear .2s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;box-shadow:8px 0 40px #0a0a0f66}.sidebar--collapsed{pointer-events:none;visibility:hidden;transform:translate(-100%)}.sidebar--open{pointer-events:auto;visibility:visible;transition:transform .2s ease-out,visibility linear;transform:translate(0)}.sidebar__header{border-bottom:1px solid var(--color-border);flex-shrink:0;align-items:center;gap:8px;padding:14px 16px;display:flex}.sidebar__toggle{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;flex-shrink:0;padding:6px 8px;font-size:1rem}.sidebar__toggle:hover{background:var(--color-surface-2);color:var(--color-text)}.sidebar__new-btn{border:1px solid var(--color-border);color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);text-align:left;background:0 0;flex:1;padding:6px 12px;font-size:.82rem}.sidebar__new-btn:hover{background:var(--color-surface-2)}.sidebar__new-btn--full{text-align:left;flex:1}.sidebar__search{border-bottom:1px solid var(--color-border);flex-shrink:0;padding:10px 16px}.sidebar__search-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);width:100%;color:var(--color-text);transition:border-color var(--transition-fast);outline:none;padding:8px 12px;font-size:.78rem}.sidebar__search-input::placeholder{color:var(--color-text-muted)}.sidebar__search-input:focus{border-color:var(--color-primary)}.sidebar__list{flex:1;padding:6px 8px;overflow-y:auto}.sidebar__empty{text-align:center;color:var(--color-text-muted);padding:24px 12px;font-size:.82rem}.sidebar__group{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);opacity:.7;padding:12px 12px 6px;font-size:.65rem;font-weight:600}.sidebar__item{border-radius:var(--radius-sm);cursor:pointer;transition:background var(--transition-fast);align-items:center;gap:8px;padding:10px 12px;display:flex;position:relative}.sidebar__item:hover{background:var(--color-surface-2)}.sidebar__item:hover .sidebar__item-actions{opacity:1}.sidebar__item--active{background:var(--color-surface-2);border-left:3px solid var(--color-primary)}.sidebar__item-icon{color:var(--color-primary);opacity:.7;flex-shrink:0;font-size:.72rem}.sidebar__item-content{flex:1;min-width:0}.sidebar__item-title{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text);font-size:.85rem;font-weight:500;overflow:hidden}.sidebar__item-meta{color:var(--color-text-muted);gap:8px;margin-top:2px;font-size:.72rem;display:flex}.sidebar__item-actions{opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;gap:2px;display:flex}.sidebar__action-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);transition:background var(--transition-fast), color var(--transition-fast);background:0 0;border:none;padding:4px 6px;font-size:.75rem}.sidebar__action-btn:hover{background:var(--color-surface-3);color:var(--color-text)}.sidebar__action-btn--danger:hover{color:#e74c3c}.sidebar__edit{gap:4px;width:100%;display:flex}.sidebar__edit-input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);outline:none;flex:1;padding:4px 8px;font-size:.82rem}.sidebar__edit-input:focus{border-color:var(--color-primary)}.sidebar__edit-btn{cursor:pointer;border-radius:var(--radius-sm);color:var(--color-text-muted);background:0 0;border:none;padding:4px 8px;font-size:.85rem}.sidebar__edit-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.sidebar__footer{border-top:1px solid var(--color-border);flex-shrink:0;padding:10px 16px}.sidebar__clear-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);text-align:center;background:0 0;border:none;width:100%;padding:6px 10px;font-size:.72rem}.sidebar__clear-btn:hover{color:var(--color-error);background:#f8717114}.video-panel{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;flex-direction:column;flex-shrink:0;gap:12px;width:420px;padding:16px 20px;display:flex;overflow-y:auto}.video-container{aspect-ratio:4/3;background:var(--color-surface-2);border-radius:var(--radius);border:1px solid var(--color-border);transition:border-color var(--transition-fast);position:relative;overflow:hidden}.video-container:hover{border-color:var(--color-surface-3)}.video-container .video-preview{border-radius:0;width:100%;height:100%}.video-container .video-preview__video{object-fit:cover;background:#12121a;width:100%;height:100%}.video-placeholder{color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:10px;font-size:.82rem;font-weight:400;display:flex;position:absolute;inset:0}.video-placeholder__icon{opacity:.15;margin-bottom:4px;font-size:2.2rem}.video-placeholder__hint{opacity:.6;font-size:.72rem}.video-indicator{-webkit-backdrop-filter:blur(12px);color:var(--color-success);border-radius:var(--radius-sm);background:#0a0a0fcc;padding:6px 14px;font-size:.78rem;font-weight:500;animation:1.5s cubic-bezier(.25,.46,.45,.94) infinite pulse;position:absolute;bottom:16px;left:16px}.live-badge{-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:var(--radius-sm);letter-spacing:.04em;background:#0a0a0fcc;align-items:center;gap:6px;padding:5px 12px;font-size:.72rem;font-weight:600;display:flex;position:absolute;top:12px;left:12px}.live-badge__dot{background:var(--color-success);border-radius:50%;width:7px;height:7px;animation:1.5s cubic-bezier(.25,.46,.45,.94) infinite pulse}.video-indicator--audio{color:var(--color-primary);left:auto;right:16px}.video-indicator--error{color:var(--color-error);animation:none}.detail-badge{-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:var(--radius-sm);letter-spacing:.06em;background:#3b82f6d9;padding:3px 10px;font-size:.68rem;font-weight:700;position:absolute;top:12px;right:12px}.observation-badge{-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:var(--radius-sm);letter-spacing:.04em;background:#34d399d9;padding:3px 10px;font-size:.68rem;font-weight:700;animation:2s cubic-bezier(.25,.46,.45,.94) infinite pulse;position:absolute;top:12px;left:12px}.ai-vision-indicator{-webkit-backdrop-filter:blur(12px);color:var(--color-text-muted);border-radius:var(--radius-sm);letter-spacing:.02em;transition:all var(--transition-fast);background:#0a0a0fbf;align-items:center;gap:5px;padding:4px 10px;font-size:.68rem;font-weight:600;display:flex;position:absolute;top:12px;right:12px}.video-controls{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;padding:10px 0 4px;display:flex}.video-controls__row{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.btn--ctrl{border-radius:var(--radius-sm);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;padding:7px 14px;font-size:.78rem}.btn--ctrl:hover{background:var(--color-surface-3);color:var(--color-text);border-color:var(--color-surface-3)}.btn--ctrl:active{transform:translateY(1px)}.btn--ctrl-on{color:var(--color-success);background:#34d3991a;border-color:#34d39940}.btn--ctrl-on:hover{background:#34d3992e}.btn--ctrl-off{color:var(--color-error);background:#f8717114;border-color:#f871712e}.btn--ctrl-off:hover{background:#f8717126}.btn--speaking{animation:.8s cubic-bezier(.25,.46,.45,.94) infinite micPulse;box-shadow:0 0 12px #34d39966}@keyframes micPulse{0%,to{transform:scale(1);box-shadow:0 0 8px #34d3994d}50%{transform:scale(1.04);box-shadow:0 0 18px #34d399b3}}.chat-panel-wrapper{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;flex:1;min-width:0;display:flex}.chat-panel-header{border-bottom:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:-.01em;flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 24px;font-size:.82rem;font-weight:600;display:flex}.chat-panel-header__right{align-items:center;gap:10px;display:flex}.scenario-selector{appearance:none;color:var(--color-text-muted);background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23888' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;border-radius:14px;outline:none;padding:4px 26px 4px 10px;font-size:.7rem;font-weight:500}.scenario-selector:hover{border-color:var(--color-primary);color:var(--color-text);background-color:var(--color-surface-3)}.scenario-selector:focus{border-color:var(--color-primary);box-shadow:0 0 0 2px #3b82f626}.chat-panel-header__stats{color:var(--color-text-muted);background:var(--color-surface-2);letter-spacing:.01em;white-space:nowrap;border-radius:12px;padding:3px 10px;font-size:.68rem;font-weight:400}.chat-panel-body{flex-direction:column;flex:1;display:flex;overflow:hidden}.chat-panel{flex-direction:column;flex:1;min-height:0;display:flex}.chat-panel__messages{flex-direction:column;flex:1;gap:12px;padding:16px 24px;display:flex;overflow-y:auto}.chat-panel__welcome{color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;padding:40px 0;font-size:.85rem;display:flex}.chat-panel__welcome-icon{opacity:.12;margin-bottom:4px;font-size:2.4rem}.chat-panel__welcome-hint{opacity:.6;text-align:center;max-width:240px;font-size:.75rem;line-height:1.5}.chat-panel--empty{color:var(--color-text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:12px;font-size:.85rem;display:flex}.chat-panel--empty-icon{opacity:.12;margin-bottom:4px;font-size:2.4rem}.chat-panel--empty-hint{opacity:.6;text-align:center;max-width:240px;font-size:.75rem;line-height:1.5}.chat-message{border-radius:var(--radius-sm);background:var(--color-surface-2);max-width:min(92%,65ch);transition:background var(--transition-fast);padding:12px 16px}.chat-message:hover{background:var(--color-surface-3)}.chat-message--user{border-left:2px solid var(--color-primary);background:#3b82f60f;align-self:flex-end}.chat-message--user:hover{background:#3b82f61a}.chat-message--assistant{border-left:2px solid var(--color-success)}.chat-message--streaming{opacity:.85}.chat-message--system{background:0 0;justify-content:center;align-self:center;align-items:center;gap:10px;max-width:100%;padding:6px 0;display:flex}.chat-message--system:before,.chat-message--system:after{content:"";background:var(--color-border);flex:1;height:1px}.chat-message--system__text{color:var(--color-text-muted);white-space:nowrap;letter-spacing:.02em;font-size:.7rem}.chat-message__role{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);margin-bottom:4px;font-size:.62rem;font-weight:600}.chat-message__content{white-space:pre-wrap;max-width:65ch;font-size:.82rem;line-height:1.65}.chat-message__meta{color:var(--color-text-muted);letter-spacing:.01em;margin-top:8px;font-size:.62rem;font-weight:400}.chat-input{border-top:1px solid var(--color-border);background:var(--color-surface);gap:8px;padding:12px 24px 16px;display:flex}.chat-input__field{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);min-width:0;color:var(--color-text);transition:border-color var(--transition-fast);outline:none;flex:1;padding:10px 14px;font-size:.82rem}.chat-input__field::placeholder{color:var(--color-text-muted)}.chat-input__field:focus{border-color:var(--color-primary)}.chat-input__send{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;transition:opacity var(--transition-fast);border:none;flex-shrink:0;padding:10px 16px;font-size:.9rem}.chat-input__send:hover:not(:disabled){opacity:.9}.chat-input__send:disabled{opacity:.4;cursor:not-allowed}.cursor{color:var(--color-success);font-weight:300;animation:.8s step-end infinite blink;display:inline}.system-message{text-align:center;border-radius:var(--radius-sm);margin:0 24px;padding:10px 16px;font-size:.78rem;font-weight:500}.system-message--warning{color:var(--color-warning);background:#fbbf2414;border:1px solid #fbbf2426}.system-message--info{color:var(--color-text-muted);background:#3b82f60f;border:1px solid #3b82f61f;justify-content:center;align-items:center;gap:8px;display:flex}.typing-indicator{align-items:center;gap:4px;padding:2px 0;display:inline-flex}.typing-indicator__dot{background:var(--color-text-muted);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite typing-bounce}.typing-indicator__dot:nth-child(2){animation-delay:.2s}.typing-indicator__dot:nth-child(3){animation-delay:.4s}@keyframes typing-bounce{0%,60%,to{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);cursor:pointer;opacity:0;pointer-events:none;background:#0a0a0f80;transition:opacity .15s ease-out;position:fixed;inset:0}.drawer-overlay--visible{opacity:1;pointer-events:auto}.drawer{background:var(--color-surface);border-left:1px solid var(--color-border);flex-direction:column;width:320px;transition:transform .2s ease-out;display:flex;position:absolute;top:0;bottom:0;right:0;box-shadow:-8px 0 40px #0a0a0f80}.drawer--collapsed{pointer-events:none;transform:translate(100%)}.drawer--open{pointer-events:auto;transform:translate(0)}.drawer__header{border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.drawer__title{letter-spacing:-.01em;font-size:.88rem;font-weight:600}.drawer__close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:6px 8px;font-size:1rem;display:inline-flex}.drawer__close:hover{background:var(--color-surface-2);color:var(--color-text)}.drawer__close:active{transform:scale(.92)}.drawer__body{flex:1;padding:20px;overflow-y:auto}.config-group{margin-bottom:24px}.config-group__title{text-transform:uppercase;letter-spacing:.1em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border);margin-bottom:14px;padding-bottom:10px;font-size:.68rem;font-weight:600}.config-row{color:var(--color-text);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast);justify-content:space-between;align-items:center;margin:0 -8px;padding:10px 8px;font-size:.82rem;display:flex}.config-row:hover{background:var(--color-surface-2)}.config-row__info{flex-direction:column;gap:3px;display:flex}.config-row__label{color:var(--color-text);font-weight:500}.config-row__desc{color:var(--color-text-muted);font-size:.7rem;line-height:1.4}.config-row select,.config-row input[type=checkbox]{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);padding:6px 10px;font-size:.78rem}.config-row select:hover,.config-row input[type=checkbox]:hover{border-color:var(--color-surface-3)}.config-row select:focus,.config-row input[type=checkbox]:focus{outline-offset:1px;outline:2px solid #3b82f666}.config-row input[type=checkbox]{cursor:pointer;width:18px;height:18px;accent-color:var(--color-primary)}.toast-container{z-index:1000;flex-direction:column;gap:8px;display:flex;position:fixed;top:72px;right:24px}.toast{border-radius:var(--radius-sm);cursor:pointer;animation:slideIn .35s var(--transition-smooth);-webkit-backdrop-filter:blur(12px);max-width:320px;padding:10px 16px;font-size:.8rem;font-weight:500;box-shadow:0 8px 32px #0a0a0f66}.toast--error{color:#fff;background:#f87171eb}.toast--warning{color:#111;background:#fbbf24eb}.toast--info{color:#fff;background:#3b82f6eb}.btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);letter-spacing:.01em;border:none;align-items:center;gap:6px;padding:8px 20px;font-size:.82rem;font-weight:600;display:inline-flex}.btn:active{transform:translateY(1px)}.btn--lg{border-radius:var(--radius);padding:12px 32px;font-size:.92rem}.btn--primary{background:var(--color-primary);color:#fff}.btn--primary:hover{background:var(--color-primary-hover)}.btn--secondary{background:var(--color-surface-2);color:var(--color-text);border:1px solid var(--color-border)}.btn--secondary:hover{background:var(--color-surface-3);border-color:var(--color-surface-3)}.btn--warning{background:var(--color-warning);color:#111}.btn--warning:hover{opacity:.9}.btn--danger{color:var(--color-error);background:#f871711a;border:1px solid #f8717133}.btn--danger:hover{background:#f871712e}.btn--active{background:var(--color-primary);color:#fff;animation:2s cubic-bezier(.25,.46,.45,.94) infinite pulseBtn;box-shadow:0 0 12px #3b82f659}@keyframes pulse{0%,to{opacity:1}50%{opacity:.55}}@keyframes pulseBtn{0%,to{box-shadow:0 0 12px #3b82f659}50%{box-shadow:0 0 22px #3b82f699}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes slideIn{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}::-webkit-scrollbar-thumb:hover{background:var(--color-text-muted)}.video-controls__toolbar{flex-wrap:wrap;justify-content:center;align-items:center;gap:8px;display:flex}.btn-ctrl-round{border:2px solid var(--color-border);background:var(--color-surface-2);width:44px;height:44px;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.btn-ctrl-round:hover{background:var(--color-surface-3);border-color:var(--color-surface-3);color:var(--color-text);transform:scale(1.06)}.btn-ctrl-round:active{transform:scale(.95)}.btn-ctrl-round--on{color:var(--color-success);background:#34d3991a;border-color:#34d3994d}.btn-ctrl-round--on:hover{background:#34d3992e;border-color:#34d39973}.btn-ctrl-round--off{color:var(--color-error);background:#f8717114;border-color:#f8717133}.btn-ctrl-round--off:hover{background:#f8717126;border-color:#f8717159}.btn-ctrl-round--speaking{animation:.8s cubic-bezier(.25,.46,.45,.94) infinite micPulse;box-shadow:0 0 14px #34d39973}.btn-ctrl-pill{cursor:pointer;transition:all var(--transition-fast);border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);white-space:nowrap;border-radius:22px;align-items:center;gap:5px;padding:8px 16px;font-size:.78rem;font-weight:500;display:inline-flex}.btn-ctrl-pill:hover:not(:disabled){background:var(--color-surface-3);color:var(--color-text);border-color:var(--color-surface-3)}.btn-ctrl-pill:active:not(:disabled){transform:translateY(1px)}.btn-ctrl-pill:disabled{opacity:.5;cursor:not-allowed}.btn-ctrl-pill--recognize{color:var(--color-primary);background:#3b82f61a;border-color:#3b82f640}.btn-ctrl-pill--recognize:hover:not(:disabled){background:#3b82f633;border-color:#3b82f666}.btn-ctrl-pill--interrupt{color:var(--color-warning);background:#fbbf241a;border-color:#fbbf2440}.btn-ctrl-pill--interrupt:hover:not(:disabled){background:#fbbf2433;border-color:#fbbf2466}.btn-ctrl-pill--stop{color:var(--color-error);background:#f871711a;border-color:#f8717133}.btn-ctrl-pill--stop:hover:not(:disabled){background:#f871712e;border-color:#f8717159}.scenario-strip{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.scenario-strip__label{text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-muted);opacity:.7;padding:0 2px;font-size:.65rem;font-weight:600}.scenario-strip__scroll{scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;gap:6px;padding-bottom:4px;display:flex;overflow-x:auto}.scenario-strip__scroll::-webkit-scrollbar{height:3px}.scenario-strip__scroll::-webkit-scrollbar-track{background:0 0}.scenario-strip__scroll::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:2px}.scenario-strip__scroll:hover::-webkit-scrollbar-thumb{background:var(--color-text-muted)}.scenario-chip{border:1px solid var(--color-border);background:var(--color-surface-2);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;border-radius:20px;flex-shrink:0;align-items:center;gap:5px;padding:7px 12px;font-size:.74rem;font-weight:500;line-height:1;display:inline-flex}.scenario-chip:hover{background:var(--color-surface-3);border-color:var(--color-surface-3);color:var(--color-text);transform:translateY(-1px);box-shadow:0 2px 6px #0a0a0f1f}.scenario-chip:active{transform:translateY(0)}.scenario-chip--active{color:var(--color-primary);background:#3b82f61a;border-color:#3b82f659}.scenario-chip--active:hover{color:var(--color-primary);background:#3b82f629;border-color:#3b82f673}.scenario-chip--add{opacity:.7;border-style:dashed}.scenario-chip--add:hover{opacity:1;border-style:solid;border-color:var(--color-primary);color:var(--color-primary);background:#3b82f60f}.scenario-chip--add .scenario-chip__icon{align-items:center;display:inline-flex}.scenario-chip__icon{flex-shrink:0;justify-content:center;align-items:center;font-size:.9rem;line-height:1;display:inline-flex}.scenario-chip__name{letter-spacing:.01em}.btn--recognize{color:var(--color-primary);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap;background:#3b82f61a;border:1px solid #3b82f640;padding:7px 14px;font-size:.78rem;font-weight:500}.btn--recognize:hover{background:#3b82f633}.btn--recognize:active{transform:translateY(1px)}.video-controls__devices{justify-content:center;gap:8px;width:100%;display:flex}.device-select-wrapper{flex:1;align-items:center;gap:6px;min-width:0;display:flex}.device-select-label{color:var(--color-text-muted);flex-shrink:0;justify-content:center;align-items:center;font-size:.72rem;display:inline-flex}.device-select{border:1px solid var(--color-border);background:var(--color-surface-2);min-width:0;color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);text-overflow:ellipsis;border-radius:6px;flex:1;padding:5px 8px;font-size:.7rem}.device-select:hover{border-color:var(--color-surface-3);color:var(--color-text)}.device-select:focus{outline-offset:1px;outline:2px solid #3b82f64d}.video-controls__text-only{flex-direction:column;align-items:center;gap:10px;width:100%;display:flex}.video-ended-hint{flex-direction:column;align-items:center;gap:2px;padding:4px 0;display:flex}.video-ended-hint__title{color:var(--color-text-muted);font-size:.85rem;font-weight:600}.video-ended-hint__sub{color:var(--color-text-muted);opacity:.7;font-size:.7rem}.btn--outline{border:1px solid var(--color-border);color:var(--color-text-muted);background:0 0}.btn--outline:hover{background:var(--color-surface-2);color:var(--color-text);border-color:var(--color-surface-3)}.scene-cards{flex-direction:column;gap:8px;width:100%;max-width:380px;padding:0 24px;display:flex}.scene-card{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);text-align:left;align-items:flex-start;gap:12px;padding:12px 16px;display:flex}.scene-card:hover{background:var(--color-surface-3);border-color:var(--color-surface-3);transform:translateY(-1px)}.scene-card:active{transform:translateY(0)}.scene-card__icon{flex-shrink:0;margin-top:1px;font-size:1.2rem}.scene-card__text{flex-direction:column;gap:3px;display:flex}.scene-card__title{color:var(--color-text);font-size:.82rem;font-weight:500}.scene-card__desc{color:var(--color-text-muted);font-size:.72rem;line-height:1.4}.scenario-cards{flex-direction:column;gap:8px;width:100%;max-width:380px;margin-bottom:8px;padding:0 24px;display:flex}.scenario-cards__title{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;padding:0 4px 4px;font-size:.72rem;font-weight:600}.scenario-card{border-radius:var(--radius-sm);background:var(--color-surface-2);border:1px solid var(--color-border);cursor:pointer;transition:all var(--transition-fast);text-align:left;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.scenario-card:hover{background:var(--color-surface-3);border-color:var(--color-primary);transform:translateY(-1px);box-shadow:0 2px 8px #3b82f614}.scenario-card:active{transform:translateY(0)}.scenario-card__icon{flex-shrink:0;margin-top:1px;font-size:1.4rem}.scenario-card__text{flex-direction:column;gap:3px;display:flex}.scenario-card__title{color:var(--color-text);font-size:.85rem;font-weight:500}.scenario-card__desc{color:var(--color-text-muted);font-size:.72rem;line-height:1.4}.chat-panel__scenario-hint{justify-content:center;padding:12px 24px 0;display:flex}.scenario-hint-card{border-radius:var(--radius-sm);background:linear-gradient(135deg,#3b82f614 0%,#6366f114 100%);border:1px solid #3b82f633;align-items:center;gap:12px;width:100%;max-width:520px;padding:12px 16px;display:flex;box-shadow:0 2px 8px #3b82f60f}.scenario-hint-card__icon{filter:drop-shadow(0 2px 4px #0000001a);flex-shrink:0;font-size:1.8rem}.scenario-hint-card__text{flex-direction:column;flex:1;gap:4px;display:flex}.scenario-hint-card__text strong{color:var(--color-text);letter-spacing:.01em;font-size:.9rem;font-weight:600}.scenario-hint-card__text p{color:var(--color-text-muted);margin:0;font-size:.75rem;line-height:1.5}.chat-input__voice{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;padding:10px 14px;font-size:.9rem;display:inline-flex}.chat-input__voice:hover{background:var(--color-surface-3);color:var(--color-text)}.chat-input__voice--active{color:var(--color-success);background:#34d3991f;border-color:#34d3994d;animation:.8s cubic-bezier(.25,.46,.45,.94) infinite micPulse}.header__menu-btn{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;margin-right:4px;padding:6px 8px;font-size:1.1rem;display:inline-flex}.header__menu-btn:hover{background:var(--color-surface-2);color:var(--color-text)}.header__menu-btn:active{transform:scale(.92)}.auth-page{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.auth-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);width:100%;max-width:380px;padding:32px;box-shadow:0 16px 64px #0a0a0f66}.auth-card__header{text-align:center;margin-bottom:28px}.auth-card__logo{color:var(--color-text);letter-spacing:-.02em;margin-bottom:6px;font-size:1.5rem;font-weight:700}.auth-card__subtitle{color:var(--color-text-muted);font-size:.82rem}.auth-form__tabs{background:var(--color-surface-2);border-radius:var(--radius-sm);gap:2px;margin-bottom:24px;padding:3px;display:flex}.auth-tab{color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;border-radius:6px;flex:1;padding:8px 0;font-size:.82rem;font-weight:600}.auth-tab:hover{color:var(--color-text)}.auth-tab--active{background:var(--color-primary);color:#fff}.auth-form__fields{flex-direction:column;gap:16px;margin-bottom:16px;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field__label{color:var(--color-text-muted);font-size:.78rem;font-weight:500}.auth-field__input{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-text);transition:border-color var(--transition-fast);outline:none;padding:10px 14px;font-size:.85rem}.auth-field__input::placeholder{color:var(--color-text-muted);opacity:.6}.auth-field__input:focus{border-color:var(--color-primary)}.auth-form__error{border-radius:var(--radius-sm);color:var(--color-error);background:#f871711a;border:1px solid #f8717133;margin-bottom:12px;padding:8px 12px;font-size:.78rem;font-weight:500}.auth-form__submit{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;width:100%;transition:all var(--transition-fast);letter-spacing:.01em;border:none;padding:11px 0;font-size:.88rem;font-weight:600}.auth-form__submit:hover:not(:disabled){background:var(--color-primary-hover)}.auth-form__submit:active:not(:disabled){transform:translateY(1px)}.auth-form__submit:disabled{opacity:.5;cursor:not-allowed}.auth-card__footer{text-align:center;color:var(--color-text-muted);margin-top:20px;font-size:.78rem}.auth-card__link{color:var(--color-primary);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-left:4px;font-size:.78rem;font-weight:600;text-decoration:underline}.auth-card__link:hover{color:var(--color-primary-hover)}.config-logout-btn{border-radius:var(--radius-sm);width:100%;color:var(--color-error);cursor:pointer;transition:all var(--transition-fast);background:#f8717114;border:1px solid #f8717140;margin-top:12px;padding:9px 0;font-size:.82rem;font-weight:600}.config-logout-btn:hover{background:#f8717126;border-color:#f8717166}.scenario-list{flex-direction:column;gap:8px;margin-top:12px;display:flex}.scenario-item{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);align-items:center;gap:10px;padding:10px 12px;display:flex}.scenario-item:hover{background:var(--color-surface-3);border-color:var(--color-surface-3)}.scenario-item input[type=radio]{cursor:pointer}.scenario-item__icon{font-size:20px;line-height:1}.scenario-item__name{color:var(--color-text);flex:1;font-size:14px}.scenario-item__desc{color:var(--color-text-muted);margin-top:2px;font-size:12px}.scenario-item--custom{padding:8px 10px}.scenario-item__radio{cursor:pointer;flex:1;align-items:center;gap:10px;display:flex}.scenario-item__info{flex-direction:column;flex:1;gap:2px;display:flex}.scenario-item__actions{gap:6px;margin-left:auto;display:flex}.scenario-action-btn{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;padding:4px 8px;font-size:14px}.scenario-action-btn:hover{background:var(--color-surface-2);border-color:var(--color-surface-3);color:var(--color-text)}.scenario-action-btn--confirm{color:var(--color-error);background:#f871711a;border-color:#f8717133}.scenario-empty{text-align:center;color:var(--color-text-muted);padding:16px;font-size:13px;font-style:italic}.config-create-btn{color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast);background:#3b82f614;border:1px solid #3b82f633;border-radius:999px;margin-left:auto;padding:4px 12px;font-size:12px}.config-create-btn:hover{background:#3b82f629;border-color:#3b82f666}.config-group__title{align-items:center;gap:12px;display:flex}.modal-overlay{z-index:10000;-webkit-backdrop-filter:blur(4px);background:#0a0a0f73;justify-content:center;align-items:center;animation:.2s fadeIn;display:flex;position:fixed;inset:0}[data-theme=light] .modal-overlay{background:#0000004d}.modal{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);flex-direction:column;width:90%;max-width:600px;max-height:85vh;animation:.3s slideUp;display:flex;box-shadow:0 16px 48px #0a0a0f40}.modal--large{max-width:700px}.modal__header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.modal__title{color:var(--color-text);letter-spacing:-.01em;font-size:18px;font-weight:600}.modal__close{color:var(--color-text-muted);cursor:pointer;border-radius:var(--radius-sm);width:32px;height:32px;transition:all var(--transition-fast);background:0 0;border:none;justify-content:center;align-items:center;padding:0;font-size:20px;display:flex}.modal__close:hover{background:var(--color-surface-2);color:var(--color-text)}.modal__body{flex:1;padding:24px;overflow-y:auto}.modal__footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:12px;margin-top:8px;padding-top:16px;display:flex}.form-group{margin-bottom:20px}.form-label{color:var(--color-text);align-items:center;gap:8px;margin-bottom:8px;font-size:14px;font-weight:500;display:flex}.form-required{color:var(--color-primary)}.form-input,.form-textarea,.form-select{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);width:100%;color:var(--color-text);transition:all var(--transition-fast);padding:10px 12px;font-family:inherit;font-size:14px}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted);opacity:.7}.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--color-primary);background:var(--color-surface);outline:none;box-shadow:0 0 0 3px #3b82f61a}.form-textarea{resize:vertical;min-height:80px;font-family:Monaco,Menlo,Consolas,monospace;line-height:1.6}.form-hint{color:var(--color-text-muted);margin-top:4px;font-size:12px;display:block}.form-error{border-radius:var(--radius-sm);color:var(--color-error);background:#f8717114;border:1px solid #f8717133;margin-top:12px;padding:12px;font-size:13px}.icon-picker{grid-template-columns:repeat(auto-fill,minmax(44px,1fr));gap:8px;margin-top:8px;display:grid}.icon-picker__item{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;width:44px;height:44px;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:22px;display:flex}.icon-picker__item:hover{background:var(--color-surface-3);border-color:var(--color-surface-3);transform:scale(1.05)}.icon-picker__item--active{background:#3b82f61a;border-color:#3b82f666;box-shadow:0 0 0 2px #3b82f626}.form-guide-btn{color:var(--color-primary);cursor:pointer;border-radius:var(--radius-sm);transition:all var(--transition-fast);background:0 0;border:none;margin-left:auto;padding:4px 8px;font-size:12px}.form-guide-btn:hover{background:#3b82f60f}.form-guide{background:var(--color-surface-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);margin-bottom:12px;padding:16px;font-size:13px;line-height:1.6}.form-guide strong{color:var(--color-text)}.form-guide ul{color:var(--color-text-muted);margin:8px 0;padding-left:20px}.form-guide__code{background:var(--color-surface-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text);margin-top:8px;padding:12px;font-size:12px;line-height:1.5;overflow-x:auto}.modal .btn{border-radius:var(--radius-sm);cursor:pointer;transition:all var(--transition-fast);border:1px solid #0000;padding:10px 20px;font-size:14px;font-weight:600}.modal .btn:disabled{opacity:.5;cursor:not-allowed}.modal .btn--primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.modal .btn--primary:hover:not(:disabled){background:var(--color-primary-hover);border-color:var(--color-primary-hover)}.modal .btn--secondary{background:var(--color-surface-2);color:var(--color-text-muted);border-color:var(--color-border)}.modal .btn--secondary:hover:not(:disabled){background:var(--color-surface-3);border-color:var(--color-surface-3);color:var(--color-text)}
