.header{position:sticky;top:0;z-index:100;height:var(--header-height);background:transparent;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:none;transition:all var(--duration-normal) ease}.header-container{display:flex;align-items:center;justify-content:space-between;height:100%;max-width:var(--container-max);margin:0 auto;padding:0 var(--space-6)}.header-logo{display:flex;align-items:center;gap:var(--space-2);min-width:140px;position:relative;transition:opacity .15s ease}.header-logo:hover{opacity:.85}.header-logo:after{content:"返回首页";position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;z-index:20}.header-logo:before{content:"";position:absolute;top:calc(100% + 2px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--bg-surface);opacity:0;visibility:hidden;transition:all .2s ease;z-index:21}.header-logo:hover:after,.header-logo:hover:before{opacity:1;visibility:visible}.header-logo--home{pointer-events:auto}.header-logo--home:hover{opacity:1}.header-logo--home:after,.header-logo--home:before{display:none}.header-nav{display:flex;align-items:center;gap:var(--space-2);background:#f3f4f680;padding:4px;border-radius:999px;border:1px solid rgba(229,231,235,.5)}.nav-link{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--text-sm);font-weight:500;color:var(--text-secondary);border-radius:999px;transition:all var(--duration-fast) cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:1;position:relative}.nav-link span{display:inline-block}.nav-link span:after{content:attr(data-text);font-weight:600;visibility:hidden;height:0;display:block;overflow:hidden}.nav-link:hover{color:var(--text-primary);background:#fffc}.nav-link.active{color:#6366f1;background:#fff;box-shadow:0 2px 8px #6366f126;font-weight:600}.nav-icon{width:18px;height:18px;opacity:.8}.nav-link.active .nav-icon{opacity:1;stroke-width:2}.header-actions{display:flex;align-items:center;gap:var(--space-3);min-width:140px;justify-content:flex-end;margin-left:auto}.action-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;color:var(--text-secondary);background:transparent;border:none;cursor:pointer;transition:all var(--duration-fast) ease}.action-btn:hover{background:#6366f11a;color:#6366f1}.action-btn.logout:hover{background:#ef44441a;color:#ef4444}.auth-buttons{display:flex;gap:var(--space-3)}.btn-ghost{background:transparent;border:none;color:var(--text-secondary);font-weight:500;cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);transition:color var(--duration-fast)}.btn-ghost:hover{color:var(--text-primary)}.btn-primary{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:var(--space-2) var(--space-5);border-radius:var(--radius-full);font-weight:500;cursor:pointer;box-shadow:0 2px 6px #6366f140;transition:transform var(--duration-fast)}.btn-primary:hover{box-shadow:0 4px 10px #6366f159}@media (max-width: 768px){.header-nav{display:none}}.app-layout{height:100vh;display:flex;flex-direction:column;background:linear-gradient(135deg,#f0f4ff,#e8f0ff,#f5f0ff,#faf5ff,#fff5f9);overflow-y:auto;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}.app-main{flex:1;padding:var(--space-6) var(--space-4);max-width:var(--container-max);width:100%;margin:0 auto;min-height:0}.public-layout{min-height:100vh;display:flex;flex-direction:column}@media (max-width: 768px){.app-main{padding:var(--space-4)}}.chat-layout{height:100vh;display:flex;flex-direction:column}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-weight:500;border-radius:var(--radius-md);transition:all var(--duration-fast) var(--ease-out);cursor:pointer;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm)}.btn-md{height:40px;padding:0 var(--space-4);font-size:var(--text-sm)}.btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-base)}.btn-primary{background:var(--gradient-primary);color:#fff;border:none}.btn-primary:hover:not(:disabled){box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border-default)}.btn-secondary:hover:not(:disabled){background:var(--bg-glass-hover);border-color:var(--border-hover)}.btn-ghost{background:transparent;color:var(--text-secondary);border:none}.btn-ghost:hover:not(:disabled){background:var(--bg-glass);color:var(--text-primary)}.btn-danger{background:transparent;color:var(--error);border:1px solid var(--error)}.btn-danger:hover:not(:disabled){background:var(--error);color:#fff}.btn-full{width:100%}.btn-spinner{width:16px;height:16px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:spin .6s linear infinite}.btn-icon{display:flex;align-items:center;justify-content:center;font-size:1.1em}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-1)}.input-label{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.input-container{position:relative;display:flex;align-items:center}.input{width:100%;height:44px;padding:0 var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-size:var(--text-base);transition:all var(--duration-fast) var(--ease-out)}.input::placeholder{color:var(--text-muted)}.input:hover:not(:disabled){border-color:var(--border-hover)}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.input:disabled{opacity:.5;cursor:not-allowed}.input.has-left-icon{padding-left:44px}.input.has-right-icon{padding-right:44px}.input-icon{position:absolute;display:flex;align-items:center;justify-content:center;width:44px;height:100%;color:var(--text-muted);pointer-events:none}.input-icon.left{left:0}.input-icon.right{right:0}.has-error .input{border-color:var(--error)}.has-error .input:focus{box-shadow:0 0 0 3px var(--error-light)}.input-error{font-size:var(--text-xs);color:var(--error)}.input-hint{font-size:var(--text-xs);color:var(--text-muted)}.card{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);transition:all var(--duration-normal) var(--ease-out)}.card-elevated{background:var(--bg-elevated);box-shadow:var(--shadow-md)}.card-outlined{background:transparent}.card-p-none{padding:0}.card-p-sm{padding:var(--space-3)}.card-p-md{padding:var(--space-4)}.card-p-lg{padding:var(--space-6)}.card-hoverable{cursor:pointer}.card-hoverable:hover{border-color:var(--border-hover);box-shadow:var(--shadow-lg)}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-4);margin-bottom:var(--space-4)}.card-header-text{flex:1;min-width:0}.card-title{font-size:var(--text-lg);font-weight:600;color:var(--text-primary);margin:0}.card-subtitle{font-size:var(--text-sm);color:var(--text-secondary);margin:var(--space-1) 0 0}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn var(--duration-fast) var(--ease-out)}.modal{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);width:100%;max-height:90vh;display:flex;flex-direction:column;animation:fadeInScale var(--duration-normal) var(--ease-out)}.modal-sm{max-width:400px}.modal-md{max-width:560px}.modal-lg{max-width:720px}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-default)}.modal-title{font-size:var(--text-lg);font-weight:600;margin:0}.modal-close{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:24px;color:var(--text-muted);border-radius:var(--radius-md);transition:all var(--duration-fast)}.modal-close:hover{background:var(--bg-glass);color:var(--text-primary)}.modal-body{flex:1;padding:var(--space-6);overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-4) var(--space-6);border-top:1px solid var(--border-default);background:var(--bg-base);border-bottom-left-radius:var(--radius-xl);border-bottom-right-radius:var(--radius-xl)}.modal-footer button{min-width:80px;justify-content:center}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3)}.loading-spinner{border:3px solid var(--border-default);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}.loading-sm .loading-spinner{width:20px;height:20px;border-width:2px}.loading-md .loading-spinner{width:32px;height:32px}.loading-lg .loading-spinner{width:48px;height:48px;border-width:4px}.loading-text{font-size:var(--text-sm);color:var(--text-secondary)}.loading-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:var(--bg-base)}.skeleton{background:linear-gradient(90deg,var(--bg-elevated) 25%,var(--bg-glass-hover) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite}.skeleton-sm{border-radius:var(--radius-sm)}.skeleton-md{border-radius:var(--radius-md)}.skeleton-lg{border-radius:var(--radius-lg)}.skeleton-full{border-radius:var(--radius-full)}.toast-container{position:fixed;top:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column;align-items:center;gap:12px;pointer-events:none}.toast{display:flex;align-items:flex-start;gap:12px;padding:12px 16px;min-width:320px;max-width:420px;width:max-content;background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);pointer-events:auto;animation:toastPopIn .25s cubic-bezier(.16,1,.3,1) forwards;font-family:var(--font-sans);color:var(--text-primary);line-height:1.5}.toast-exit{animation:toastFadeOut .15s ease-out forwards}.toast-icon-wrapper{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;margin-top:2px}.toast-icon{width:100%;height:100%}.toast-success .toast-icon{color:var(--success)}.toast-error .toast-icon{color:var(--error)}.toast-warning .toast-icon{color:var(--warning)}.toast-info .toast-icon{color:var(--info)}.toast-content{flex:1;display:flex;flex-direction:column;justify-content:center}.toast-message{font-size:14px;font-weight:500;color:var(--text-primary)}.toast-close{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;cursor:pointer;color:var(--text-muted);border-radius:4px;transition:all .15s;margin-top:2px;padding:0}.toast-close:hover{background:#0000000d;color:var(--text-primary)}@keyframes toastPopIn{0%{opacity:0;transform:scale(.9) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes toastFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}@media (max-width: 480px){.toast-container{top:16px;width:100%;left:0;transform:none;padding:0 16px;align-items:stretch}.toast{min-width:auto;width:100%;max-width:none;border-radius:10px}}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);position:relative;overflow:hidden}.login-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#f0f4ff,#e8f0ff,#f5f0ff,#faf5ff,#fff5f9);z-index:0}.login-bg-gradient:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);top:-200px;right:-100px}.login-bg-gradient:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);bottom:-150px;left:-100px}.login-container{position:relative;z-index:1;width:100%;max-width:400px;display:flex;flex-direction:column;align-items:center}.login-brand{text-align:center;margin-bottom:var(--space-8)}.login-tagline{margin-top:var(--space-3);font-size:var(--text-base);color:var(--text-secondary)}.login-card{width:100%;padding:var(--space-8);background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:0 4px 24px #6366f114,0 1px 2px #0000000a}.login-reason-banner{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);line-height:1.5;margin-bottom:var(--space-5)}.login-reason-banner.warning{background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);color:#b45309}.login-reason-banner.info{background:#6366f114;border:1px solid rgba(99,102,241,.2);color:#4338ca}.login-form{display:flex;flex-direction:column;gap:var(--space-5)}.login-options{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm)}.checkbox-label{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.checkbox-label input{position:absolute;opacity:0;width:0;height:0}.checkbox-custom{width:18px;height:18px;border:2px solid var(--border-default);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out);position:relative;background:#fff}.checkbox-label input:checked+.checkbox-custom{background:var(--primary);border-color:var(--primary)}.checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.checkbox-label:hover .checkbox-custom{border-color:var(--primary)}.text-link{color:var(--text-muted);font-size:var(--text-sm);transition:color var(--duration-fast)}.text-link:hover{color:var(--primary);text-decoration:none}.text-link-primary{color:var(--primary);font-weight:500}.login-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}@media (max-width: 480px){.login-page{padding:var(--space-4)}.login-card{padding:var(--space-6)}}.register-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-6);position:relative;overflow:hidden}.register-bg-gradient{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,#f0f4ff,#e8f0ff,#f5f0ff,#faf5ff,#fff5f9);z-index:0}.register-bg-gradient:before{content:"";position:absolute;width:600px;height:600px;border-radius:50%;background:radial-gradient(circle,rgba(99,102,241,.12) 0%,transparent 70%);top:-200px;left:-100px}.register-bg-gradient:after{content:"";position:absolute;width:500px;height:500px;border-radius:50%;background:radial-gradient(circle,rgba(139,92,246,.1) 0%,transparent 70%);bottom:-150px;right:-100px}.register-container{position:relative;z-index:1;width:100%;max-width:420px;display:flex;flex-direction:column;align-items:center}.register-brand{text-align:center;margin-bottom:var(--space-6)}.register-tagline{margin-top:var(--space-3);font-size:var(--text-base);color:var(--text-secondary)}.register-card{width:100%;padding:var(--space-6) var(--space-8);background:#ffffffe6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-xl);box-shadow:0 4px 24px #6366f114,0 1px 2px #0000000a}.register-form{display:flex;flex-direction:column;gap:var(--space-4)}.register-agreement{display:flex;flex-direction:column;gap:var(--space-1)}.register-agreement .checkbox-label{display:flex;align-items:flex-start;gap:var(--space-2);cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none;font-size:var(--text-sm);line-height:1.5}.register-agreement .checkbox-label input{position:absolute;opacity:0;width:0;height:0}.register-agreement .checkbox-custom{flex-shrink:0;width:18px;height:18px;margin-top:2px;border:2px solid var(--border-default);border-radius:var(--radius-sm);transition:all var(--duration-fast) var(--ease-out);position:relative;background:#fff}.register-agreement .checkbox-label input:checked+.checkbox-custom{background:var(--primary);border-color:var(--primary)}.register-agreement .checkbox-label input:checked+.checkbox-custom:after{content:"";position:absolute;top:2px;left:5px;width:4px;height:8px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.register-agreement .checkbox-label:hover .checkbox-custom{border-color:var(--primary)}.error-text{font-size:var(--text-xs);color:var(--error);margin-top:var(--space-1)}.text-link-primary{color:var(--primary);font-weight:500;margin:0 2px}.text-link-primary:hover{color:var(--primary-hover);text-decoration:underline}.register-footer{margin-top:var(--space-6);text-align:center;font-size:var(--text-sm);color:var(--text-secondary)}@media (max-width: 480px){.register-page{padding:var(--space-4)}.register-card{padding:var(--space-5) var(--space-4)}}.onboarding-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9999;animation:onboardingFadeIn .4s ease-out}.onboarding-mask{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.onboarding-highlight-ring{position:absolute;border-radius:12px;border:2px solid rgba(99,102,241,.6);box-shadow:0 0 0 4px #6366f126,0 0 20px #6366f133;pointer-events:none;animation:onboardingPulse 2s ease-in-out infinite}.onboarding-tooltip{position:absolute;min-width:220px;max-width:300px;padding:var(--space-4) var(--space-5);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:onboardingSlideIn .4s ease-out .15s both;z-index:10000}.onboarding-tooltip-arrow{position:absolute;top:-8px;left:24px;width:16px;height:16px;background:var(--bg-surface);border-left:1px solid var(--border-default);border-top:1px solid var(--border-default);transform:rotate(45deg);border-radius:3px 0 0}.onboarding-tooltip-title{font-size:var(--text-base);font-weight:600;color:var(--text-primary);margin:0 0 var(--space-2)}.onboarding-tooltip-desc{font-size:var(--text-sm);color:var(--text-secondary);line-height:1.5;margin:0 0 var(--space-4)}.onboarding-dismiss-btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-2) var(--space-5);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity var(--duration-fast) var(--ease-out)}.onboarding-dismiss-btn:hover{opacity:.9}.onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.onboarding-step-indicator{font-size:var(--text-xs);color:var(--text-muted);white-space:nowrap}@keyframes onboardingFadeIn{0%{opacity:0}to{opacity:1}}@keyframes onboardingSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes onboardingPulse{0%,to{box-shadow:0 0 0 4px #6366f126,0 0 20px #6366f133}50%{box-shadow:0 0 0 6px #6366f140,0 0 30px #6366f14d}}.home-page{min-height:calc(100vh - var(--header-height) - var(--space-6) * 2);display:flex;align-items:center;justify-content:center;padding:0 var(--space-8);padding-bottom:10vh}.hero{text-align:center;max-width:720px;margin:0 auto}.hero h1{font-size:clamp(2.5rem,6vw,3.5rem);font-weight:800;line-height:1.2;margin-bottom:var(--space-6);color:var(--text-primary);letter-spacing:-.03em}.hero-desc{font-size:var(--text-lg);color:var(--text-secondary);line-height:1.7;margin-bottom:var(--space-8)}.hero-cta{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-8);font-size:var(--text-lg);font-weight:600;color:#fff;background:linear-gradient(135deg,#6366f1,#8b5cf6);border-radius:var(--radius-xl);transition:all var(--duration-normal) var(--ease-out);box-shadow:0 4px 16px #6366f14d}.hero-cta:hover{box-shadow:0 8px 24px #6366f166;color:#fff}.cta-arrow{display:inline-block}@media (max-width: 768px){.home-page{padding:var(--space-6)}.hero-desc{font-size:var(--text-base)}.hero-cta{padding:var(--space-3) var(--space-6);font-size:var(--text-base)}}.chat-sidebar{width:280px;height:100%;background:var(--bg-surface);border-right:1px solid var(--border-default);display:flex;flex-direction:column;flex-shrink:0}.sidebar-header{padding:var(--space-4);border-bottom:1px solid var(--border-default)}.new-chat-btn{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:var(--radius-lg);color:var(--text-primary);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:all .15s ease}.new-chat-btn:hover{border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-sm)}.new-chat-btn svg{width:16px;height:16px}.history-list{flex:1;overflow-y:auto;padding:var(--space-2)}.history-group{margin-bottom:var(--space-4);animation:sidebarFadeIn .2s ease-out}@keyframes sidebarFadeIn{0%{opacity:0}to{opacity:1}}.group-title{padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.history-item{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);min-height:36px}.history-item:hover{background:var(--bg-elevated)}.history-item.active{background:var(--primary-light)}.item-title{font-size:var(--text-sm);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;flex:1}.history-item.active .item-title{color:var(--primary);font-weight:500}.history-item:hover .item-title{color:var(--text-primary)}.edit-title-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all .2s ease}.history-item:hover .edit-title-btn{opacity:1}.edit-title-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.delete-session-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;background:transparent;border-radius:var(--radius-sm);color:var(--text-muted);cursor:pointer;opacity:0;transition:all .2s ease}.history-item:hover .delete-session-btn{opacity:1}.delete-session-btn:hover{background:var(--bg-surface);color:var(--error)}.edit-title-input{flex:1;width:100%;border:1px solid var(--primary);border-radius:var(--radius-sm);padding:2px 6px;font-size:var(--text-sm);color:var(--text-primary);background:var(--bg-surface);outline:none;margin:-3px -7px}.history-empty{padding:var(--space-4);text-align:center;color:var(--text-tertiary);font-size:var(--text-sm);margin-top:var(--space-8)}.history-skeleton{padding:var(--space-2);display:flex;flex-direction:column;gap:var(--space-2)}.skeleton-item{height:36px;border-radius:var(--radius-md);background:linear-gradient(90deg,var(--bg-elevated) 25%,rgba(0,0,0,.04) 50%,var(--bg-elevated) 75%);background-size:200% 100%;animation:skeletonShimmer 1.5s ease-in-out infinite}.skeleton-item:nth-child(2){width:85%}.skeleton-item:nth-child(3){width:92%}.skeleton-item:nth-child(4){width:78%}.skeleton-item:nth-child(5){width:88%}@keyframes skeletonShimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.sidebar-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-default);display:flex;align-items:center;justify-content:space-between;background:var(--bg-elevated);position:relative;cursor:pointer;-webkit-user-select:none;user-select:none}.user-info{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2);margin:calc(var(--space-2) * -1);border-radius:var(--radius-md);transition:all .2s cubic-bezier(.4,0,.2,1)}.user-info:hover{background-color:#0000000a}.user-info:active{background-color:#00000014}.user-avatar{width:32px;height:32px;border-radius:var(--radius-full);background:linear-gradient(135deg,#6366f1,#8b5cf6);display:flex;align-items:center;justify-content:center;font-size:14px;color:#fff}.user-name{font-size:var(--text-sm);color:var(--text-primary);font-weight:500}.footer-actions{display:flex;gap:var(--space-1)}.footer-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;color:var(--text-muted);transition:all .15s ease}.footer-btn:hover{background:var(--bg-surface);color:var(--text-primary)}.footer-btn svg{width:16px;height:16px}.user-menu-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:40;cursor:default}.user-menu-popup{position:absolute;bottom:calc(100% + 4px);left:6px;right:6px;width:auto;background:#fff;border:1px solid var(--border-default);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;border-radius:var(--radius-lg);padding:var(--space-1);z-index:50;animation:menuSlideUp .2s cubic-bezier(.16,1,.3,1);transform-origin:bottom center}.user-menu-item{width:100%;display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3);border:none;background:transparent;color:var(--text-secondary);font-size:var(--text-sm);border-radius:var(--radius-md);cursor:pointer;transition:all .2s;text-align:left}.user-menu-item:hover{background:var(--bg-elevated);color:var(--text-primary)}.user-menu-item svg{width:16px;height:16px;opacity:.7}.menu-divider{height:1px;background:var(--border-default);border:none;margin:var(--space-1) 0}@keyframes menuSlideUp{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.chat-sidebar{display:flex;position:fixed;top:0;left:0;bottom:0;z-index:100;transform:translate(-100%);transition:transform .3s cubic-bezier(.4,0,.2,1);width:280px;box-shadow:var(--shadow-xl)}.chat-sidebar.open{transform:translate(0)}}.typing-indicator{display:flex;align-items:center;gap:8px;padding:var(--space-3) var(--space-4)}.typing-dots{display:flex;align-items:center;gap:4px;height:20px}.typing-dot{width:6px;height:6px;background-color:var(--primary);border-radius:50%;animation:typing-bounce 1.4s infinite ease-in-out both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}.typing-dot:nth-child(3){animation-delay:0s}.typing-text{font-size:var(--text-sm);color:var(--text-secondary);font-weight:500;line-height:1}@keyframes typing-bounce{0%,80%,to{transform:translateY(0) scale(.6);opacity:.5}40%{transform:translateY(-3px) scale(1);opacity:1}}.message-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) ease;margin-top:var(--space-1)}.message:hover .message-actions,.message-actions:focus-within{opacity:1}.onboarding-overlay~.chat-page .message-actions,body:has(.onboarding-overlay) .message-actions{opacity:1}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:transparent;border:none;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);transition:all var(--duration-fast) ease}.action-btn:hover{background:var(--bg-surface-hover);color:var(--text-primary)}.action-icon{width:16px;height:16px}.action-icon.success{color:var(--success)}.context-exclusion-btn.excluded{color:var(--warning, #f59e0b)}.context-exclusion-btn.excluded:hover{color:var(--text-primary);background:var(--bg-surface-hover)}.markdown-body{font-family:var(--font-sans);line-height:1.6;color:var(--text-primary);font-size:15px;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.markdown-body p{margin-top:0;margin-bottom:.6em}.markdown-body p:last-child{margin-bottom:0}.markdown-body h1,.markdown-body h2,.markdown-body h3,.markdown-body h4,.markdown-body h5,.markdown-body h6{margin-top:1.2em;margin-bottom:.5em;font-weight:600;line-height:1.25}.markdown-body>h1:first-child,.markdown-body>h2:first-child,.markdown-body>h3:first-child,.markdown-body>h4:first-child,.markdown-body>h5:first-child,.markdown-body>h6:first-child{margin-top:0}.markdown-body h1{font-size:1.4em;border-bottom:1px solid var(--border-default);padding-bottom:.3em}.markdown-body h2{font-size:1.25em;border-bottom:1px solid var(--border-default);padding-bottom:.3em}.markdown-body h3{font-size:1.1em}.markdown-body h4{font-size:1em}.markdown-body ul,.markdown-body ol{margin-top:0;margin-bottom:.6em;padding-left:1.8em}.markdown-body ul{list-style-type:disc}.markdown-body ul ul{list-style-type:circle;margin-bottom:0}.markdown-body ul ul ul{list-style-type:square}.markdown-body ol{list-style-type:decimal}.markdown-body li{margin-top:.15em;margin-bottom:.15em}.markdown-body li:last-child{margin-bottom:0}.markdown-body li>p{margin-top:0;margin-bottom:0}.markdown-body li>p+p{margin-top:.3em}.markdown-body li>ul,.markdown-body li>ol{margin-top:.2em;margin-bottom:0}.markdown-body>ul:last-child,.markdown-body>ol:last-child{margin-bottom:0}.markdown-body blockquote{margin:0 0 .6em;padding:.4em 1em;color:var(--text-secondary);border-left:.25em solid var(--primary);background:var(--bg-surface);border-radius:0 var(--radius-sm) var(--radius-sm) 0}.markdown-body blockquote>:first-child{margin-top:0}.markdown-body blockquote>:last-child{margin-bottom:0}.markdown-body pre{padding:14px;overflow:auto;font-size:85%;line-height:1.45;background-color:#1e293b;border-radius:var(--radius-md);margin-bottom:.6em;color:#e2e8f0}.markdown-body code{padding:.2em .4em;margin:0;font-size:85%;background-color:#afb8c133;border-radius:4px;font-family:var(--font-mono)}.markdown-body pre code{padding:0;margin:0;font-size:100%;word-break:normal;white-space:pre;background:transparent;border:0}.markdown-body table{border-spacing:0;border-collapse:collapse;margin-top:0;margin-bottom:.6em;width:100%;display:block;overflow:auto}.markdown-body table th,.markdown-body table td{padding:6px 13px;border:1px solid var(--border-default)}.markdown-body table th{font-weight:600;background-color:var(--bg-surface)}.markdown-body table tr:nth-child(2n){background-color:#00000005}.markdown-body a{color:var(--primary);text-decoration:none}.markdown-body a:hover{text-decoration:underline}.markdown-body hr{height:.25em;padding:0;margin:1em 0;background-color:var(--border-default);border:0}.markdown-body strong{font-weight:700;color:var(--text-primary)}.markdown-body em{font-style:italic}.markdown-body img{max-width:100%;border-radius:var(--radius-md)}.chat-page{display:flex;height:100vh;height:100dvh;background:linear-gradient(135deg,#f0f4ff,#e8f0ff,#f5f0ff,#faf5ff,#fff5f9);overflow:hidden}.chat-main{flex:1;display:flex;flex-direction:column;height:100%;min-width:0;position:relative}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.chat-header{padding:var(--space-4) var(--space-6);background:transparent;position:relative;border-bottom:1px solid var(--border-default)}.chat-logo{display:inline-flex;transition:opacity .15s ease;position:relative}.chat-logo:hover{opacity:.85}.chat-logo:after{content:"返回首页";position:absolute;top:calc(100% + 12px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;z-index:20}.chat-logo:before{content:"";position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);border:6px solid transparent;border-bottom-color:var(--bg-surface);opacity:0;visibility:hidden;transition:all .2s ease;z-index:21}.chat-logo:hover:after,.chat-logo:hover:before{opacity:1;visibility:visible}.chat-messages{flex:1;overflow-y:auto;display:flex;flex-direction:column;overflow-anchor:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.messages-list{max-width:800px;width:100%;margin:0 auto;padding:var(--space-6) var(--space-4);display:flex;flex-direction:column;gap:var(--space-6)}.chat-empty{flex:1;display:flex;align-items:center;justify-content:center}.empty-content{text-align:center;padding:var(--space-8) var(--space-4)}.empty-icon{font-size:56px;margin-bottom:var(--space-1)}.chat-empty h2{font-size:var(--text-2xl);font-weight:600;margin-bottom:var(--space-2);color:var(--text-primary)}.chat-empty p{font-size:var(--text-base);color:var(--text-secondary);margin-bottom:var(--space-8)}.suggestions{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:center;max-width:600px;margin:0 auto}.suggestion-chip{padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all .15s ease;box-shadow:var(--shadow-sm)}.suggestion-chip:hover:not(:disabled){background:var(--bg-elevated);border-color:var(--primary);color:var(--primary);box-shadow:var(--shadow-md)}.suggestion-chip:disabled{opacity:.5;cursor:not-allowed}.message{display:flex;gap:var(--space-3);align-items:flex-start;max-width:100%}.message.user{flex-direction:row-reverse}.message-avatar{width:44px;height:44px;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-sm)}.message.user .message-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff}.message.assistant .message-avatar{width:44px;height:44px;background:linear-gradient(135deg,#f0f4fff2,#e8f0fff2);border:1px solid rgba(99,102,241,.2);box-shadow:0 2px 8px #6366f11a}.message-body{display:flex;flex-direction:column;max-width:70%;min-width:0}.message.user .message-body{align-items:flex-end}.message-bubble{padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:var(--bg-surface);border:1px solid var(--border-default);line-height:1.6;font-size:var(--text-base);color:var(--text-primary);box-shadow:var(--shadow-sm);user-select:text;-webkit-user-select:text;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;max-width:100%}.message.user .message-bubble{background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;color:#fff;border-bottom-right-radius:var(--radius-sm)}.message.assistant .message-bubble{border-bottom-left-radius:var(--radius-sm)}.message.assistant.error .message-bubble{background:var(--error-light, #fef2f2);border-color:var(--error, #ef4444);border-left:3px solid var(--error, #ef4444);color:var(--text-primary)}.message.assistant.error .message-bubble:after{content:"■ AI 回复失败";display:block;margin-top:8px;font-size:14px;font-weight:500;letter-spacing:.025em;line-height:1.5;color:var(--error, #ef4444);font-style:normal}.message.assistant.cancelled .message-bubble{border-left:3px solid #f59e0b;opacity:.85}.message.assistant.cancelled .message-bubble:after{content:"■ 由用户主动终止";display:block;margin-top:8px;font-size:14px;font-weight:500;letter-spacing:.025em;line-height:1.5;color:#f59e0b;font-style:normal}.message.assistant.interrupted .message-bubble{border-left:3px solid #94a3b8;opacity:.85}.message.assistant.interrupted .message-bubble:after{content:"■ 生成未完成";display:block;margin-top:8px;font-size:14px;font-weight:500;letter-spacing:.025em;line-height:1.5;color:#94a3b8;font-style:normal}.message.user.excluded .message-bubble{opacity:.5;background:linear-gradient(135deg,#6366f166,#8b5cf666);text-decoration:line-through;text-decoration-color:#fff9}.message.user.excluded .message-bubble:after{content:"已排除上下文";display:block;margin-top:6px;font-size:var(--text-xs);font-weight:500;color:#fffc;text-decoration:none;letter-spacing:.05em}.message.user.excluded .message-actions,.message.user.excluded .context-exclusion-btn{opacity:1}.message-meta{display:flex;align-items:center;gap:var(--space-2);margin-top:var(--space-1);padding:0 var(--space-1)}.message-time{font-size:var(--text-xs);color:var(--text-muted)}.message-bubble::selection{background:#6366f14d}.message.user .message-bubble,.message.user .message-bubble *{user-select:text;-webkit-user-select:text}.message.user .message-bubble::selection,.message.user .message-bubble *::selection{background:#fff!important;color:#6366f1!important;text-shadow:none}.chat-input-area{padding:var(--space-4) var(--space-6) var(--space-6);background:transparent;position:relative}.style-toolbar{display:flex;align-items:center;justify-content:space-between;max-width:800px;margin:0 auto var(--space-3);width:100%;padding:0 var(--space-2)}.style-toolbar-spacer{flex:0 0 auto;min-width:110px;visibility:hidden}.style-mode-bar{display:flex;justify-content:center;gap:var(--space-3);align-items:center}.style-mode-wrapper{position:relative}.style-mode-btn{padding:var(--space-2) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.style-mode-btn:hover{border-color:var(--primary);color:var(--primary)}.style-mode-btn.active{background:linear-gradient(135deg,#6366f1,#8b5cf6);border-color:transparent;color:#fff;box-shadow:0 4px 12px #6366f14d}.tooltip{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-3);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-secondary);white-space:nowrap;box-shadow:var(--shadow-md);opacity:0;visibility:hidden;transition:all .2s ease;pointer-events:none;z-index:10}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--bg-surface)}.style-mode-wrapper:hover .tooltip{opacity:1;visibility:visible}.context-toggle-wrapper{position:relative;flex:0 0 auto;display:flex;align-items:center;gap:6px}.context-toggle{position:relative;width:36px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0}.context-toggle-track{display:block;width:36px;height:20px;border-radius:10px;background:var(--border-default);transition:background .3s ease;position:relative}.context-toggle-thumb{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0003;transition:transform .25s cubic-bezier(.4,0,.2,1)}.context-toggle.active .context-toggle-track{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.context-toggle.active .context-toggle-thumb{transform:translate(16px)}.context-toggle:focus-visible .context-toggle-track{outline:2px solid var(--primary);outline-offset:2px}.context-toggle-label{font-size:var(--text-sm);color:var(--text-primary);white-space:nowrap;cursor:default;transition:color .2s ease;-webkit-user-select:none;user-select:none}.context-toggle-label.muted{color:var(--text-muted)}.context-toggle-wrapper .tooltip{left:18px;right:auto;transform:translate(-50%)}.context-toggle-wrapper .tooltip:after{left:50%;right:auto;transform:translate(-50%)}.context-toggle-wrapper:hover .tooltip{opacity:1;visibility:visible}.chat-input-form{max-width:800px;margin:0 auto;width:100%}.chat-input-container{display:flex;align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-md);transition:all .2s ease}.chat-input-container:focus-within{border-color:var(--primary);box-shadow:var(--shadow-glow)}.chat-input-container textarea{flex:1;background:transparent;border:none;resize:none;min-height:64px;max-height:200px;color:var(--text-primary);font-size:var(--text-base);line-height:1.5;padding:var(--space-2) 0}.chat-input-container textarea:focus{outline:none}.chat-input-container textarea::placeholder{color:var(--text-muted)}.chat-input-container textarea:disabled{cursor:text;color:var(--text-secondary)}.send-btn{width:36px;height:36px;padding:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,#6366f1,#8b5cf6);border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f14d}.send-btn:hover:not(:disabled){box-shadow:0 4px 12px #6366f166}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn svg{width:20px;height:20px;color:#fff}.stop-btn{width:36px;height:36px;padding:0;border-radius:var(--radius-lg);background:linear-gradient(135deg,#dc2626,#ef4444);border:none;display:flex;align-items:center;justify-content:center;flex-shrink:0;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #dc26264d;animation:pulse 1.5s ease-in-out infinite}.stop-btn:hover{box-shadow:0 4px 12px #dc262666}.stop-btn svg{width:18px;height:18px;color:#fff}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.scroll-to-bottom-btn{position:absolute;top:-40px;left:50%;transform:translate(-50%);right:auto;bottom:auto;width:36px;height:36px;border-radius:50%;background:var(--bg-surface);border:1px solid var(--border-default);box-shadow:var(--shadow-lg);display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:5;color:var(--text-secondary);transition:all .2s ease;animation:fadeIn .3s cubic-bezier(.16,1,.3,1)}.scroll-to-bottom-btn:hover{background:var(--bg-elevated);color:var(--primary);border-color:var(--primary);transform:translate(-50%);box-shadow:0 8px 16px #6366f133}.scroll-to-bottom-btn:active{transform:translate(-50%);box-shadow:0 4px 8px #6366f11a}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%) translateY(10px) scale(.9)}to{opacity:1;transform:translate(-50%) translateY(0) scale(1)}}.mobile-menu-btn{display:none;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-default);background:var(--bg-surface);border-radius:var(--radius-lg);color:var(--text-secondary);cursor:pointer;margin-right:var(--space-3);transition:all .2s}.mobile-menu-btn:hover{color:var(--primary);border-color:var(--primary);background:var(--bg-elevated)}.mobile-menu-btn svg{width:20px;height:20px}.sidebar-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:90;animation:fadeIn .3s ease}@media (max-width: 768px){.messages-list{padding:var(--space-4)}.chat-header{display:flex;align-items:center;padding:var(--space-3) var(--space-4);position:sticky;top:0;z-index:20;background:#f0f4fff2;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--border-default)}.mobile-menu-btn{display:flex}.chat-input-area{padding:var(--space-3) var(--space-4) var(--space-4)}.message-body{max-width:85%}.suggestions{flex-direction:column}.suggestion-chip{text-align:left}.context-toggle-label{display:none}}.membership-page{padding:var(--space-8) var(--space-6);color:var(--text-primary)}.membership-page.loading-state{display:flex;justify-content:center;align-items:center;min-height:60vh}.spin{animation:spin 1s linear infinite}.membership-header{text-align:center;margin-bottom:var(--space-12)}.membership-header h1{font-size:var(--text-3xl);font-weight:700;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:var(--space-2)}.membership-header p{color:var(--text-secondary);font-size:var(--text-lg)}.plans-section{max-width:960px;margin:0 auto}.plans-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));grid-template-rows:auto 1fr;gap:var(--space-6)}.plan-card-wrapper{border-radius:var(--radius-xl);transition:box-shadow var(--duration-normal) var(--ease-out);display:grid;grid-template-rows:subgrid;grid-row:span 2}.plan-card-wrapper:hover{box-shadow:var(--shadow-lg)}.plan-card-wrapper.free-plan{opacity:.85}.plan-card{position:relative;text-align:center;border:2px solid transparent;transition:border-color var(--duration-normal) var(--ease-out),background var(--duration-normal) var(--ease-out);height:100%;display:grid;grid-template-rows:subgrid;grid-row:span 2}.plan-upper-section{display:flex;flex-direction:column;justify-content:flex-end}.plan-lower-section{display:flex;flex-direction:column}.plan-card.popular{border-color:var(--primary)}.popular-badge{position:absolute;top:-10px;left:50%;transform:translate(-50%);padding:var(--space-1) var(--space-4);background:var(--gradient-primary);color:#fff;font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);white-space:nowrap}.plan-header{display:flex;justify-content:center;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4)}.plan-header h3{font-size:var(--text-xl);font-weight:600;margin:0}.plan-quota-display{margin-bottom:var(--space-3)}.quota-value{font-size:var(--text-4xl);font-weight:800;background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.quota-label{color:var(--text-muted);font-size:var(--text-sm);margin-top:var(--space-1)}.plan-quota-desc{display:flex;flex-direction:column;gap:var(--space-1);margin-bottom:var(--space-3)}.quota-detail{color:var(--text-secondary);font-size:var(--text-sm)}.chat-count{color:var(--text-muted);font-size:var(--text-xs)}.plan-discount-row{display:flex;justify-content:center;margin-bottom:12px}.discount-badge{display:inline-block;padding:3px 12px;background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;font-size:12px;font-weight:600;border-radius:var(--radius-full);white-space:nowrap;letter-spacing:.03em}.plan-price-box{display:flex;align-items:baseline;justify-content:center;gap:var(--space-1);margin-top:auto;margin-bottom:var(--space-3)}.price-free{font-size:var(--text-3xl);font-weight:700;color:var(--success);line-height:1.1;transform:translateY(1.5px)}.currency{font-size:var(--text-base);color:var(--text-secondary)}.amount{font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);line-height:1.1}.unit{font-size:var(--text-sm);color:var(--text-muted)}.original-price{font-size:var(--text-sm);color:var(--text-disabled);text-decoration:line-through;margin-left:var(--space-2)}.promotion-countdown{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);margin-bottom:10px;background:#f59e0b14;border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-md)}.promotion-countdown:empty{padding:0;margin:0;background:none;border:none}.countdown-label{font-size:var(--text-xs);font-weight:500;color:#d97706}.countdown-timer{font-size:var(--text-sm);font-weight:700;color:#b45309;font-variant-numeric:tabular-nums;font-family:SF Mono,Menlo,Monaco,monospace}.plan-benefits{margin-bottom:var(--space-3);text-align:center}.benefits-tags-wrapper{display:flex;flex-wrap:wrap;gap:var(--space-1);justify-content:center;max-height:50px;overflow:hidden;transition:max-height .3s ease-in-out}.benefit-tag{display:inline-block;padding:2px 10px;background:#6366f114;color:var(--primary);font-size:12px;font-weight:500;border-radius:var(--radius-full);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.benefits-toggle{background:none;border:none;color:var(--primary);font-size:12px;font-weight:500;cursor:pointer;padding:2px 8px;border-radius:var(--radius-full);transition:background var(--duration-fast)}.benefits-toggle:hover{background:#6366f114}.plan-divider{height:1px;background:var(--border-default);margin:var(--space-4) 0}.plan-features{list-style:none;padding:0;margin:0;text-align:left;flex:1}.plan-features li{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);padding:var(--space-1) 0;font-size:var(--text-sm);color:var(--text-secondary)}.feature-icon{color:var(--success);flex-shrink:0}.plan-cta{margin-top:auto;padding-top:var(--space-6)}.plan-cta-button{border-radius:var(--radius-xl)!important}.checkout-modal-content{padding:var(--space-2) 0}.modal-plan-summary{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--bg-glass);border-radius:var(--radius-lg);margin-bottom:var(--space-6);border:1px solid var(--border-default)}.modal-plan-info{display:flex;flex-direction:column;gap:var(--space-1)}.modal-plan-name{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.modal-plan-quota{font-size:var(--text-sm);color:var(--text-secondary)}.modal-plan-price{display:flex;align-items:baseline;gap:var(--space-1);flex-wrap:wrap}.modal-price-amount{font-size:var(--text-2xl);font-weight:700;color:var(--primary)}.modal-price-unit{font-size:var(--text-sm);color:var(--text-muted)}.modal-original-price{font-size:var(--text-sm);color:var(--text-disabled);text-decoration:line-through;margin-left:var(--space-1)}.modal-section-title{font-size:var(--text-sm);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-3)}.payment-methods{display:flex;gap:var(--space-3);margin-bottom:var(--space-6)}.payment-option{flex:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-3);border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);cursor:pointer;transition:all var(--duration-fast) var(--ease-out);position:relative}.payment-option:hover{border-color:var(--border-hover);background:var(--bg-glass-hover)}.payment-option.active{border-color:var(--primary);background:#6366f10d}.payment-icon-wrapper{width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.payment-icon-wrapper.wechat{background:#07c1601a}.payment-icon-wrapper.alipay{background:#1677ff1a}.payment-label{font-size:var(--text-sm);font-weight:500;color:var(--text-primary)}.payment-check{position:absolute;top:var(--space-2);right:var(--space-2);color:var(--primary)}.modal-pay-button{margin-bottom:var(--space-3);border-radius:var(--radius-xl)!important}.agreement-text{text-align:center;font-size:var(--text-xs);color:var(--text-muted)}.agreement-text a{color:var(--primary);text-decoration:none}.agreement-text a:hover{text-decoration:underline}.qr-code-area{display:flex;justify-content:center;margin-bottom:var(--space-4)}.qr-placeholder{width:180px;height:180px;background:var(--bg-glass);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;border:1px solid var(--border-default)}.qr-mock-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;padding:var(--space-4)}.qr-cell{width:20px;height:20px;background:var(--bg-glass);border-radius:2px}.qr-cell.filled{background:var(--text-primary)}.scan-instruction{text-align:center;color:var(--text-secondary);margin-bottom:var(--space-2)}.scan-instruction strong{color:var(--primary)}.modal-price{text-align:center;font-size:var(--text-2xl);font-weight:700;color:var(--primary);margin-bottom:var(--space-6)}.simulate-pay-btn{display:block;margin:0 auto;padding:var(--space-3) var(--space-8);background:var(--gradient-primary);color:#fff;border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:500;cursor:pointer;transition:opacity var(--duration-fast)}.simulate-pay-btn:hover{opacity:.9}.payment-success-view{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);text-align:center}.success-icon-wrapper{width:80px;height:80px;background:linear-gradient(135deg,#10b981,#059669);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.payment-success-view h3{font-size:var(--text-xl);margin:0}.payment-success-view p{color:var(--text-secondary);margin:0}.payment-success-view .btn:hover{box-shadow:none;opacity:.9}.fade-in-up{animation:fadeInUp var(--duration-slow) var(--ease-out)}.subscription-period-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:var(--space-2);margin-bottom:var(--space-4)}.period-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-3) var(--space-2);border:2px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-surface);cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out);text-align:center;min-height:100px}.period-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow-sm)}.period-card.active{border-color:var(--primary);background:#6366f10a;box-shadow:0 0 0 1px var(--primary)}.period-card-name{font-size:var(--text-sm);font-weight:500;color:var(--text-secondary)}.period-card.active .period-card-name{color:var(--primary);font-weight:600}.period-card-price{display:flex;align-items:baseline;gap:2px}.period-card-price .price-symbol{font-size:var(--text-sm);font-weight:600;color:var(--text-primary)}.period-card-price .price-value{font-size:var(--text-2xl);font-weight:700;color:var(--text-primary);line-height:1.1}.period-card.active .period-card-price .price-symbol,.period-card.active .period-card-price .price-value{color:var(--primary)}.period-card-original{font-size:11px;color:var(--text-disabled);text-decoration:line-through}.period-card-hint{font-size:11px;color:var(--text-muted);margin-top:auto;line-height:1.3}.period-card.active .period-card-hint{color:var(--primary);opacity:.8}.period-savings-badge{position:absolute;top:-8px;left:-4px;padding:1px 8px;background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-size:10px;font-weight:600;border-radius:var(--radius-full);white-space:nowrap;line-height:1.5;letter-spacing:.02em;z-index:1}.checkout-price-display{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin-bottom:var(--space-2)}.checkout-price-main{display:flex;align-items:baseline;gap:2px}.checkout-price-main .price-symbol{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.checkout-price-main .price-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1;font-variant-numeric:tabular-nums}.checkout-savings-tag{display:inline-flex;align-items:center;padding:2px 10px;border:1.5px solid #f59e0b;color:#d97706;font-size:12px;font-weight:600;border-radius:var(--radius-md);white-space:nowrap;line-height:1.4}.auto-renew-notice{text-align:center;font-size:var(--text-xs);color:#6b7280;margin-bottom:var(--space-4);line-height:1.5;padding:0 var(--space-2)}.unified-payment-section{display:flex;align-items:center;gap:var(--space-6);justify-content:center;padding:var(--space-4) 0;margin-bottom:var(--space-4)}.qr-code-container{width:160px;height:160px;background:#fff;border-radius:var(--radius-lg);border:1px solid var(--border-default);display:flex;align-items:center;justify-content:center;padding:var(--space-2);flex-shrink:0}.qr-code-container canvas,.qr-code-container svg{width:100%!important;height:100%!important}.payment-info-aside{display:flex;flex-direction:column;gap:var(--space-3);align-items:flex-start}.payment-info-price{display:flex;align-items:baseline;gap:4px}.payment-info-price .price-symbol{font-size:var(--text-lg);font-weight:600;color:var(--text-primary)}.payment-info-price .price-value{font-size:2.5rem;font-weight:800;color:var(--text-primary);line-height:1}.payment-channel-hint{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary)}.channel-icons{display:flex;gap:var(--space-1)}.channel-icon{width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center}.channel-icon.alipay-icon{background:#1677ff1a}.channel-icon.wechat-icon{background:#07c1601a}.checkout-agreement{text-align:center;font-size:var(--text-xs);color:var(--text-muted);padding:var(--space-2) 0}.checkout-agreement a{color:var(--primary);text-decoration:none}.checkout-agreement a:hover{text-decoration:underline}.checkout-refund-notice{text-align:center;font-size:11px;color:var(--text-muted);opacity:.7;margin-top:var(--space-2)}@media (max-width: 768px){.membership-page{padding:var(--space-4)}.membership-header{margin-bottom:var(--space-8)}.plans-grid{grid-template-columns:1fr;gap:var(--space-4)}.modal-plan-summary{flex-direction:column;gap:var(--space-3);text-align:center}.modal-plan-price{justify-content:center}.countdown-timer{font-size:var(--text-xs)}.benefit-tag{max-width:160px}.subscription-period-cards{grid-template-columns:repeat(2,1fr)}.unified-payment-section{flex-direction:column;gap:var(--space-4)}.payment-info-aside{align-items:center;text-align:center}}.settings-page{display:flex;gap:var(--space-8);max-width:900px;margin:0 auto}.settings-sidebar{width:200px;flex-shrink:0}.settings-sidebar h2{font-size:var(--text-xl);margin-bottom:var(--space-4)}.settings-nav{display:flex;flex-direction:column;gap:var(--space-1)}.nav-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:var(--text-secondary);transition:all var(--duration-fast);text-align:left}.nav-item:hover{background:var(--bg-glass);color:var(--text-primary)}.nav-item.active{background:var(--primary-light);color:var(--primary)}.settings-content{flex:1;min-width:0;padding-top:var(--space-8);display:grid;grid-template-columns:1fr;grid-template-rows:1fr;align-items:start}.settings-panel{grid-column:1 / -1;grid-row:1 / -1;visibility:hidden;opacity:0;transition:opacity .2s ease,visibility 0s linear .2s;z-index:1;pointer-events:none}.settings-panel.active{visibility:visible;opacity:1;transition-delay:0s;z-index:2;pointer-events:auto}.settings-content h3{font-size:var(--text-lg);margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-default)}.form-section{display:flex;flex-direction:column;gap:var(--space-4)}.form-section .btn{align-self:flex-start;margin-top:var(--space-2)}.toggle-list{display:flex;flex-direction:column}.toggle-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) 0;border-bottom:1px solid var(--border-default);cursor:pointer}.toggle-item:last-child{border-bottom:none}.toggle-item input{width:auto;accent-color:var(--primary)}.danger-zone{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-default)}.danger-zone h4{color:var(--error);margin-bottom:var(--space-4)}.danger-zone .btn{margin-right:var(--space-3);margin-bottom:var(--space-3)}@media (max-width: 768px){.settings-page{flex-direction:column}.settings-sidebar{width:100%}.settings-nav{flex-direction:row;overflow-x:auto;gap:var(--space-2)}.nav-item{white-space:nowrap}}.not-found-page{min-height:80vh;display:flex;align-items:center;justify-content:center;text-align:center}.not-found-content{max-width:400px}.error-code{font-size:8rem;font-weight:800;line-height:1;display:block;margin-bottom:var(--space-4)}.not-found-content h1{font-size:var(--text-2xl);margin-bottom:var(--space-3)}.not-found-content p{color:var(--text-secondary);margin-bottom:var(--space-8)}.not-found-actions{display:flex;gap:var(--space-4);justify-content:center}.not-found-actions .btn:hover{box-shadow:none;opacity:.9}@media (max-width: 480px){.error-code{font-size:5rem}.not-found-actions{flex-direction:column}}@keyframes twinkle{0%,to{opacity:.3}50%{opacity:1}}@keyframes spinGear{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes spinGearReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes progress{0%{width:20%}50%{width:80%}to{width:20%}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseGlow{0%,to{box-shadow:0 0 20px #6366f14d}50%{box-shadow:0 0 40px #6366f199}}.maintenance-page{position:fixed;top:0;right:0;bottom:0;left:0;z-index:99999;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;overflow:hidden;font-family:var(--font-sans, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", sans-serif);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.maintenance-stars{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.maintenance-star{position:absolute;border-radius:50%;animation:twinkle ease-in-out infinite}.maintenance-vignette{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none}.maintenance-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;width:90%;max-width:560px;padding:2rem;text-align:center}.maintenance-icons{display:flex;align-items:center;gap:.75rem;margin-bottom:2.5rem;animation:fadeIn .8s ease-out}.maintenance-icon{font-size:3rem;line-height:1;filter:drop-shadow(0 4px 12px rgba(99,102,241,.3))}.maintenance-icon--gear-1{animation:spinGear 6s linear infinite}.maintenance-icon--gear-2{animation:spinGearReverse 8s linear infinite;font-size:2.4rem}.maintenance-icon--wrench{animation:floatY 3s ease-in-out infinite}.maintenance-title{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;line-height:1.2;margin-bottom:1.25rem;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:fadeInUp .8s ease-out .2s both}.maintenance-description{font-size:1.05rem;line-height:1.7;margin-bottom:3rem;max-width:440px;animation:fadeInUp .8s ease-out .4s both}.maintenance-progress-wrapper{width:100%;max-width:480px;margin-bottom:1.5rem;animation:fadeInUp .8s ease-out .6s both}.maintenance-progress-track{width:100%;height:6px;border-radius:999px;overflow:hidden}.maintenance-progress-bar{height:100%;border-radius:999px;animation:progress 3s ease-in-out infinite}.maintenance-progress-label{font-size:.875rem;margin-top:1rem;animation:fadeIn .8s ease-out .8s both}.maintenance-badge{display:inline-flex;align-items:center;gap:.5rem;padding:.625rem 1.5rem;border-radius:999px;font-size:.95rem;font-weight:500;border-width:1px;border-style:solid;margin-top:2.5rem;animation:fadeInUp .8s ease-out 1s both;transition:transform .3s ease,box-shadow .3s ease;cursor:default}.maintenance-badge:hover{transform:scale(1.05);box-shadow:0 0 30px #6366f180}.maintenance-badge-icon{font-size:1.1rem;line-height:1}.maintenance-footer{position:absolute;bottom:2.5rem;z-index:2;font-size:.8rem;animation:fadeIn 1s ease-out 1.2s both}.maintenance-demo-hint{position:absolute;top:1rem;right:1rem;z-index:3;font-size:.75rem;padding:.4rem .8rem;border-radius:6px;background:#ffffff14;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.12);cursor:default;-webkit-user-select:none;user-select:none;animation:fadeIn 1s ease-out 1.5s both;transition:opacity .3s ease}.maintenance-demo-hint:hover{opacity:.6}@media (max-width: 768px){.maintenance-icons{margin-bottom:2rem}.maintenance-title{font-size:1.8rem;margin-bottom:1rem}.maintenance-description{font-size:.95rem;margin-bottom:2.5rem}.maintenance-icon{font-size:2.4rem}.maintenance-icon--gear-2{font-size:1.8rem}.maintenance-badge{font-size:.85rem;padding:.5rem 1.2rem;margin-top:2rem}.maintenance-footer{bottom:2rem}}@media (max-width: 480px){.maintenance-icons{margin-bottom:1.5rem;gap:.5rem}.maintenance-title{font-size:1.5rem;margin-bottom:.75rem}.maintenance-description{font-size:.875rem;padding:0 .5rem;margin-bottom:2rem}.maintenance-progress-wrapper{margin-bottom:1rem}.maintenance-icon{font-size:2rem}.maintenance-icon--gear-2{font-size:1.5rem}.maintenance-badge{margin-top:1.5rem}.maintenance-content{padding:1rem}.maintenance-footer{bottom:1.5rem;font-size:.7rem}}:root{--primary: #6366f1;--primary-hover: #4f46e5;--primary-active: #4338ca;--primary-light: #eef2ff;--primary-glow: rgba(99, 102, 241, .25);--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 50%, #a855f7 100%);--gradient-surface: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);--success: #059669;--success-light: #ecfdf5;--warning: #d97706;--warning-light: #fffbeb;--error: #dc2626;--error-light: #fef2f2;--info: #2563eb;--info-light: #eff6ff;--bg-base: #f8fafc;--bg-surface: #ffffff;--bg-elevated: #ffffff;--bg-glass: rgba(255, 255, 255, .8);--bg-glass-hover: rgba(255, 255, 255, .95);--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #94a3b8;--text-disabled: #cbd5e1;--border-default: #e2e8f0;--border-hover: #cbd5e1;--border-focus: var(--primary);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .12);--shadow-glow: 0 0 24px var(--primary-glow);--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Noto Sans SC", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--duration-fast: .15s;--duration-normal: .25s;--duration-slow: .4s;--ease-out: cubic-bezier(.16, 1, .3, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--header-height: 64px;--sidebar-width: 260px;--container-max: 1200px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth;-webkit-text-size-adjust:100%;scrollbar-gutter:stable;height:100%;overflow:hidden}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:1.6;color:var(--text-primary);background-color:var(--bg-base);height:100%;overflow:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column;overflow:hidden}a{color:var(--primary);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--primary-hover)}button{font-family:inherit;cursor:pointer;border:none;background:none}input,textarea,select{font-family:inherit;font-size:inherit;color:inherit}ul,ol{list-style:none}img,svg{display:block;max-width:100%}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3}::selection{background-color:var(--primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.fade-in{animation:fadeIn var(--duration-normal) var(--ease-out)}.fade-in-up{animation:fadeInUp var(--duration-normal) var(--ease-out)}.fade-in-scale{animation:fadeInScale var(--duration-normal) var(--ease-out)}.glass{background:var(--bg-glass);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-default)}.glass:hover{background:var(--bg-glass-hover);border-color:var(--border-hover)}.gradient-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.glow{box-shadow:var(--shadow-glow)}@media (max-width: 768px){html{font-size:14px}:root{--header-height: 56px;--sidebar-width: 100%}}@media (max-width: 480px){html{font-size:13px}}
