:root{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{min-width:320px}a{text-decoration:none}button{font-family:inherit}.language-selector{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border:1px solid var(--border-color, #e1e5e9);border-radius:6px;background:var(--bg-secondary, #ffffff);color:var(--text-primary, #333333);font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;text-decoration:none;-webkit-user-select:none;user-select:none}.language-selector:hover{background:var(--bg-hover, #f8f9fa);border-color:var(--border-hover, #c1c7cd);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.language-selector:active{transform:translateY(0);box-shadow:0 1px 4px #0000001a}.language-selector__text{font-weight:500}.language-selector--minimal{padding:6px 10px;min-width:40px;justify-content:center}.language-selector--minimal .language-code{font-weight:600;font-size:12px;letter-spacing:.5px}.language-selector--dropdown{position:relative;padding:0}.language-selector__button{display:flex;align-items:center;gap:8px;padding:8px 12px;border:none;background:transparent;color:inherit;font-size:inherit;font-weight:inherit;cursor:pointer;width:100%;text-align:left}.language-selector__button:hover{background:var(--bg-hover, #f8f9fa)}@media (prefers-color-scheme: dark){.language-selector{--bg-secondary: #2d3748;--text-primary: #e2e8f0;--border-color: #4a5568;--border-hover: #718096;--bg-hover: #4a5568}}@media (max-width: 768px){.language-selector{padding:6px 10px;font-size:13px}.language-selector--minimal{padding:4px 8px;min-width:36px}.language-selector--minimal .language-code{font-size:11px}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;border:none;border-radius:var(--radius-md);font-family:inherit;font-weight:600;text-decoration:none;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}.btn:focus:not(:focus-visible){box-shadow:none}.btn--small{padding:.375rem .625rem;font-size:.7rem;min-height:28px}.btn--medium{padding:.5rem .875rem;font-size:.8rem;min-height:32px}.btn--large{padding:.75rem 1.25rem;font-size:.9rem;min-height:40px}.btn--primary{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-sm)}.btn--primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--primary:active:not(:disabled){transform:translateY(0)}.btn--secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.btn--secondary:hover:not(:disabled){background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--secondary:active:not(:disabled){transform:translateY(0)}.btn--ghost{background:transparent;color:var(--text-secondary);border:1px solid transparent}.btn--ghost:hover:not(:disabled){background:var(--bg-secondary);color:var(--text-primary);border-color:var(--border-color)}.btn--ghost:active:not(:disabled){background:var(--bg-tertiary)}.btn--success{background:var(--gradient-success);color:#fff;box-shadow:var(--shadow-sm)}.btn--success:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--danger{background:var(--gradient-error);color:#fff;box-shadow:var(--shadow-sm)}.btn--danger:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--warning{background:var(--warning-color);color:#fff;box-shadow:var(--shadow-sm)}.btn--warning:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn--icon{padding:.375rem;min-width:32px;min-height:32px}.btn--icon.btn--small{min-width:24px;min-height:24px;padding:.25rem}.btn--icon.btn--large{min-width:40px;min-height:40px;padding:.5rem}.btn--disabled{opacity:.6;cursor:not-allowed;transform:none!important;box-shadow:none!important}.btn--loading{cursor:wait}.btn--loading .btn__content{opacity:.7}.btn__content{display:flex;align-items:center;gap:.375rem}.btn__icon{flex-shrink:0;transition:transform .2s ease}.btn__icon--left{margin-right:.125rem}.btn__icon--right{margin-left:.125rem}.btn:hover .btn__icon{transform:scale(1.05)}.btn__loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center}.btn__loading-icon{animation:spin 1s linear infinite}.btn-group{display:inline-flex;border-radius:var(--radius-md);overflow:hidden;box-shadow:var(--shadow-sm)}.btn-group .btn{border-radius:0;border-right:1px solid var(--border-color)}.btn-group .btn:first-child{border-top-left-radius:var(--radius-md);border-bottom-left-radius:var(--radius-md)}.btn-group .btn:last-child{border-top-right-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);border-right:none}@media (max-width: 768px){.btn--large{padding:.625rem 1rem;font-size:.85rem;min-height:36px}.btn--icon.btn--large{min-width:36px;min-height:36px;padding:.5rem}}@media (max-width: 480px){.btn--medium{padding:.375rem .75rem;font-size:.75rem;min-height:28px}.btn--icon.btn--medium{min-width:28px;min-height:28px;padding:.375rem}}.options-menu{position:relative}.options-toggle{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.375rem;cursor:pointer;transition:all .2s ease;min-width:28px;min-height:28px;display:flex;align-items:center;justify-content:center;color:var(--text-secondary)}.options-toggle:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.options-dropdown{position:absolute;top:100%;right:0;margin-top:.5rem;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:.5rem;min-width:200px;z-index:9999;animation:slideDown .15s ease-out;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.options-item{width:100%;padding:.625rem .875rem;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);text-align:left;transition:all .2s ease;display:flex;align-items:center;gap:.625rem;font-size:.8rem;font-weight:500;color:var(--text-primary);position:relative}.options-item:hover:not(:disabled){background:var(--bg-secondary);transform:translate(2px);box-shadow:var(--shadow-sm)}.options-item.active{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-md)}.options-item.active:hover{background:var(--accent-hover)}.options-item:disabled{opacity:.5;cursor:not-allowed;transform:none}.options-item:disabled:hover{background:transparent;transform:none;box-shadow:none}.options-item:not(:last-child){margin-bottom:.125rem}.options-item-wrapper{position:relative}.language-selector-item{cursor:default;justify-content:space-between;padding-right:.5rem}.language-selector-item:hover{background:transparent;transform:none;box-shadow:none}.language-selector-item .language-selector{margin-left:auto}@media (max-width: 768px){.options-dropdown{left:auto;right:0;min-width:180px}}@media (max-width: 480px){.options-toggle{min-width:24px;min-height:24px}.options-dropdown{min-width:160px;padding:.375rem}.options-item{padding:.5rem .625rem;font-size:.75rem;gap:.5rem}}@media (max-width: 360px){.options-dropdown{min-width:140px;padding:.25rem}.options-item{padding:.375rem .5rem;font-size:.7rem;gap:.375rem}}.chat-header{padding:.75rem 1rem;background:var(--bg-card);border-bottom:1px solid var(--border-color);position:relative;overflow:visible;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);z-index:100;min-height:70px;display:flex;flex-direction:column;gap:.5rem}@media (max-width: 1023px){:root{--mobile-chat-header-height: 70px}}.chat-header:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent);border-radius:0 0 2px 2px}.header-content{display:flex;justify-content:space-between;align-items:center;gap:.75rem;width:100%;flex:1}.header-main{flex:1;min-width:0;max-width:50%}.header-title{font-size:1.125rem;font-weight:700;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin:0 0 .125rem;letter-spacing:-.025em;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-subtitle{color:var(--text-secondary);font-size:.7rem;font-weight:500;letter-spacing:.025em;margin:0;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.header-info{display:flex;flex-direction:column;gap:.375rem;align-items:flex-end;flex-shrink:0;min-width:0}.server-status{margin:0}.status-indicator{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-md);font-size:.65rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase;transition:all .2s ease;box-shadow:var(--shadow-sm);white-space:nowrap}.status-indicator--online{background:var(--gradient-success);color:#fff}.status-indicator--offline{background:var(--gradient-error);color:#fff}.status-indicator--checking{background:var(--warning-color);color:#fff;animation:pulse 2s infinite}.status-indicator--unknown{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color)}.personality-info{display:flex;gap:.375rem;align-items:center;flex-wrap:wrap;justify-content:flex-end}.personality-badge,.emotion-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.25rem .5rem;border-radius:var(--radius-md);font-size:.65rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase;box-shadow:var(--shadow-sm);white-space:nowrap;transition:all .2s ease;flex-shrink:0}.personality-badge{background:var(--gradient-accent);color:#fff}.emotion-badge{background:var(--gradient-success);color:#fff}.header-controls{display:flex;gap:.375rem;align-items:center;flex-shrink:0;justify-content:flex-end;width:100%}.dashboard-button,.logout-button,.personality-toggle,.options-toggle{display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;box-shadow:var(--shadow-sm);text-decoration:none;flex-shrink:0;position:relative;font-size:.7rem}.dashboard-button svg,.logout-button svg,.personality-toggle svg,.options-toggle svg{width:12px;height:12px;display:block;color:inherit;flex-shrink:0}.dashboard-button:hover,.logout-button:hover,.personality-toggle:hover,.options-toggle:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md);border-color:var(--accent-color)}.dashboard-button:hover{background:var(--accent-color);color:#fff}.logout-button:hover{background:var(--error-color);color:#fff}.personality-selector{position:relative}.personality-menu{position:absolute;top:calc(100% + 8px);right:0;background:#0f172ad9;border:1px solid rgba(51,65,85,.7);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);padding:.75rem;min-width:min(420px,90vw);max-height:min(60vh,540px);overflow:auto;z-index:9999;animation:slideDown .15s ease-out;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);color:var(--text-primary)}@keyframes slideDown{0%{opacity:0;transform:translateY(-4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.personality-option{width:100%;padding:.625rem .875rem;border:none;background:transparent;cursor:pointer;border-radius:var(--radius-md);text-align:left;transition:all .2s ease;display:flex;align-items:center;justify-content:space-between;color:var(--text-primary)}.personality-option:hover{background:var(--bg-secondary);transform:translate(2px);color:var(--text-primary)}.personality-option.active{background:var(--gradient-accent);color:#fff;box-shadow:var(--shadow-md)}.personality-option-content{display:flex;flex-direction:column;gap:2px}.personality-name{font-weight:700;font-size:.85rem;color:var(--text-primary)}.personality-style{font-size:.7rem;opacity:.85;text-transform:capitalize;color:var(--text-secondary)}.personality-search{display:flex;align-items:center;gap:8px;margin-bottom:8px}.personality-search input{flex:1;height:34px;padding:6px 10px;border-radius:var(--radius-md);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);outline:none}.personality-check{color:#fff;flex-shrink:0}@media (max-width: 768px){.chat-header{padding:.75rem;min-height:70px}.header-content{flex-direction:column;gap:.75rem;align-items:stretch}.header-info{flex-direction:row;align-items:center;justify-content:space-between;order:-1}.header-title{font-size:1.125rem}.header-controls{justify-content:center;gap:.375rem;margin-top:.75rem}.personality-menu{position:fixed;top:calc(env(safe-area-inset-top,0px) + var(--mobile-chat-header-height, 70px) + 8px);right:12px;left:12px;min-width:0;max-width:none}.personality-info{justify-content:flex-start}}@media (max-width: 480px){.chat-header{padding:.5rem;min-height:60px}.header-title{font-size:1rem}.header-subtitle{font-size:.7rem}.status-indicator,.personality-badge,.emotion-badge{padding:.25rem .5rem;font-size:.65rem}.dashboard-button,.logout-button,.personality-toggle,.options-toggle{width:2.25rem;height:2.25rem}.personality-menu{min-width:140px;padding:.375rem}.personality-option{padding:.5rem .625rem}.personality-name{font-size:.75rem}.personality-style{font-size:.65rem}}@media (max-width: 360px){.header-info{flex-direction:column;align-items:flex-start;gap:.375rem}.personality-info{justify-content:flex-start;width:100%}.header-controls{gap:.25rem}.dashboard-button,.logout-button,.personality-toggle,.options-toggle{width:2rem;height:2rem}}.message{display:flex;margin-bottom:.5rem;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(5px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.message-container{display:flex;align-items:flex-start;gap:.375rem;max-width:95%}.message-container--user{margin-left:auto;flex-direction:row-reverse}.message-container--bot{margin-right:auto}.message-content{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.625rem .875rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .2s ease;min-width:120px}.message-content:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:var(--gradient-accent)}.message-content:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.message--user .message-content{background:var(--gradient-accent);color:#fff;border-color:var(--accent-color);box-shadow:var(--shadow-md)}.message--user .message-content:before{background:var(--accent-hover)}.message--user .message-text{color:#fff}.message--system .message-content{background:var(--gradient-secondary);color:#fff;border-color:var(--warning-color);font-style:italic;box-shadow:var(--shadow-md)}.message--error .message-content{background:var(--bg-card);border:1px solid var(--error-color);box-shadow:var(--shadow-md)}.message--error .message-content:before{background:var(--gradient-error)}.message-text{color:var(--text-primary);line-height:1.4;font-size:.8rem;font-weight:500;margin:0 0 .5rem;word-wrap:break-word}.message-avatar{display:flex;align-items:center;justify-content:center;width:20px;height:20px;background:var(--bg-tertiary);border-radius:50%;border:1px solid var(--border-color);flex-shrink:0;margin-top:.125rem}.emotion-icon{color:var(--accent-color)}.message-footer{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.375rem;padding-top:.375rem;border-top:1px solid var(--border-light)}.message-meta{display:flex;align-items:center;gap:.375rem;flex-wrap:wrap}.message-badge{display:inline-flex;align-items:center;gap:.2rem;background:var(--bg-tertiary);color:var(--text-secondary);padding:.15rem .3rem;border-radius:var(--radius-sm);font-size:.55rem;font-weight:600;border:1px solid var(--border-color);letter-spacing:.025em;text-transform:uppercase;box-shadow:var(--shadow-sm)}.message-badge--language{background:var(--accent-light);color:var(--accent-color);border-color:var(--accent-color)}.language-note{font-size:.5rem;opacity:.7;font-style:italic;margin-left:.125rem}.message-controls{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.message-analysis{display:flex;gap:.25rem;align-items:center}.analysis-item{display:inline-flex;align-items:center;gap:.15rem;background:var(--bg-tertiary);color:var(--text-secondary);padding:.15rem .25rem;border-radius:var(--radius-sm);font-size:.55rem;font-weight:600;border:1px solid var(--border-color);letter-spacing:.025em;box-shadow:var(--shadow-sm)}.audio-button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.2rem;transition:all .2s ease;min-width:20px;min-height:20px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.audio-button:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.audio-button--playing{background:var(--accent-color);color:#fff;animation:pulse-audio 1.5s infinite}.audio-button--playing:hover{background:var(--accent-hover);transform:translateY(-1px) scale(1.05)}.audio-button--checking{background-color:var(--muted-color);color:var(--text-muted);cursor:not-allowed}.audio-button--unavailable{background-color:var(--error-color);color:#fff;cursor:not-allowed;opacity:.7}.audio-button--unavailable:hover{background-color:var(--error-color);transform:none}.spinning{animation:spin 1s linear infinite}@keyframes pulse-audio{0%{transform:scale(1)}50%{transform:scale(1.05)}to{transform:scale(1)}}.message-timestamp{display:flex;align-items:center;gap:.2rem;font-size:.55rem;color:var(--text-muted);font-weight:400;opacity:.7}@media (max-width: 768px){.message-container{max-width:98%}.message-content{padding:.5rem .75rem;min-width:100px}.message-text{font-size:.75rem}.message-avatar{width:18px;height:18px}.message-footer{flex-direction:column;align-items:flex-start;gap:.25rem}.message-controls{width:100%;justify-content:flex-end}.message-analysis{gap:.2rem}.analysis-item{padding:.125rem .2rem;font-size:.5rem}}@media (max-width: 480px){.message-container{max-width:99%}.message-content{padding:.375rem .625rem;min-width:80px}.message-text{font-size:.7rem}.message-avatar{width:16px;height:16px}.message-badge{padding:.125rem .25rem;font-size:.5rem}.analysis-item{padding:.1rem .15rem;font-size:.45rem}.audio-button{min-width:18px;min-height:18px;padding:.15rem}}.streaming-cursor{animation:blink .8s infinite;color:var(--accent-color);font-weight:700;margin-left:2px}.message-badge--streaming{background:linear-gradient(45deg,var(--accent-color),var(--accent-color-light));color:#fff;animation:pulse 1.5s infinite;font-size:11px;padding:2px 8px;border-radius:12px}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.message--bot.streaming{animation:none}.message--bot.streaming .message-text{transition:all .1s ease}.typing-indicator{display:flex;gap:4px;align-items:center;margin-bottom:8px}.typing-indicator span{width:6px;height:6px;border-radius:50%;background:var(--accent-color);animation:typing 1.4s infinite ease-in-out}.audio-preview{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.75rem;margin:.5rem 0;box-shadow:var(--shadow-sm);animation:slideIn .3s ease-out}.audio-preview-content{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.audio-controls{display:flex;align-items:center;gap:.5rem;flex:1}.audio-play-button{background:var(--accent-color);color:#fff;border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.audio-play-button:hover{background:var(--accent-hover);transform:scale(1.05)}.audio-info{flex:1;min-width:0}.audio-time{font-size:.7rem;color:var(--text-secondary);margin-bottom:.25rem;font-weight:500}.audio-loading{color:var(--accent-color);font-style:italic;animation:pulse 1.5s infinite}.audio-progress{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;position:relative}.audio-progress-bar{height:100%;background:var(--accent-color);border-radius:2px;transition:width .1s ease}.audio-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.audio-action-button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);padding:.375rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:28px;min-height:28px}.audio-action-button:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.audio-action-button--send{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.audio-action-button--send:hover{background:var(--accent-hover)}.audio-action-button--delete{background:var(--error-light);color:var(--error-color);border-color:var(--error-color)}.audio-action-button--delete:hover{background:var(--error-color);color:#fff}.transcription-status{display:flex;flex-direction:column;align-items:center;gap:8px;width:100%}.transcription-progress{width:100%;height:4px;background-color:#e5e7eb;border-radius:2px;overflow:hidden}.transcription-progress-bar{height:100%;background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:2px;transition:width .3s ease;animation:pulse-progress 2s ease-in-out infinite}.transcription-text{font-size:12px;color:#6b7280;font-weight:500}@keyframes pulse-progress{0%,to{opacity:1}50%{opacity:.7}}@media (max-width: 768px){.audio-preview{padding:.5rem}.audio-preview-content{gap:.5rem}.audio-controls{gap:.375rem}.audio-play-button{width:28px;height:28px}.audio-time{font-size:.65rem}.audio-action-button{padding:.25rem;min-width:24px;min-height:24px}}@media (max-width: 480px){.audio-preview-content{flex-direction:column;align-items:stretch;gap:.5rem}.audio-controls,.audio-actions{justify-content:center}}.chat-input{padding:1rem;background:var(--bg-card);border-top:1px solid var(--border-color);position:relative;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-lg)}.chat-input:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent);border-radius:0 0 2px 2px}.input-container{display:flex;gap:.75rem;align-items:flex-end;margin-bottom:.5rem}.input-wrapper{flex:1;position:relative}.message-textarea{width:100%;min-height:40px;max-height:100px;padding:.625rem .875rem;border:1px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-family:inherit;font-size:.85rem;font-weight:500;resize:none;outline:none;transition:all .2s ease;line-height:1.4;box-shadow:var(--shadow-sm)}.message-textarea:focus{border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a;background:var(--bg-primary);transform:translateY(-1px)}.message-textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-tertiary);transform:none}.message-textarea::placeholder{color:var(--text-muted);font-weight:400}.message-textarea{overflow-y:hidden;resize:none}.chat-input .send-button{flex-shrink:0;min-width:40px;min-height:40px;border-radius:var(--radius-lg);background:var(--gradient-accent);color:#fff!important;box-shadow:var(--shadow-md);transition:all .2s ease;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-weight:600}.chat-input .send-button .btn__icon{color:#fff!important;opacity:1!important}.chat-input .send-button svg,.chat-input .send-button .btn__icon svg{color:#fff!important;fill:#fff!important;stroke:#fff!important}.chat-input .send-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg),var(--glow);filter:brightness(1.1)}.chat-input .send-button:active:not(:disabled){transform:translateY(0)}.chat-input .send-button:disabled{opacity:.8;cursor:not-allowed;transform:none;box-shadow:none;background:var(--bg-secondary);color:var(--text-secondary)!important;border:1px solid var(--border-color)}.chat-input .send-button:disabled .btn__icon{opacity:1!important;color:var(--text-secondary)!important}.chat-input .send-button:disabled svg,.chat-input .send-button:disabled .btn__icon svg{color:var(--text-secondary)!important;fill:var(--text-secondary)!important;stroke:var(--text-secondary)!important}.input-hint{display:flex;justify-content:center;font-size:.7rem;color:var(--text-muted);font-weight:500;letter-spacing:.025em}.input-hint span{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-sm);border:1px solid var(--border-color)}.audio-error{display:flex;align-items:center;gap:.5rem;background:var(--error-light);color:var(--error-color);padding:.625rem .875rem;border-radius:var(--radius-md);margin-bottom:.5rem;font-size:.75rem;font-weight:500;border:1px solid var(--error-color)}.input-buttons{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.voice-button{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px;color:var(--text-secondary)}.voice-button:hover:not(:disabled){background:var(--accent-color);color:#fff;transform:translateY(-1px);box-shadow:var(--shadow-md)}.voice-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.recording-controls{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.recording-timer{background:var(--error-light);color:var(--error-color);padding:.5rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:600;border:1px solid var(--error-color);min-width:70px;text-align:center;animation:pulse-recording 1s infinite}@keyframes pulse-recording{0%,to{opacity:1}50%{opacity:.7}}.recording-button{background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-lg);padding:.5rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;min-width:40px;min-height:40px}.recording-button:hover{background:var(--error-hover);transform:scale(1.05)}.recording-button--stop{animation:pulse-recording 1s infinite}@media (max-width: 768px){.chat-input{padding:.75rem}.input-container{gap:.5rem}.message-textarea{min-height:36px;padding:.5rem .75rem;font-size:.8rem}.chat-input .send-button,.voice-button,.recording-button{min-width:36px;min-height:36px;padding:.5rem}.input-buttons,.recording-controls{gap:.5rem}.recording-timer{padding:.5rem .75rem;font-size:.7rem;min-width:60px}.input-hint{font-size:.65rem}.audio-error{font-size:.7rem;padding:.5rem .75rem}}@media (max-width: 480px){.chat-input{padding:.5rem}.input-container{gap:.375rem}.message-textarea{min-height:32px;padding:.375rem .625rem;font-size:.75rem}.chat-input .send-button,.voice-button,.recording-button{min-width:32px;min-height:32px;padding:.375rem}.input-buttons,.recording-controls{gap:.375rem}.recording-timer{padding:.375rem .625rem;font-size:.65rem;min-width:55px}.input-hint{font-size:.6rem}.input-hint span{padding:.2rem .375rem}.audio-error{font-size:.65rem;padding:.375rem .625rem}}@media (max-width: 360px){.chat-input{padding:.375rem}.input-container{gap:.25rem}.message-textarea{min-height:28px;padding:.25rem .5rem;font-size:.7rem}.chat-input .send-button,.voice-button,.recording-button{min-width:28px;min-height:28px;padding:.25rem}.input-buttons,.recording-controls{gap:.25rem}.recording-timer{padding:.25rem .5rem;font-size:.6rem;min-width:50px}.input-hint{font-size:.55rem}.input-hint span{padding:.15rem .25rem}.audio-error{font-size:.6rem;padding:.25rem .5rem}}.status-bar{padding:.5rem .75rem;background:var(--bg-tertiary);border-top:1px solid var(--border-color);font-size:.65rem;color:var(--text-muted);font-weight:500;letter-spacing:.025em;text-transform:uppercase;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:.375rem;position:sticky;bottom:0;width:100%;z-index:1}.status-left,.status-right{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.status-right{margin-left:auto}.status-item{display:flex;align-items:center;gap:.25rem;padding:.2rem .375rem;background:var(--bg-secondary);border-radius:var(--radius-sm);border:1px solid var(--border-color);font-size:.6rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase;box-shadow:var(--shadow-sm);transition:all .2s ease}.status-item:hover{transform:translateY(-1px);box-shadow:var(--shadow-md)}.status-item--warning{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.status-item--streaming{color:var(--accent-color);animation:pulse 2s infinite}.status-item--info{color:var(--accent-color);opacity:.8}.status-icon{flex-shrink:0;color:var(--text-secondary)}.status-icon.loading{animation:spin 1s linear infinite}.status-icon.streaming{animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.5}to{opacity:1}}@media (max-width: 768px){.status-bar{padding:.375rem .5rem;flex-direction:column;align-items:flex-start;gap:.25rem}.status-left,.status-right{width:100%;justify-content:center;gap:.375rem}.status-item{padding:.15rem .3rem;font-size:.55rem}}@media (max-width: 480px){.status-bar{padding:.25rem .375rem;font-size:.6rem}.status-left,.status-right{gap:.25rem}.status-item{padding:.125rem .25rem;font-size:.5rem;gap:.2rem}}.context-info{margin:.5rem 0;border-radius:var(--radius-lg);overflow:hidden;background:var(--bg-tertiary);border:1px solid var(--border-color)}.context-toggle{width:100%;padding:.5rem .75rem;background:var(--bg-secondary);border:none;border-radius:var(--radius-lg);cursor:pointer;display:flex;align-items:center;gap:.5rem;font-size:.75rem;font-weight:500;color:var(--text-primary);transition:all .2s ease}.context-toggle:hover{background:var(--bg-tertiary);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.context-arrow{margin-left:auto;transition:transform .2s ease}.context-details{padding:.75rem;background:var(--bg-secondary);border-top:1px solid var(--border-color);animation:slideDown .2s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.context-section{margin-bottom:.75rem}.context-section:last-child{margin-bottom:0}.context-section-header{display:flex;align-items:center;gap:.375rem;margin-bottom:.375rem;font-size:.7rem;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.025em}.context-summary{font-size:.75rem;line-height:1.4;color:var(--text-primary);margin:0;padding:.375rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border-left:3px solid var(--accent-color)}.context-topics,.context-names{display:flex;flex-wrap:wrap;gap:.25rem}.context-topic,.context-name{padding:.2rem .5rem;background:var(--gradient-accent);color:#fff;border-radius:var(--radius-sm);font-size:.65rem;font-weight:500;text-transform:capitalize}.context-name{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.context-keypoints{display:flex;flex-direction:column;gap:.25rem}.context-keypoint{padding:.375rem .5rem;background:var(--bg-tertiary);border-radius:var(--radius-md);font-size:.7rem;line-height:1.3;color:var(--text-primary);border-left:2px solid var(--warning-color)}.context-stats{display:flex;gap:1rem;flex-wrap:wrap}.context-stat{display:flex;align-items:center;gap:.25rem;font-size:.7rem}.stat-label{color:var(--text-secondary);font-weight:500}.stat-value{color:var(--text-primary);font-weight:600;background:var(--bg-tertiary);padding:.125rem .375rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}@media (max-width: 768px){.context-toggle{padding:.375rem .5rem;font-size:.7rem}.context-details{padding:.5rem}.context-summary{font-size:.7rem;padding:.25rem}.context-topic,.context-name{font-size:.6rem;padding:.15rem .375rem}.context-keypoint{font-size:.65rem;padding:.25rem .375rem}.context-stats{gap:.75rem}.context-stat{font-size:.65rem}}@media (max-width: 480px){.context-info{margin:.375rem 0}.context-toggle{padding:.25rem .375rem;font-size:.65rem;gap:.375rem}.context-details{padding:.375rem}.context-section{margin-bottom:.5rem}.context-section-header{font-size:.65rem;margin-bottom:.25rem}}.landing-page{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);overflow-x:hidden;scroll-padding-top:84px}.container{max-width:1400px;margin:0 auto;padding:0 var(--space-xl)}@media (max-width: 768px){.container{padding:0 var(--space-lg)}}@media (max-width: 480px){.container{padding:0 var(--space-md)}}.landing-header{position:fixed;top:0;left:0;right:0;background:#0f172a99;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.1);z-index:1000;padding:var(--space-lg) 0;transition:var(--transition-normal)}.landing-header.scrolled{background:#0f172ad9;box-shadow:var(--shadow-lg)}.header-content{display:flex;justify-content:space-between;align-items:center;max-width:1400px;margin:0 auto;padding:0 var(--space-xl);flex-wrap:nowrap}.logo{display:flex;align-items:center;gap:var(--space-sm);font-weight:700;font-size:var(--font-size-xl);text-decoration:none;transition:var(--transition-normal)}.logo:hover{transform:scale(1.05)}.logo:hover .logo-icon{box-shadow:var(--glow)}.logo-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:800;position:relative}.landing-header .logo-text:after{content:"";position:absolute;left:0;bottom:-4px;width:0;height:2px;background:var(--gradient-accent);transition:width .3s ease;border-radius:2px}.landing-header .logo:hover .logo-text:after{width:100%}.nav-menu{display:flex;align-items:center;gap:var(--space-2xl)}.nav-menu a,.nav-menu .nav-link{text-decoration:none;color:var(--text-secondary);font-weight:500;font-size:var(--font-size-sm);transition:var(--transition-normal);position:relative;padding:var(--space-sm) var(--space-md);border-radius:var(--radius-md);background:none;border:none;cursor:pointer;font-family:inherit}.nav-menu a:hover,.nav-menu .nav-link:hover{color:var(--text-primary);background:#ffffff0d}.nav-menu a:after,.nav-menu .nav-link:after{content:"";position:absolute;bottom:-2px;left:50%;width:0;height:2px;background:var(--gradient-primary);transition:var(--transition-normal);transform:translate(-50%)}.nav-menu a:hover:after,.nav-menu .nav-link:hover:after{width:80%}.mobile-menu-btn,.mobile-menu{display:none}@media (max-width: 768px){.mobile-menu-btn{display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:var(--space-sm);background:none;border:none;z-index:1001;margin-left:auto}.mobile-menu-btn span{width:22px;height:2px;background:var(--text-primary);transition:var(--transition-normal);border-radius:1px}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.mobile-menu{display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-lg);background:var(--bg-card);border-top:1px solid var(--border-color);box-shadow:var(--shadow-lg);position:absolute;top:100%;left:0;right:0;z-index:1000;animation:slideInDown .25s var(--ease-out)}.mobile-nav-link{background:none;border:none;color:var(--text-secondary);font-size:var(--font-size-sm);font-weight:600;padding:var(--space-sm) var(--space-md);text-align:left;cursor:pointer;transition:var(--transition-normal);border-radius:var(--radius-md)}.mobile-nav-link:hover{color:var(--text-primary);background:#ffffff0d}.mobile-menu .btn{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm);border-radius:var(--radius-lg)}.mobile-language-selector{display:flex;justify-content:center;padding:var(--space-md) 0;border-top:1px solid var(--border-color);margin-top:var(--space-sm)}.mobile-language-selector .language-selector{width:100%;max-width:200px}.mobile-language-selector .language-selector button{width:100%;justify-content:center;padding:var(--space-sm) var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;transition:all .2s ease}.mobile-language-selector .language-selector button:hover{background:var(--bg-primary);border-color:var(--accent-color)}.header-content{gap:var(--space-sm)}.logo{gap:var(--space-xs)}.logo-icon{width:40px;height:40px;font-size:1.1rem}.logo-text{font-size:1.1rem}.hero-image{margin-top:12px}}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-lg);font-weight:600;text-decoration:none;transition:var(--transition-normal);border:2px solid transparent;cursor:pointer;font-size:var(--font-size-sm);position:relative;overflow:hidden;white-space:nowrap}.btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.btn:hover:before{left:100%}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.btn-primary:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl),var(--glow)}.btn-outline{background:transparent;color:var(--accent-color);border-color:var(--accent-color);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.btn-outline:hover{background:var(--accent-color);color:#fff;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-base);border-radius:var(--radius-xl)}.btn-full{width:100%}.btn-loading{position:relative;color:transparent}.btn-loading:after{content:"";position:absolute;width:20px;height:20px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.hero-section{padding:calc(var(--space-3xl) + 24px) 0 var(--space-2xl);background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);min-height:100svh;display:flex;align-items:center;position:relative;overflow:hidden}.hero-section:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(59,130,246,.1) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(147,51,234,.1) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(6,182,212,.05) 0%,transparent 50%);pointer-events:none;animation:float 20s ease-in-out infinite}.hero-content{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3xl);align-items:center;position:relative;z-index:2}.hero-title{font-size:clamp(2rem,4vw,3.25rem);font-weight:900;line-height:1.1;margin-bottom:var(--space-lg);letter-spacing:-.02em;animation:fadeInUp 1s var(--ease-out)}.gradient-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;position:relative}.gradient-text:after{content:"";position:absolute;bottom:-4px;left:0;width:100%;height:2px;background:var(--gradient-accent);border-radius:var(--radius-sm)}.hero-description{font-size:clamp(1rem,1.6vw,var(--font-size-xl));color:var(--text-secondary);margin-bottom:var(--space-2xl);line-height:1.7;animation:fadeInUp 1s var(--ease-out) .2s both;max-width:600px}.hero-cta{display:flex;gap:var(--space-lg);margin-bottom:var(--space-3xl);animation:fadeInUp 1s var(--ease-out) .4s both}.hero-stats{display:flex;gap:clamp(12px,2vw,var(--space-2xl));animation:fadeInUp 1s var(--ease-out) .6s both}.stat{text-align:center;padding:clamp(10px,2vw,var(--space-lg));background:#ffffff0d;border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);transition:var(--transition-normal)}.stat:hover{transform:translateY(-4px);background:#ffffff1a;box-shadow:var(--shadow-lg)}.stat-number{display:block;font-size:clamp(1rem,2.4vw,var(--font-size-2xl));font-weight:800;color:var(--accent-color);margin-bottom:var(--space-xs)}.stat-label{font-size:clamp(.7rem,1.2vw,var(--font-size-sm));color:var(--text-muted);font-weight:500;letter-spacing:.02em}.hero-visual{display:flex;justify-content:center;align-items:center}.hero-image{width:min(520px,100%);height:auto;border-radius:var(--radius-2xl);box-shadow:var(--shadow-2xl);border:1px solid var(--border-color)}.section-header{text-align:center;margin-bottom:4rem}.section-header h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-header p{font-size:1.125rem;color:#cbd5e1;max-width:600px;margin:0 auto}.features-section{padding:var(--space-3xl) 0;background:var(--bg-secondary);position:relative}.features-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.landing-page .features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(16px,3vw,var(--space-2xl));margin-top:var(--space-3xl)}@media (min-width: 1024px){.landing-page .features-grid{grid-template-columns:repeat(4,1fr)}.landing-page .features-grid>:nth-last-child(-n+2){grid-column:span 2}}.feature-card{padding:var(--space-2xl);border-radius:var(--radius-2xl);background:var(--bg-card);box-shadow:var(--shadow-md);border:1px solid var(--border-color);transition:var(--transition-normal);position:relative;overflow:hidden}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition-normal)}.feature-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-xl);border-color:var(--accent-color)}.feature-card:hover:before{transform:scaleX(1)}.feature-icon{font-size:var(--font-size-2xl);margin-bottom:var(--space-lg);color:var(--accent-color);background:#3b82f61a;width:72px;height:72px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-xl);border:2px solid rgba(59,130,246,.2);transition:var(--transition-normal);position:relative}.feature-card:hover .feature-icon{background:#3b82f633;border-color:var(--accent-color);box-shadow:var(--glow);transform:scale(1.1)}.feature-card h3{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--space-md);color:var(--text-primary);line-height:1.3}.feature-card p{color:var(--text-secondary);line-height:1.7;font-size:var(--font-size-base)}.pricing-section{padding:var(--space-3xl) 0;background:var(--bg-primary);position:relative}.pricing-section:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent-color),transparent)}.pricing-toggle{display:flex;justify-content:center;gap:var(--space-sm);margin-bottom:var(--space-3xl);background:var(--bg-card);padding:var(--space-sm);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);max-width:320px;margin-left:auto;margin-right:auto;border:1px solid var(--border-color)}.toggle-btn{padding:var(--space-md) var(--space-xl);border:none;background:transparent;border-radius:var(--radius-lg);font-weight:600;cursor:pointer;transition:var(--transition-normal);position:relative;color:var(--text-secondary);font-size:var(--font-size-sm)}.toggle-btn.active{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md)}.toggle-btn:hover:not(.active){color:var(--text-primary);background:#ffffff0d}.discount-badge{position:absolute;top:-8px;right:-8px;background:var(--success-color);color:#fff;font-size:var(--font-size-xs);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-lg);font-weight:700;box-shadow:var(--shadow-sm)}.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-2xl);max-width:1200px;margin:0 auto}.pricing-card{background:var(--bg-card);border-radius:var(--radius-2xl);padding:clamp(16px,3vw,var(--space-2xl));box-shadow:var(--shadow-lg);border:2px solid var(--border-color);transition:var(--transition-normal);position:relative;overflow:hidden;display:flex;flex-direction:column}.pricing-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary);transform:scaleX(0);transition:var(--transition-normal)}.pricing-card:hover{transform:translateY(-8px);box-shadow:var(--shadow-2xl);border-color:var(--accent-color)}.pricing-card:hover:before{transform:scaleX(1)}.pricing-card.popular{border-color:var(--accent-color);transform:scale(1.02);box-shadow:var(--shadow-xl),var(--glow)}.pricing-card.popular:before{transform:scaleX(1)}.popular-badge{position:absolute;top:12px;right:12px;background:var(--gradient-primary);color:#fff;padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-xl);font-size:var(--font-size-sm);font-weight:700;box-shadow:var(--shadow-md);z-index:10}.plan-header{text-align:center;margin-bottom:var(--space-xl);display:flex;flex-direction:column;align-items:center}.plan-topline{display:inline-flex;align-items:center;gap:10px;justify-content:center;margin-bottom:10px}.plan-icon{font-size:var(--font-size-2xl);color:var(--accent-color);display:inline-flex;justify-content:center}.plan-header h3{font-size:clamp(1.05rem,2.2vw,1.4rem);font-weight:700;margin:0;color:var(--text-primary)}.plan-price{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;margin-bottom:.25rem;white-space:nowrap}.currency{font-size:1.25rem;font-weight:700;color:var(--accent-color)}.amount{font-size:clamp(2rem,4.5vw,3.25rem);font-weight:900;color:var(--text-primary);line-height:1}.period{font-size:.95rem;color:var(--text-secondary);line-height:1.1;margin-left:2px}.plan-subtitle{color:#cbd5e1;font-size:.9rem;margin-top:8px;display:block;width:100%;clear:both}.plan-features{list-style:none;padding:0;margin-bottom:var(--space-xl)}.pricing-card .btn-full,.pricing-card .btn-primary,.pricing-card .btn-outline{margin-top:auto}.plan-features li{display:flex;align-items:center;gap:.75rem;padding:.5rem 0;color:#94a3b8}.check-icon{color:#48bb78;font-weight:700;font-size:1.125rem}.testimonials-section{padding:var(--space-3xl) 0;background:var(--bg-secondary)}.testimonials-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem}.testimonial-card{background:var(--bg-card);padding:var(--space-2xl);border-radius:var(--radius-xl);border-left:4px solid var(--accent-color);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.testimonial-content{margin-bottom:1.5rem}.testimonial-content p{font-style:italic;color:#cbd5e1;line-height:1.6}.testimonial-author{display:flex;align-items:center;gap:1rem}.author-avatar{font-size:1.5rem;font-weight:700;width:50px;height:50px;background:var(--accent-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center}.author-info h4{font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.author-info span{color:var(--text-secondary);font-size:.875rem}.cta-section{padding:6rem 0;background:linear-gradient(135deg,#374151,#1f2937);color:#fff;text-align:center}.cta-content h2{font-size:2.5rem;font-weight:700;margin-bottom:1rem;text-align:center}.cta-content p{font-size:1.125rem;margin-bottom:2rem;opacity:.9;text-align:center}.cta-buttons{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.cta-section .btn-outline{background:transparent;color:#fff;border-color:#fff}.cta-section .btn-outline:hover{background:#fff;color:#374151}.landing-footer{background:var(--bg-card);color:var(--text-primary);padding:4rem 0 2rem}.footer-content{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-xl);margin-bottom:var(--space-2xl)}@media (min-width: 1024px){.footer-content{grid-template-columns:2fr 1fr 1fr;gap:var(--space-2xl)}.footer-section+.footer-section{border-left:1px solid var(--border-color);padding-left:var(--space-xl)}}.landing-footer .logo{justify-content:flex-start;margin-bottom:var(--space-2xl)}.landing-footer .logo:hover{transform:none}.landing-footer .logo:hover .logo-icon{box-shadow:var(--shadow-md)}.footer-section h4{font-weight:600;margin-bottom:1rem;color:var(--text-primary);text-align:center}.footer-section a{display:block;color:var(--text-secondary);text-decoration:none;margin-bottom:.25rem;padding:.25rem 0;transition:color .3s ease;text-align:center}.footer-section a:hover{color:var(--text-primary);text-decoration:underline}.footer-section p{color:var(--text-secondary);line-height:1.7}.footer-section a:hover{color:var(--text-primary)}.footer-bottom{border-top:1px solid var(--border-color);padding-top:2rem;text-align:center;color:var(--text-secondary);font-size:.9rem}@media (max-width: 768px){.landing-footer .logo{justify-content:flex-start}.footer-section h4,.footer-section a,.footer-section p{text-align:left}.footer-section{margin-bottom:var(--space-lg)}.landing-footer .container{padding-left:var(--space-lg);padding-right:var(--space-lg)}}@media (max-width: 1024px){.hero-content{margin-top:3rem;gap:var(--space-2xl)}.landing-page .features-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:var(--space-xl)}.pricing-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}}@media (max-width: 768px){.header-content{padding:0 var(--space-lg)}.nav-menu{display:none}.mobile-menu-btn{display:flex;flex-direction:column;gap:4px;cursor:pointer;padding:var(--space-sm);background:none;border:none;z-index:1001;position:relative;align-items:center;justify-content:center}.mobile-menu-btn span{width:24px;height:2px;background:var(--text-primary);transition:var(--transition-normal)}.mobile-menu-btn.active span:nth-child(1){transform:rotate(45deg) translate(6px,6px)}.mobile-menu-btn.active span:nth-child(2){opacity:0}.mobile-menu-btn.active span:nth-child(3){transform:rotate(-45deg) translate(6px,-6px)}.hero-content{grid-template-columns:1fr;text-align:center;gap:var(--space-2xl);padding-top:var(--space-xl);margin-top:4rem}.hero-title{font-size:clamp(2.5rem,10vw,3.5rem);line-height:1.1;margin-bottom:var(--space-xl)}.hero-description{font-size:var(--font-size-lg);margin-bottom:var(--space-2xl);padding:0 var(--space-md)}.hero-cta{flex-direction:column;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-2xl)}.hero-cta .btn{width:100%;max-width:280px;padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.hero-stats{justify-content:center;flex-wrap:wrap;gap:var(--space-lg);padding:0 var(--space-sm)}.stat{flex:1;min-width:120px;max-width:150px;padding:var(--space-lg);border-radius:var(--radius-lg)}.stat-number{font-size:clamp(1.125rem,4.5vw,1.5rem)}.hero-visual{order:-1;margin-bottom:var(--space-xl)}.hero-image{width:min(360px,100%)}.hero-avatar{width:280px;height:280px;margin:0 auto}.landing-page .features-grid{grid-template-columns:1fr;gap:var(--space-xl);padding:0 var(--space-sm)}.feature-card{padding:var(--space-2xl);text-align:center}.feature-icon{margin:0 auto var(--space-xl)}.pricing-grid{grid-template-columns:1fr;gap:var(--space-xl);padding:0 var(--space-sm)}.pricing-card.popular .plan-header{padding-top:var(--space-2xl)}.pricing-card .popular-badge{top:8px;right:8px}.pricing-card.popular{transform:none}.pricing-card{padding:var(--space-2xl)}.pricing-card .btn-full{padding:var(--space-sm) var(--space-lg);font-size:var(--font-size-sm)}.pricing-toggle{margin-bottom:var(--space-2xl)}.testimonials-grid{grid-template-columns:1fr;gap:var(--space-xl);padding:0 var(--space-sm)}.testimonial-card{padding:var(--space-2xl)}.cta-buttons{flex-direction:column;align-items:center;gap:var(--space-lg)}.cta-buttons .btn{width:100%;max-width:320px}.cta-section .btn-large{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-sm)}.hero-section{padding-top:clamp(104px,16vh,140px)}.footer-content{grid-template-columns:1fr;text-align:center;gap:var(--space-2xl)}.section-header{margin-bottom:var(--space-2xl);padding:0 var(--space-sm)}.section-header h2{font-size:clamp(2rem,8vw,2.5rem);margin-bottom:var(--space-lg)}.section-header p{font-size:var(--font-size-lg);padding:0 var(--space-md)}}@media (max-width: 640px){.container,.header-content{padding:0 var(--space-md)}.hero-section{padding:var(--space-2xl) 0 var(--space-xl);min-height:auto}.hero-content{gap:var(--space-xl);padding-top:var(--space-lg)}.hero-title{font-size:clamp(2rem,8vw,2.5rem)}.hero-description{font-size:var(--font-size-base);padding:0}.hero-stats{flex-direction:column;gap:var(--space-md);padding:0}.stat{flex:none;min-width:auto;max-width:none;padding:var(--space-md);border-radius:var(--radius-lg)}.stat-number{font-size:clamp(1.05rem,4.2vw,1.35rem)}.stat-label{font-size:.8rem}.hero-avatar{width:240px;height:240px}.features-section,.pricing-section,.testimonials-section,.cta-section{padding:var(--space-2xl) 0}.feature-card,.pricing-card,.testimonial-card{padding:var(--space-xl)}.section-header,.section-header p{padding:0}}@media (max-width: 480px){.hero-stats{gap:var(--space-sm)}.stat{padding:var(--space-md);border-radius:var(--radius-md)}.stat-number{font-size:clamp(1rem,4vw,1.25rem)}.stat-label{font-size:.75rem}.container{padding:0 var(--space-sm)}.header-content{padding:0 var(--space-sm);gap:var(--space-xs);justify-content:space-between}.landing-header{padding:var(--space-md) 0}.landing-header .logo{margin:0}.landing-header .logo-text{font-size:1.1rem;letter-spacing:.1px}.mobile-menu-btn{margin-left:auto}.hero-title{font-size:clamp(1.85rem,7vw,2.25rem)}.hero-description{font-size:var(--font-size-base)}.hero-cta{gap:var(--space-sm)}.section-header h2{font-size:clamp(1.5rem,5vw,2rem)}.section-header p{font-size:var(--font-size-base)}.cta-content h2{font-size:clamp(1.5rem,5vw,2rem)}.cta-content p{font-size:var(--font-size-base)}.feature-card,.pricing-card{padding:var(--space-lg)}.btn-large{padding:var(--space-md) var(--space-xl);font-size:var(--font-size-sm)}}@media (max-width: 360px){.container,.header-content{padding:0 var(--space-xs)}.hero-title{font-size:clamp(1.5rem,5vw,2rem)}.hero-description{font-size:var(--font-size-sm)}.section-header h2,.cta-content h2{font-size:clamp(1.25rem,4vw,1.75rem)}}.animate-on-scroll{opacity:0;transform:translateY(30px);transition:var(--transition-slow)}.animate-on-scroll.animate-in{opacity:1;transform:translateY(0)}.feature-card.animate-on-scroll.animate-in,.section-header.animate-on-scroll.animate-in{animation:fadeInUp var(--transition-slow) var(--ease-out) forwards}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.animate-on-scroll{opacity:1;transform:none}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 50%,var(--bg-tertiary) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden}.auth-container:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 80%,rgba(59,130,246,.15) 0%,transparent 50%),radial-gradient(circle at 80% 20%,rgba(147,51,234,.15) 0%,transparent 50%),radial-gradient(circle at 40% 40%,rgba(16,185,129,.1) 0%,transparent 50%);pointer-events:none;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-20px) rotate(1deg)}66%{transform:translateY(10px) rotate(-1deg)}}.auth-card{background:var(--bg-card);border-radius:var(--radius-2xl);padding:2rem;box-shadow:var(--shadow-2xl);width:100%;max-width:460px;position:relative;border:1px solid var(--border-color);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:scaleIn .6s var(--ease-out);overflow:hidden}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.auth-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--gradient-primary)}.auth-card:after{content:"";position:absolute;top:0;right:0;width:100px;height:100px;background:radial-gradient(circle,rgba(59,130,246,.1) 0%,transparent 70%);border-radius:50%;transform:translate(30px,-30px);pointer-events:none}.auth-header{text-align:center;margin-bottom:1.5rem;position:relative;z-index:2}.auth-header .logo{display:inline-flex;align-items:center;gap:.75rem;font-weight:800;font-size:1.25rem;text-decoration:none;margin-bottom:.75rem;padding:.375rem 1.25rem;background:#ffffff0d;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all var(--transition-normal)}.auth-header .logo:hover{background:#ffffff1a;border-color:#fff3;transform:translateY(-2px);box-shadow:var(--shadow-lg)}.auth-header .logo-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-size:1.5rem}.auth-header h1{font-size:1.75rem;font-weight:800;color:var(--text-primary);margin-bottom:.375rem;line-height:1.2;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.auth-header p{color:var(--text-secondary);font-size:1rem;line-height:1.5;opacity:.9;max-width:300px;margin:0 auto}.auth-form{margin-bottom:1.25rem;display:grid;gap:1.25rem;position:relative;z-index:2}.form-group{position:relative}.form-group label{display:block;font-weight:600;color:var(--text-primary);margin-bottom:.5rem;font-size:.9rem;transition:all var(--transition-normal)}.form-group input{width:100%;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-lg);font-size:.95rem;transition:all var(--transition-normal);background:var(--bg-tertiary);color:var(--text-primary);font-family:inherit;position:relative;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.form-group input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 4px #3b82f626;background:var(--bg-secondary);transform:translateY(-1px)}.form-group input:focus+label{color:var(--accent-color)}.form-group input.error{border-color:var(--error-color);box-shadow:0 0 0 4px #ef444426}.form-group input:disabled{background:var(--border-color);cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:var(--text-muted);opacity:.7}.error-text{color:var(--error-color);font-size:.8rem;margin-top:.375rem;display:flex;align-items:center;gap:.5rem;font-weight:500}.error-text:before{content:"⚠️";font-size:.75rem}.error-message{background:linear-gradient(135deg,#ef44441a,#dc26261a);color:var(--error-color);padding:.875rem 1rem;border-radius:var(--radius-lg);margin-bottom:1.25rem;font-size:.8rem;border:1px solid rgba(239,68,68,.2);display:flex;align-items:center;gap:.75rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.error-message:before{content:"🚨";font-size:1rem}.form-options{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;flex-wrap:wrap;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:.8rem;color:var(--text-secondary);transition:all var(--transition-normal);padding:.5rem;border-radius:var(--radius-md)}.checkbox-label:hover{background:#ffffff0d;color:var(--text-primary)}.checkmark{width:1.125rem;height:1.125rem;border:2px solid var(--border-color);border-radius:var(--radius-md);position:relative;transition:all var(--transition-normal);background:var(--bg-secondary)}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--accent-color);border-color:var(--accent-color);transform:scale(1.1)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:.75rem;font-weight:700}.forgot-password{color:var(--accent-color);text-decoration:none;font-size:.8rem;font-weight:600;transition:all var(--transition-normal);padding:.5rem .75rem;border-radius:var(--radius-md)}.forgot-password:hover{background:#3b82f61a;text-decoration:none;transform:translateY(-1px)}.auth-form .btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:var(--shadow-md);position:relative;overflow:hidden;padding:.875rem 1.25rem;font-size:.95rem;font-weight:700;border-radius:var(--radius-lg);border:none;cursor:pointer;transition:all var(--transition-normal);width:100%;text-align:center;display:flex;align-items:center;justify-content:center;gap:.5rem}.auth-form .btn-primary:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:var(--transition-slow)}.auth-form .btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg),0 0 25px #3b82f64d}.auth-form .btn-primary:hover:not(:disabled):before{left:100%}.auth-form .btn-primary:active{transform:translateY(-1px)}.auth-form .btn-primary:disabled{opacity:.6;cursor:not-allowed;transform:none}.auth-form .btn-primary:disabled:hover{transform:none;box-shadow:none}.loading-spinner{display:inline-block;width:16px;height:16px;border:2px solid transparent;border-top:2px solid currentColor;border-radius:50%;animation:spin 1s linear infinite}.auth-divider{text-align:center;margin:1.5rem 0;position:relative}.auth-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.auth-divider span{background:var(--bg-card);padding:0 1.25rem;color:var(--text-secondary);font-size:.8rem;font-weight:600;position:relative;z-index:1}.auth-divider:before{background:linear-gradient(90deg,transparent,var(--border-color) 20%,var(--border-color) 80%,transparent)}.social-login{margin-bottom:1.5rem;display:grid;gap:.875rem}.social-login .btn-social{width:100%;padding:.875rem 1.25rem;font-size:.9rem;font-weight:600;border-radius:var(--radius-lg);transition:all var(--transition-normal);position:relative;overflow:hidden;border:2px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);display:flex;align-items:center;justify-content:center;gap:.75rem;cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.social-login .btn-social:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--accent-color);background:var(--bg-tertiary)}.social-login .btn-social:active{transform:translateY(0)}.social-login .btn-social:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.social-login .btn-social:hover:before{left:100%}.social-icon{font-size:.9rem;font-weight:700;background:#3b82f61a;color:var(--accent-color);width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);border:1px solid rgba(59,130,246,.2);flex-shrink:0}.btn-social{position:relative;overflow:hidden}.btn-social:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.btn-social:hover:before{left:100%}.auth-footer{text-align:center;color:var(--text-secondary);font-size:.8rem;padding-top:.875rem;border-top:1px solid var(--border-color);position:relative}.auth-footer:before{content:"";position:absolute;top:0;left:50%;transform:translate(-50%);width:50px;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.link-primary{color:var(--accent-color);text-decoration:none;font-weight:600;transition:all var(--transition-normal)}.link-primary:hover{text-decoration:underline;color:var(--accent-hover)}.back-to-home{text-align:center;margin-bottom:1.25rem}.back-link{color:var(--text-secondary);text-decoration:none;font-size:.8rem;font-weight:500;transition:all var(--transition-normal);padding:.5rem 1rem;border-radius:var(--radius-md);display:inline-flex;align-items:center;gap:.5rem;border:1px solid var(--border-color);background:#ffffff0d;position:relative;overflow:hidden}.back-link:hover{color:var(--text-primary);background:#ffffff1a;text-decoration:none;transform:translateY(-1px);box-shadow:var(--shadow-md)}.back-link:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.1),transparent);transition:left .5s ease}.back-link:hover:before{left:100%}.checkbox-label:hover .checkmark{border-color:var(--accent-color);background:#3b82f61a}.password-toggle-btn{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px;border-radius:4px;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center}.password-toggle-btn:hover{color:var(--text-primary);background:#ffffff1a}.password-toggle-btn:focus{outline:none;box-shadow:0 0 0 2px var(--accent-color)}.form-group input.error:focus{border-color:var(--error-color);box-shadow:0 0 0 4px #ef444426}@media (max-width: 768px){.auth-container{padding:1rem;align-items:stretch}.auth-card{padding:1.75rem 1.25rem;margin:auto;max-width:100%;border-radius:var(--radius-xl)}.auth-header{margin-bottom:1.25rem}.auth-header .logo{font-size:1.25rem;padding:.5rem 1rem;margin-bottom:.75rem}.auth-header .logo-text{font-size:1.5rem}.auth-header h1{font-size:1.5rem;margin-bottom:.375rem}.auth-header p{font-size:.9rem;max-width:280px}.auth-form{gap:1rem;margin-bottom:1.25rem}.form-group input{padding:.875rem 1rem;font-size:1rem}.form-options{flex-direction:column;align-items:flex-start;gap:.75rem;margin-bottom:1.25rem}.auth-form .btn-primary{padding:1rem 1.25rem;font-size:1rem;border-radius:var(--radius-lg);justify-content:center;text-align:center}.auth-divider{margin:1.25rem 0}.social-login{gap:.75rem;margin-bottom:1.5rem}.social-login .btn-social{padding:1rem 1.25rem;font-size:1rem;border-radius:var(--radius-lg)}.auth-footer{padding-top:.75rem}}@media (max-width: 640px){.auth-container{padding:.75rem}.auth-card{padding:1.5rem 1rem;border-radius:var(--radius-lg)}.auth-header h1{font-size:1.375rem}.auth-header p{font-size:.85rem;max-width:260px}.auth-form{gap:.875rem}.form-group input{padding:.75rem .875rem}.auth-form .btn-primary{padding:.875rem 1rem;justify-content:center}.social-login .btn-social{padding:.875rem 1rem}}@media (max-width: 480px){.auth-container{padding:.5rem}.auth-card{padding:1.25rem .875rem;border-radius:var(--radius-md)}.auth-header{margin-bottom:1rem}.auth-header .logo{font-size:1.125rem;padding:.5rem .75rem;margin-bottom:.5rem}.auth-header .logo-text{font-size:1.375rem}.auth-header h1{font-size:1.25rem;margin-bottom:.25rem}.auth-header p{font-size:.8rem;max-width:240px}.auth-form{gap:.75rem;margin-bottom:1rem}.form-group label{font-size:.8rem;margin-bottom:.375rem}.form-group input{padding:.75rem .875rem;font-size:.95rem;border-radius:var(--radius-md)}.form-options{gap:.5rem;margin-bottom:1rem}.checkbox-label{font-size:.75rem;padding:.375rem}.checkmark{width:1rem;height:1rem}.forgot-password{font-size:.75rem;padding:.375rem .5rem}.auth-form .btn-primary{padding:.875rem 1rem;font-size:.95rem;border-radius:var(--radius-md);min-height:48px;justify-content:center;text-align:center}.auth-divider{margin:1rem 0}.auth-divider span{padding:0 .875rem;font-size:.75rem}.social-login{gap:.625rem;margin-bottom:1.25rem}.social-login .btn-social{padding:.875rem 1rem;font-size:.95rem;border-radius:var(--radius-md);min-height:48px}.social-icon{width:20px;height:20px;font-size:.8rem}.auth-footer{font-size:.75rem;padding-top:.625rem}.back-to-home{margin-bottom:1rem}.back-link{font-size:.75rem;padding:.375rem .75rem}}@media (max-width: 360px){.auth-container{padding:.25rem}.auth-card{padding:1rem .75rem;border-radius:var(--radius-md)}.auth-header h1{font-size:1.125rem}.auth-header p{font-size:.75rem;max-width:220px}.auth-form{gap:.625rem}.form-group input{padding:.625rem .75rem;font-size:.9rem}.auth-form .btn-primary{padding:.75rem .875rem;font-size:.9rem;min-height:44px;justify-content:center;text-align:center}.social-login .btn-social{padding:.75rem .875rem;font-size:.9rem;min-height:44px}.auth-divider{margin:.875rem 0}.social-login{gap:.5rem;margin-bottom:1rem}}@supports (padding: max(0px)){.auth-container{padding-left:max(2rem,env(safe-area-inset-left));padding-right:max(2rem,env(safe-area-inset-right));padding-top:max(2rem,env(safe-area-inset-top));padding-bottom:max(2rem,env(safe-area-inset-bottom))}@media (max-width: 768px){.auth-container{padding-left:max(1rem,env(safe-area-inset-left));padding-right:max(1rem,env(safe-area-inset-right));padding-top:max(1rem,env(safe-area-inset-top));padding-bottom:max(1rem,env(safe-area-inset-bottom))}}@media (max-width: 480px){.auth-container{padding-left:max(.5rem,env(safe-area-inset-left));padding-right:max(.5rem,env(safe-area-inset-right));padding-top:max(.5rem,env(safe-area-inset-top));padding-bottom:max(.5rem,env(safe-area-inset-bottom))}}}@media (prefers-reduced-motion: reduce){.auth-container:before,.auth-card,.auth-form .btn-primary:before,.auth-form .btn-primary,.social-login .btn-social,.form-group input,.checkbox-label,.forgot-password,.back-link{animation:none;transition:none}}@media (prefers-color-scheme: dark){.auth-card{background:#111827f2;border-color:#4b556380}.form-group input{background:#1f2937cc;border-color:#4b556399}.form-group input:focus{background:#1f2937f2;border-color:var(--accent-color)}.social-login .btn-social{background:#1f2937cc;border-color:#4b556399}.social-login .btn-social:hover{background:#1f2937f2}}@media (max-width: 480px){.auth-form .btn-primary,.social-login .btn-social{min-height:48px;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;text-align:center}.form-group input{min-height:44px;touch-action:manipulation}.checkbox-label,.forgot-password{min-height:44px;display:flex;align-items:center}.auth-form .btn-primary{margin:0 auto;display:flex;align-items:center;justify-content:center;text-align:center}}@media (max-width: 360px){.auth-form .btn-primary,.social-login .btn-social{min-height:44px;justify-content:center;text-align:center}.form-group input{min-height:40px}.auth-form .btn-primary{margin:0 auto;display:flex;align-items:center;justify-content:center;text-align:center}}@media (hover: none) and (pointer: coarse){.auth-form .btn-primary:hover,.social-login .btn-social:hover,.forgot-password:hover,.back-link:hover{transform:none;box-shadow:none}.auth-form .btn-primary:active,.social-login .btn-social:active{transform:scale(.98)}.form-group input:focus{transform:none}}.step-indicator{display:flex;justify-content:space-between;align-items:center;margin:2rem 0 2.5rem;padding:1.5rem;background:#ffffff08;border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:relative;gap:2rem}.step-indicator:before{content:"";position:absolute;top:50%;left:2rem;right:2rem;height:2px;background:linear-gradient(90deg,var(--accent-color) 0%,rgba(59,130,246,.3) 50%,rgba(59,130,246,.1) 100%);transform:translateY(-50%);z-index:1}.step{display:flex;flex-direction:column;align-items:center;gap:.75rem;position:relative;z-index:2;transition:all var(--transition-normal);flex:1;max-width:140px}.step-number{width:48px;height:48px;border-radius:50%;background:var(--bg-tertiary);border:3px solid var(--border-color);color:var(--text-secondary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.125rem;transition:all var(--transition-normal);position:relative}.step.active .step-number{background:var(--accent-color);border-color:var(--accent-color);color:#fff;box-shadow:0 0 20px #3b82f666;transform:scale(1.1)}.step-label{font-size:.875rem;font-weight:500;color:var(--text-secondary);text-align:center;max-width:120px;line-height:1.3;transition:color var(--transition-normal)}.step.active .step-label{color:var(--text-primary);font-weight:600}.step.current .step-number{transform:scale(1.15);box-shadow:0 0 25px #3b82f699}.step.current .step-label{color:var(--accent-color);font-weight:700}.step-status{position:absolute;top:-8px;right:-8px;background:var(--accent-color);color:#fff;font-size:.625rem;font-weight:600;padding:.25rem .5rem;border-radius:var(--radius-sm);white-space:nowrap;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.step:not(:last-child):after{content:"";position:absolute;top:24px;left:calc(50% + 24px);width:calc(100% + 2rem);height:2px;background:var(--border-color);transition:background var(--transition-normal)}.step.active:not(:last-child):after{background:var(--accent-color)}@media (max-width: 768px){.step-indicator{margin:1.5rem 0 2rem;padding:1rem;gap:1rem}.step{gap:.5rem;max-width:120px}.step-number{width:40px;height:40px;font-size:1rem;border-width:2px}.step-label{font-size:.75rem;max-width:80px}.step:not(:last-child):after{top:20px;left:calc(50% + 20px);width:calc(100% + 1rem)}.step-indicator:after{left:1rem;right:1rem;height:3px}}@media (max-width: 480px){.step-indicator{margin:1rem 0 1.5rem;padding:.75rem;flex-direction:column;gap:1rem}.step-indicator:before{display:none}.step{flex-direction:row;gap:.75rem;width:100%;justify-content:flex-start;max-width:none}.step-number{width:36px;height:36px;font-size:.875rem;flex-shrink:0}.step-label{font-size:.75rem;max-width:none;text-align:left;flex:1}.step:not(:last-child):after{display:none}.step-status{top:-4px;right:-4px;font-size:.5rem;padding:.125rem .375rem}.step-indicator:after{left:.75rem;right:.75rem;height:2px}}@media (max-width: 360px){.step-indicator{padding:.5rem;gap:.75rem}.step-number{width:32px;height:32px;font-size:.75rem}.step-label{font-size:.625rem}.step-status{top:-2px;right:-2px;font-size:.5rem;padding:.125rem .25rem}}.auth-form{position:relative;min-height:300px}.auth-form>*{animation:fadeInUp .4s ease-out}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.step-indicator{position:relative}.step-indicator:after{content:"";position:absolute;bottom:-1rem;left:1.5rem;right:1.5rem;height:4px;background:linear-gradient(90deg,var(--accent-color) 0%,var(--accent-color) calc((var(--current-step, 1) / 3) * 100%),var(--border-color) calc((var(--current-step, 1) / 3) * 100%),var(--border-color) 100%);border-radius:2px;transition:all .5s ease;box-shadow:0 2px 8px #3b82f633}.password-requirements{margin-top:1rem;padding:1rem;background:#ffffff05;border-radius:var(--radius-md);border:1px solid var(--border-light)}.password-requirements small{display:block;color:var(--text-secondary);font-size:.75rem;font-weight:500;margin-bottom:.75rem}.password-requirements ul{list-style:none;padding:0;margin:0;display:grid;gap:.5rem}.password-requirements li{display:flex;align-items:center;gap:.5rem;font-size:.75rem;padding:.25rem 0;transition:all var(--transition-normal)}.password-requirements li:before{content:"";width:16px;height:16px;border-radius:50%;flex-shrink:0;transition:all var(--transition-normal)}.password-requirements li.valid{color:var(--success-color)}.password-requirements li.valid:before{background:var(--success-color);box-shadow:0 0 8px #10b98166}.password-requirements li.invalid{color:var(--text-muted)}.password-requirements li.invalid:before{background:var(--text-muted);opacity:.5}@media (max-width: 768px){.password-requirements{margin-top:.75rem;padding:.75rem}.password-requirements ul{gap:.375rem}.password-requirements li{font-size:.7rem}.password-requirements li:before{width:14px;height:14px}}@media (max-width: 480px){.password-requirements{padding:.5rem}.password-requirements small{font-size:.7rem;margin-bottom:.5rem}.password-requirements li{font-size:.65rem}.password-requirements li:before{width:12px;height:12px}}.plan-selection-label{display:block;font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.plan-selector-compact{display:grid;gap:1rem;margin-bottom:1rem}.plan-option-compact{display:block;cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-lg);border:2px solid var(--border-color);background:var(--bg-secondary);overflow:hidden;position:relative}.plan-option-compact:hover:not(.disabled){border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.plan-option-compact.selected{border-color:var(--accent-color);background:#3b82f60d;box-shadow:0 0 20px #3b82f633}.plan-option-compact.disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.plan-option-compact input[type=radio]{position:absolute;opacity:0;pointer-events:none}.plan-content-compact{padding:1.5rem}.plan-header-compact{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.plan-header-compact h4{margin:0;font-size:1.125rem;font-weight:700;color:var(--text-primary)}.plan-price-compact{font-size:1.25rem;font-weight:800;color:var(--accent-color);background:#3b82f61a;padding:.5rem 1rem;border-radius:var(--radius-lg)}.plan-description-compact{margin:0 0 1rem;color:var(--text-secondary);font-size:.875rem;line-height:1.5}.plan-features-compact{display:flex;flex-wrap:wrap;gap:.5rem}.feature-tag{background:var(--bg-tertiary);color:var(--text-secondary);padding:.375rem .75rem;border-radius:var(--radius-md);font-size:.75rem;font-weight:500;border:1px solid var(--border-light)}.maintenance-banner{background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;padding:1.5rem;border-radius:var(--radius-lg);margin-bottom:2rem;text-align:center;box-shadow:var(--shadow-md)}.maintenance-content h3{margin:0 0 .75rem;font-size:1.125rem;font-weight:700}.maintenance-content p{margin:0 0 .5rem;font-size:.875rem;opacity:.9}.maintenance-content small{font-size:.75rem;opacity:.8;font-style:italic}@media (max-width: 768px){.plan-selector-compact{gap:.75rem}.plan-content-compact{padding:1.25rem}.plan-header-compact h4{font-size:1rem}.plan-price-compact{font-size:1.125rem;padding:.375rem .75rem}.plan-description-compact{font-size:.8rem}.feature-tag{font-size:.7rem;padding:.25rem .5rem}.maintenance-banner{padding:1.25rem;margin-bottom:1.5rem}}@media (max-width: 480px){.plan-selector-compact{gap:.5rem}.plan-content-compact{padding:1rem}.plan-header-compact{flex-direction:column;align-items:flex-start;gap:.5rem}.plan-price-compact{align-self:flex-start}.plan-features-compact{gap:.375rem}.feature-tag{font-size:.65rem;padding:.25rem .5rem}.maintenance-banner{padding:1rem;margin-bottom:1rem}.maintenance-content h3{font-size:1rem}.maintenance-content p{font-size:.8rem}}.avatar-3d-viewer-overlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.avatar-3d-viewer-modal{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90vw;max-width:1200px;height:85vh;max-height:800px;display:flex;flex-direction:column;overflow:hidden;animation:viewerSlideIn .3s ease-out}@keyframes viewerSlideIn{0%{opacity:0;transform:scale(.9) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}.viewer-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;background:linear-gradient(135deg,#f8f9fa,#e9ecef)}.viewer-header h3{margin:0;color:#333;font-size:1.5rem;font-weight:600;display:flex;align-items:center;gap:.5rem}.viewer-close{background:none;border:none;color:#666;cursor:pointer;padding:8px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease;width:40px;height:40px}.viewer-close:hover{background:#f0f0f0;color:#333;transform:scale(1.1)}.viewer-content{flex:1;position:relative;background:#f8f9fa;overflow:hidden}.viewer-canvas{width:100%;height:100%;cursor:grab;position:relative;background:#f0f0f0}.viewer-canvas:active{cursor:grabbing}.viewer-canvas.embedded{width:100%;height:100%;min-height:300px;border-radius:8px;cursor:grab;background:#f0f0f0;position:relative}.viewer-canvas.embedded:active{cursor:grabbing}.viewer-loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#666;z-index:10;background:#ffffffe6;padding:2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.loading-spinner{width:48px;height:48px;border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 1rem}.viewer-loading p{margin:0;font-size:1rem;color:#888}.viewer-error{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#dc3545;z-index:10;background:#fffffff2;padding:2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #dc354533}.viewer-error svg{margin-bottom:1rem;opacity:.7}.viewer-error p{margin:0;font-size:1rem;color:#666}.viewer-warning{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:#ffc107;z-index:10;background:#fffffff2;padding:2rem;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 4px 20px #ffc10733}.viewer-warning svg{margin-bottom:1rem;opacity:.7}.viewer-warning p{margin:0;font-size:1rem;color:#856404}.retry-btn{background:#007bff;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;cursor:pointer;font-size:.875rem;margin-top:1rem;transition:all .2s ease;font-weight:500}.retry-btn:hover{background:#0056b3;transform:translateY(-1px);box-shadow:0 4px 12px #007bff4d}.retry-btn:active{transform:translateY(0)}.viewer-controls{padding:1rem 2rem;border-top:1px solid #e0e0e0;background:#f8f9fa;display:flex;align-items:center;justify-content:space-between;gap:1rem}.control-info{flex:1}.control-info p{margin:0;font-size:.875rem;color:#666;font-style:italic}.webgl-info{font-size:.75rem!important;color:#007bff!important;font-weight:500!important;margin-top:.25rem!important}.control-buttons{display:flex;gap:.5rem}.control-btn{background:#fff;border:1px solid #e0e0e0;color:#333;padding:.5rem 1rem;border-radius:8px;cursor:pointer;font-size:.875rem;display:flex;align-items:center;gap:.5rem;transition:all .2s ease}.control-btn:hover{background:#f8f9fa;border-color:#007bff;color:#007bff;transform:translateY(-1px);box-shadow:0 4px 12px #007bff26}.control-btn:active{transform:translateY(0)}.embedded-viewer{width:100%;height:100%;position:relative;background:#f8f9fa;border-radius:8px;overflow:hidden}@media (max-width: 1024px){.viewer-canvas.embedded{min-height:280px}.avatar-3d-viewer-modal{width:92vw;height:88vh}}@media (max-width: 768px){.avatar-3d-viewer-modal{width:95vw;height:90vh;border-radius:12px}.viewer-header{padding:1rem 1.5rem}.viewer-header h3{font-size:1.25rem}.viewer-controls{padding:1rem 1.5rem;flex-direction:column;align-items:stretch;gap:.75rem}.control-info p{text-align:center;font-size:.8rem}.control-buttons{justify-content:center}.control-btn{padding:.75rem 1rem;font-size:.9rem}.viewer-canvas.embedded{min-height:250px}.viewer-loading,.viewer-error,.viewer-warning{padding:1.5rem;margin:0 1rem;width:calc(100% - 2rem);max-width:300px}}@media (max-width: 480px){.avatar-3d-viewer-modal{width:100vw;height:100vh;border-radius:0}.viewer-header,.viewer-controls{padding:1rem}.control-buttons{flex-direction:column}.viewer-canvas.embedded{min-height:200px}.viewer-loading,.viewer-error,.viewer-warning{padding:1rem;margin:0 .5rem;width:calc(100% - 1rem)}.loading-spinner{width:36px;height:36px;border-width:3px}.viewer-loading p,.viewer-error p,.viewer-warning p{font-size:.875rem}}.viewer-canvas:focus{outline:2px solid #007bff;outline-offset:2px}.control-btn:focus{outline:2px solid #007bff;outline-offset:2px}@media (prefers-color-scheme: dark){.avatar-3d-viewer-modal{background:#1a1a1a;color:#fff}.viewer-header{background:linear-gradient(135deg,#2d2d2d,#1a1a1a);border-bottom-color:#333}.viewer-header h3{color:#fff}.viewer-content{background:#0f0f0f}.viewer-controls{background:#2d2d2d;border-top-color:#333}.control-btn{background:#333;border-color:#555;color:#fff}.control-btn:hover{background:#444;border-color:#007bff}.control-info p{color:#aaa}.viewer-canvas,.viewer-canvas.embedded{background:#1a1a1a}.embedded-viewer{background:#2d2d2d}}@media (max-width: 768px){.viewer-canvas,.viewer-canvas.embedded{max-width:320px!important;max-height:240px!important;width:320px!important;height:240px!important;object-fit:contain;overflow:hidden}.avatar-3d-viewer{max-width:100vw!important;overflow:hidden!important}.embedded-viewer{max-width:100%!important;overflow:hidden!important}}.avatar-processing-status{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;color:#fff;box-shadow:0 8px 32px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2);margin:20px 0;transition:all .3s ease}.avatar-processing-status:hover{transform:translateY(-2px);box-shadow:0 12px 40px #00000026}.avatar-processing-status.loading{text-align:center;padding:40px}.avatar-processing-status.error{background:linear-gradient(135deg,#ff6b6b,#ee5a24)}.status-header{display:flex;align-items:center;gap:16px;margin-bottom:24px;flex-wrap:wrap}.status-icon{font-size:2rem;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.status-header h3{margin:0;font-size:1.5rem;font-weight:600;flex:1;min-width:200px}.status-badge{padding:8px 16px;border-radius:20px;font-size:.875rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 8px #0003}.status-details{display:flex;flex-direction:column;gap:20px}.progress-section{display:flex;align-items:center;gap:16px;background:#ffffff1a;padding:16px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.progress-bar{flex:1;height:12px;background:#fff3;border-radius:6px;overflow:hidden;position:relative}.progress-fill{height:100%;border-radius:6px;transition:width .5s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:shimmer 2s infinite}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-weight:600;font-size:1.1rem;min-width:60px;text-align:center}.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;background:#ffffff0d;padding:20px;border-radius:12px;border:1px solid rgba(255,255,255,.1)}.info-item{display:flex;flex-direction:column;gap:4px}.info-item label{font-size:.875rem;opacity:.8;font-weight:500}.info-item span{font-weight:600;font-size:1rem}.info-item.success span{color:#2ecc71}.info-item.error span{color:#e74c3c}.action-buttons{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.action-buttons button{padding:12px 24px;border:none;border-radius:8px;font-weight:600;font-size:.9rem;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px;min-width:140px}.cancel-btn{background:linear-gradient(135deg,#ff6b6b,#ee5a24);color:#fff}.cancel-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 16px #ee5a2466}.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.refresh-btn{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff}.refresh-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #2ecc7166}.retry-btn{background:linear-gradient(135deg,#f39c12,#e67e22);color:#fff}.retry-btn:hover{transform:translateY(-2px);box-shadow:0 4px 16px #f39c1266}.spinner{width:40px;height:40px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 16px}@media (max-width: 768px){.avatar-processing-status{padding:16px;margin:16px 0}.status-header{flex-direction:column;text-align:center;gap:12px}.status-header h3{min-width:auto;font-size:1.25rem}.info-grid{grid-template-columns:1fr;gap:12px;padding:16px}.action-buttons{flex-direction:column;align-items:center}.action-buttons button{width:100%;max-width:200px}.progress-section{flex-direction:column;gap:12px;text-align:center}.progress-text{min-width:auto}}@media (max-width: 480px){.avatar-processing-status{padding:12px;border-radius:12px}.status-header h3{font-size:1.1rem}.status-icon{font-size:1.5rem}.info-grid{padding:12px}.action-buttons button{padding:10px 20px;font-size:.8rem}}.avatar-processing-feedback{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.processing-container{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 40px #0000004d;text-align:center;animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.processing-header{margin-bottom:24px}.processing-icon{font-size:48px;margin-bottom:16px;animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.processing-title{font-size:24px;font-weight:600;color:#333;margin:0}.processing-content{text-align:left}.processing-message{font-size:16px;color:#666;margin-bottom:24px;text-align:center;font-weight:500}.progress-container{margin-bottom:24px}.progress-bar{width:100%;height:8px;background:#f0f0f0;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,#4caf50,#45a049);border-radius:4px;transition:width .3s ease}.progress-text{font-size:14px;color:#666;font-weight:500}.processing-steps{margin-top:24px}.step{display:flex;align-items:center;margin-bottom:12px;opacity:.4;transition:opacity .3s ease}.step.active{opacity:1}.step-icon{font-size:20px;margin-right:12px;width:24px;text-align:center}.step-text{font-size:14px;color:#666}.success-details{background:#f8fff8;border:1px solid #4caf50;border-radius:8px;padding:16px;margin-top:16px}.success-details p{margin:8px 0;color:#2e7d32;font-weight:500}.error-details{background:#fff8f8;border:1px solid #f44336;border-radius:8px;padding:16px;margin-top:16px}.error-details p{margin:8px 0;color:#d32f2f;font-weight:500}.retry-button{background:#f44336;color:#fff;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-size:14px;margin-top:8px;transition:background .2s ease}.retry-button:hover{background:#d32f2f}@media (max-width: 600px){.processing-container{padding:24px;margin:20px}.processing-title{font-size:20px}.processing-message{font-size:14px}}.subscription-limits{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:20px;margin:20px 0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.subscription-limits.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:200px}.subscription-limits.error{background:#ff00001a;border-color:#ff00004d;color:#ff6b6b}.loading-spinner{width:40px;height:40px;border:3px solid rgba(255,255,255,.1);border-top:3px solid #00d4ff;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:10px}.subscription-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.subscription-header h3{margin:0;color:#fff;font-size:1.5rem}.plan-badge{padding:6px 12px;border-radius:20px;font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.badge-free{background:linear-gradient(135deg,#6c757d,#495057);color:#fff}.badge-pro{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff}.badge-enterprise{background:linear-gradient(135deg,gold,#ffb300);color:#333}.limits-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;margin-bottom:20px}.limit-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:16px;transition:all .3s ease}.limit-card:hover{background:#ffffff0d;border-color:#ffffff26;transform:translateY(-2px)}.limit-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.limit-header h4{margin:0;color:#fff;font-size:1rem;font-weight:500}.limit-usage{font-size:.9rem;color:#00d4ff;font-weight:600}.progress-bar{width:100%;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;border-radius:4px;transition:width .3s ease}.progress-fill.success{background:linear-gradient(90deg,#28a745,#20c997)}.progress-fill.warning{background:linear-gradient(90deg,#ffc107,#fd7e14)}.progress-fill.danger{background:linear-gradient(90deg,#dc3545,#e83e8c)}.limit-details{display:flex;justify-content:space-between;font-size:.8rem;color:#ffffffb3}.monthly-usage{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:16px;margin-bottom:20px}.monthly-usage h4{margin:0 0 12px;color:#fff;font-size:1rem}.usage-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}.usage-stat{display:flex;justify-content:space-between;align-items:center;padding:8px 0}.usage-label{color:#fffc}.usage-value{color:#00d4ff;font-weight:600}.features-section{margin-bottom:20px}.features-section h4{margin:0 0 12px;color:#fff;font-size:1rem}.subscription-limits .features-grid{display:flex;flex-wrap:wrap;gap:8px}.feature-tag{background:#00d4ff33;border:1px solid rgba(0,212,255,.3);color:#00d4ff;padding:4px 8px;border-radius:12px;font-size:.8rem;font-weight:500}.upgrade-section{background:linear-gradient(135deg,#007bff1a,#00d4ff1a);border:1px solid rgba(0,212,255,.3);border-radius:8px;padding:16px;text-align:center;margin-bottom:20px}.upgrade-message{margin:0 0 12px;color:#fff;font-size:.9rem}.upgrade-button{background:linear-gradient(135deg,#007bff,#00d4ff);border:none;color:#fff;padding:10px 20px;border-radius:6px;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.upgrade-button:hover{background:linear-gradient(135deg,#0056b3,#09c);transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.warnings-section{border-top:1px solid rgba(255,255,255,.1);padding-top:16px}.warning-message{background:#ffc1071a;border:1px solid rgba(255,193,7,.3);color:#ffc107;padding:8px 12px;border-radius:6px;margin-bottom:8px;font-size:.9rem}@media (max-width: 768px){.limits-grid,.usage-stats{grid-template-columns:1fr}.limit-details{flex-direction:column;gap:4px}.subscription-header{flex-direction:column;gap:10px;text-align:center}}.onboarding-container{background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);display:flex;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100vh;width:100%}.onboarding-card{background:var(--bg-card);width:100%;display:flex;flex-direction:column;border:none;border-radius:0;box-shadow:none;flex:1}.onboarding-header{background:var(--gradient-accent);color:#fff;padding:1.5rem 2rem;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.1)}.onboarding-header:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#ffffff1a,#ffffff0d);pointer-events:none}.steps-indicator{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem;position:relative;z-index:1;max-width:600px;margin:0 auto}.step-indicator{text-align:center;opacity:.7;transition:all var(--transition-normal);position:relative;padding:1rem;border-radius:var(--radius-lg);background:#ffffff0d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1)}.step-indicator.active{opacity:1;background:#ffffff1a;border-color:#fff3}.step-indicator.current{transform:scale(1.02);background:#ffffff26;border-color:#ffffff4d;box-shadow:0 8px 32px #0003}.step-indicator.current:after{content:"";position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:40px;height:3px;background:#ffffffe6;border-radius:2px;box-shadow:0 2px 8px #ffffff4d}.step-number{width:48px;height:48px;background:#fff3;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1rem;font-weight:700;font-size:1.125rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(255,255,255,.3);transition:all var(--transition-normal)}.step-indicator.current .step-number{background:#ffffff4d;border-color:#ffffff80;transform:scale(1.1)}.step-info h4{margin:0 0 .5rem;font-size:1rem;font-weight:600;line-height:1.2;color:#fffffff2}.step-info p{margin:0;font-size:.875rem;opacity:.9;line-height:1.4;color:#fffc}.onboarding-content{padding:1.5rem 2rem;display:flex;flex-direction:column;flex:1;min-height:0;max-width:1400px;margin:0 auto;width:100%}.onboarding-step{max-width:none;margin:0;display:flex;flex-direction:column;flex:1;min-height:0}.step-content{display:flex;flex-direction:column;flex:1;min-height:0}.step-content h3{margin:0 0 1rem;color:var(--text-primary);font-size:1.75rem;text-align:center;font-weight:700;line-height:1.2;background:linear-gradient(135deg,var(--text-primary) 0%,var(--accent-color) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.step-content p{margin:0 0 1.5rem;color:var(--text-secondary);font-size:1rem;text-align:center;line-height:1.6;max-width:600px;margin-left:auto;margin-right:auto;opacity:.9}.avatar-selection-layout,.voice-selection-layout{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:1.5rem;margin-top:1rem;align-items:start;flex:1;min-height:0}@media (max-width: 1200px){.avatar-selection-layout,.voice-selection-layout{grid-template-columns:1fr;gap:1rem}.avatar-preview-panel,.voice-preview-panel{order:-1;margin-bottom:1rem;position:static}}.avatar-selection-panel,.voice-selection-panel{display:flex;flex-direction:column;gap:1rem;flex:1;min-height:0}.avatar-preview-panel,.voice-preview-panel{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:1.25rem;border:1px solid var(--border-color);position:sticky;top:1rem;height:fit-content;box-shadow:var(--shadow-md);flex-shrink:0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.preview-content h4{margin:0 0 .5rem;color:var(--text-primary);font-size:.875rem;text-align:center;font-weight:600}.preview-3d-container{width:100%;height:280px;background:var(--bg-primary);border-radius:var(--radius-md);overflow:hidden;margin-bottom:.5rem;border:1px solid var(--border-color);position:relative;box-sizing:border-box;min-width:0;max-width:100%}.preview-info p{margin:.25rem 0;color:var(--text-secondary);font-size:.75rem;text-align:left;padding:.25rem 0;border-bottom:1px solid var(--border-light)}.preview-info p:last-child{border-bottom:none}.preview-empty{text-align:center;padding:1rem;color:var(--text-secondary)}.preview-empty h4{margin:.5rem 0 .25rem;color:var(--text-primary);font-size:.875rem}.preview-empty p{margin:0;font-size:.75rem;line-height:1.4}.voice-category-tabs{display:flex;gap:.5rem;margin-bottom:.75rem;overflow-x:auto;padding-bottom:.25rem;scrollbar-width:thin;flex-wrap:wrap}.voice-category-tabs::-webkit-scrollbar{height:3px}.voice-category-tabs::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:2px}.voice-category-tabs::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:2px}.category-tab{padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:16px;background:var(--bg-secondary);color:var(--text-secondary);font-weight:600;font-size:.75rem;cursor:pointer;transition:all var(--transition-normal);white-space:nowrap;min-width:fit-content;flex-shrink:0}.category-tab:hover{border-color:var(--accent-color);color:var(--accent-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.category-tab.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:var(--shadow-sm)}.voice-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;margin-bottom:.75rem;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.filter-group,.search-group{display:flex;flex-direction:column;gap:.375rem;min-width:0}.filter-group label{font-weight:600;color:var(--text-primary);font-size:.75rem}.filter-group select,.voice-search-input{padding:.375rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;transition:border-color var(--transition-fast);width:100%;min-width:0}.filter-group select:focus,.voice-search-input:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #3b82f61a}.voice-results-info{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color);flex-wrap:wrap;gap:.5rem}.results-count{color:var(--text-primary);font-weight:600;font-size:.75rem}.page-info{color:#fff;background:var(--accent-color);padding:.25rem .5rem;border-radius:var(--radius-md);font-weight:500;font-size:.625rem}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:1rem;margin-bottom:1rem}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem;margin-bottom:1rem;max-height:400px;overflow-y:auto;padding-right:.75rem;scrollbar-width:thin}.voice-grid::-webkit-scrollbar{width:6px}.voice-grid::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.voice-grid::-webkit-scrollbar-thumb{background:var(--accent-color);border-radius:3px}.voice-grid::-webkit-scrollbar-thumb:hover{background:var(--accent-hover)}.avatar-option,.voice-option{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1rem;cursor:pointer;transition:all var(--transition-normal);text-align:center;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.voice-option{text-align:left;display:flex;align-items:center;gap:1rem}.avatar-option:hover,.voice-option:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-lg);background:var(--bg-tertiary)}.avatar-option.selected,.voice-option.selected{border-color:var(--accent-color);background:var(--accent-color-light);box-shadow:0 0 0 3px var(--accent-color);transform:translateY(-1px)}.avatar-preview{width:48px;height:48px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto .75rem;color:var(--text-secondary);border:2px solid var(--border-light);flex-shrink:0;transition:all var(--transition-normal)}.avatar-option:hover .avatar-preview{border-color:var(--accent-color);background:var(--accent-color-light);color:var(--accent-color)}.voice-preview{width:40px;height:40px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);flex-shrink:0;border:2px solid var(--border-light);transition:all var(--transition-normal)}.voice-option:hover .voice-preview{border-color:var(--accent-color);background:var(--accent-color-light);color:var(--accent-color)}.avatar-info h5,.voice-info h5{margin:0 0 .25rem;color:var(--text-primary);font-size:.75rem;font-weight:600;line-height:1.2}.avatar-info p,.voice-info p{margin:0 0 .25rem;color:var(--text-secondary);font-size:.625rem;line-height:1.3}.avatar-info .category{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:500;text-transform:capitalize;display:inline-block}.voice-tags{display:flex;gap:.25rem;margin:.25rem 0;flex-wrap:wrap}.voice-language,.voice-category{background:var(--accent-color);color:#fff;padding:.25rem .5rem;border-radius:var(--radius-sm);font-size:.625rem;font-weight:600;white-space:nowrap}.voice-description{color:var(--text-secondary);font-size:.625rem;margin:.25rem 0 0;line-height:1.3}.play-button{width:24px;height:24px;border-radius:50%;border:none;background:var(--accent-color);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);flex-shrink:0}.play-button:hover{background:var(--accent-hover);transform:scale(1.05);box-shadow:var(--shadow-sm)}.preview-play-button{width:100%;padding:.5rem;border:none;border-radius:var(--radius-md);background:var(--accent-color);color:#fff;font-weight:600;cursor:pointer;transition:all var(--transition-fast);display:flex;align-items:center;justify-content:center;gap:.5rem;margin-top:.5rem;font-size:.75rem}.preview-play-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.preview-play-button.playing{background:var(--error-color)}.option-section{margin-bottom:1rem}.option-section h4{margin:0 0 .5rem;color:var(--text-primary);font-size:.875rem;font-weight:600;border-bottom:1px solid var(--border-color);padding-bottom:.375rem;position:relative}.option-section h4:after{content:"";position:absolute;bottom:-1px;left:0;width:40px;height:1px;background:var(--accent-color);border-radius:1px}.upload-section{text-align:center;padding:.75rem;background:var(--bg-secondary);border-radius:var(--radius-md);border:2px dashed var(--border-color);transition:all var(--transition-normal)}.upload-button{background:var(--accent-color);color:#fff;border:none;border-radius:var(--radius-md);padding:.375rem .75rem;font-size:.75rem;cursor:pointer;transition:all var(--transition-normal);display:inline-flex;align-items:center;gap:.5rem;font-weight:500}.upload-button:hover{background:var(--accent-hover);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.file-info{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.5rem;margin-top:.5rem;display:flex;align-items:center;justify-content:space-between;gap:.5rem;flex-wrap:wrap}.file-info span{color:var(--text-primary);font-size:.75rem;min-width:0;flex:1}.file-size{color:var(--text-secondary);font-size:.625rem}.remove-file{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:20px;height:20px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.remove-file:hover{transform:scale(1.1);box-shadow:var(--shadow-sm)}.file-requirements{margin-top:.5rem;color:var(--text-secondary);font-size:.625rem;font-style:italic}.onboarding-navigation{padding:1.5rem 2rem;background:var(--bg-secondary);display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border-color);flex-wrap:wrap;gap:1rem;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.navigation-right{display:flex;gap:.75rem}.onboarding-container .btn-primary,.onboarding-container .btn-secondary{padding:.75rem 1.5rem;border:none;border-radius:var(--radius-lg);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-width:100px;position:relative;overflow:hidden;white-space:nowrap;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.onboarding-container .btn-primary{background:var(--accent-color);color:#fff;box-shadow:var(--shadow-md)}.onboarding-container .btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.onboarding-container .btn-primary:disabled{opacity:.6;cursor:not-allowed}.onboarding-container .btn-secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.onboarding-container .btn-secondary:hover:not(:disabled){background:var(--border-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.error-message{background:var(--error-color-light);color:var(--error-color);padding:.5rem;border-radius:var(--radius-md);margin-top:.5rem;text-align:center;font-size:.75rem;border:1px solid var(--error-color)}.no-voices-found{text-align:center;padding:1rem;color:var(--text-secondary)}.no-voices-found p{margin:.5rem 0 0;font-size:.75rem}.reset-filters-btn{margin-top:.5rem;padding:.375rem .75rem;border:1px solid var(--accent-color);border-radius:var(--radius-md);background:transparent;color:var(--accent-color);cursor:pointer;transition:all var(--transition-normal);font-size:.75rem;font-weight:500}.reset-filters-btn:hover{background:var(--accent-color);color:#fff;transform:translateY(-1px)}.voice-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin-top:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color);flex-wrap:wrap}.page-btn{padding:.75rem 1.25rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);min-width:80px;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;overflow:hidden}.page-btn:hover:not(:disabled){background:var(--accent-color);color:#fff;border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.page-btn:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-secondary)}.page-numbers{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;justify-content:center}.page-number{width:40px;height:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:all var(--transition-normal);display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);position:relative;overflow:hidden}.page-number:hover{background:var(--accent-color-light);border-color:var(--accent-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.page-number.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color);box-shadow:0 0 0 3px var(--accent-color-light);transform:scale(1.1)}.page-number.active:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.2) 0%,transparent 100%);pointer-events:none}.voice-preview-info{text-align:center}.voice-preview-header{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.75rem;flex-wrap:wrap}.voice-preview-header h5{margin:0;color:var(--text-primary);font-size:.875rem;text-align:center}.voice-preview-details p{margin:.25rem 0;color:var(--text-secondary);font-size:.75rem;text-align:left;padding:.25rem 0;border-bottom:1px solid var(--border-light)}.voice-preview-details p:last-child{border-bottom:none}.voice-details{display:flex;gap:.5rem;margin:.5rem 0;flex-wrap:wrap}@media (max-width: 1200px){.avatar-selection-layout,.voice-selection-layout{grid-template-columns:1fr;gap:1.5rem}.avatar-preview-panel,.voice-preview-panel{position:static;order:-1;margin-bottom:1rem}}@media (max-width: 768px){.onboarding-header{padding:1rem;border-bottom:none}.steps-indicator{grid-template-columns:1fr;gap:1rem;max-width:100%}.step-indicator{text-align:left;display:flex;align-items:center;gap:1rem;padding:.75rem;background:#ffffff14}.step-indicator.current{background:#ffffff26;border-color:#fff6}.step-number{width:40px;height:40px;font-size:1rem;margin:0;flex-shrink:0}.step-info{text-align:left;flex:1}.step-info h4{font-size:.875rem;margin-bottom:.25rem}.step-info p{font-size:.75rem;margin:0}.onboarding-content{padding:1rem;max-width:100%}.step-content h3{font-size:1.5rem;margin-bottom:.75rem}.step-content p{font-size:.875rem;margin-bottom:1rem}.avatar-selection-layout,.voice-selection-layout{grid-template-columns:1fr;gap:1rem;margin-top:.5rem}.avatar-preview-panel,.voice-preview-panel{order:-1;margin-bottom:1rem;position:static;padding:1rem;max-width:100%;box-sizing:border-box}.preview-3d-container{height:240px;max-width:100%;overflow:hidden;box-sizing:border-box;min-width:0;width:100%;max-width:320px!important;margin:0 auto}.avatar-selection-panel,.voice-selection-panel{gap:.75rem}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.voice-grid{grid-template-columns:1fr;gap:.75rem;max-height:350px}.avatar-option,.voice-option{padding:.75rem}.avatar-preview{width:40px;height:40px;margin-bottom:.5rem}.voice-preview{width:36px;height:36px}.onboarding-navigation{padding:1rem;flex-direction:column;gap:1rem;text-align:center}.navigation-right{width:100%;justify-content:center;gap:.5rem}.onboarding-container .btn-primary,.onboarding-container .btn-secondary{flex:1;max-width:150px;padding:.875rem 1rem;font-size:.875rem}.voice-filters{grid-template-columns:1fr;gap:.75rem;padding:.75rem}.voice-category-tabs{flex-wrap:wrap;gap:.5rem;justify-content:center}.category-tab{padding:.5rem .75rem;font-size:.75rem;flex:1;min-width:0;text-align:center}.voice-pagination{flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-tertiary);border-radius:var(--radius-lg);border:1px solid var(--border-color)}.page-numbers{flex-wrap:wrap;justify-content:center;gap:.75rem}.page-number{width:44px;height:44px;font-size:.875rem;font-weight:600;background:var(--bg-secondary);border:2px solid var(--border-color);transition:all var(--transition-normal)}.page-number:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}.page-number.active{transform:scale(1.15);box-shadow:0 0 0 4px var(--accent-color-light)}.page-btn{padding:.875rem 1.5rem;font-size:.875rem;font-weight:600;min-width:100px;background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.page-btn:hover:not(:disabled){transform:translateY(-3px);box-shadow:var(--shadow-lg)}.voice-results-info{flex-direction:column;gap:.75rem;text-align:center;padding:.75rem}.avatar-preview-panel,.voice-preview-panel{padding:1rem;margin-bottom:1rem;max-width:100%;box-sizing:border-box}.preview-3d-container{height:240px;max-width:100%;overflow:hidden;box-sizing:border-box;min-width:0;width:100%}.preview-content h4{font-size:.875rem;margin-bottom:.75rem}.preview-info p{font-size:.75rem;margin:.5rem 0;padding:.5rem 0}}@media (max-width: 480px){.onboarding-header{padding:.75rem}.step-indicator{padding:.5rem;gap:.75rem}.step-number{width:36px;height:36px;font-size:.875rem}.step-info h4{font-size:.75rem}.step-info p{font-size:.625rem}.onboarding-content{padding:.75rem}.step-content h3{font-size:1.25rem;margin-bottom:.5rem}.step-content p{font-size:.75rem;margin-bottom:.75rem}.avatar-selection-panel,.voice-selection-panel{gap:.5rem}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.voice-grid{gap:.5rem;max-height:300px}.avatar-option,.voice-option{padding:.5rem}.avatar-preview{width:32px;height:32px;margin-bottom:.375rem}.voice-preview{width:28px;height:28px}.avatar-selection-layout,.voice-selection-layout{gap:.75rem;margin-top:.5rem}.avatar-preview-panel,.voice-preview-panel{padding:.75rem;margin-bottom:.75rem;max-width:100%;box-sizing:border-box}.onboarding-navigation{padding:.75rem;gap:.75rem}.onboarding-container .btn-primary,.onboarding-container .btn-secondary{max-width:120px;padding:.75rem .875rem;font-size:.75rem;min-width:80px}.voice-filters{padding:.5rem;gap:.5rem}.category-tab{padding:.375rem .5rem;font-size:.625rem}.avatar-preview-panel,.voice-preview-panel{padding:.75rem}.preview-3d-container{height:200px;max-width:100%;overflow:hidden;box-sizing:border-box;min-width:0;width:100%}}@media (max-width: 360px){.onboarding-header{padding:.5rem}.step-indicator{padding:.375rem;gap:.5rem}.step-number{width:32px;height:32px;font-size:.75rem}.step-info h4{font-size:.625rem}.step-info p{font-size:.5rem}.onboarding-content{padding:.5rem}.step-content h3{font-size:1.125rem}.step-content p{font-size:.625rem}.avatar-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.375rem}.voice-grid{gap:.375rem}.avatar-option,.voice-option{padding:.375rem}.avatar-preview{width:28px;height:28px}.voice-preview{width:24px;height:24px}.avatar-selection-layout,.voice-selection-layout{gap:.5rem;margin-top:.25rem}.avatar-preview-panel,.voice-preview-panel{padding:.5rem;margin-bottom:.5rem;max-width:100%;box-sizing:border-box}.preview-3d-container{height:160px;max-width:100%;overflow:hidden;box-sizing:border-box;min-width:0;width:100%}.onboarding-container .btn-primary,.onboarding-container .btn-secondary{max-width:100px;padding:.625rem .75rem;font-size:.625rem;min-width:70px}}.avatar-option,.voice-option,.category-tab,.upload-section{will-change:transform}.onboarding-container .btn-primary:focus,.onboarding-container .btn-secondary:focus,.upload-button:focus,.play-button:focus,.preview-play-button:focus,.category-tab:focus{outline:none;box-shadow:0 0 0 2px #3b82f64d}@media (prefers-reduced-motion: reduce){.avatar-option,.voice-option,.category-tab,.upload-section,.onboarding-container .btn-primary,.onboarding-container .btn-secondary{transition:none}.avatar-option:hover,.voice-option:hover,.category-tab:hover,.upload-section:hover,.onboarding-container .btn-primary:hover,.onboarding-container .btn-secondary:hover{transform:none}}.upload-success,.upload-error{display:flex;align-items:center;gap:8px;padding:12px 16px;border-radius:8px;margin:12px 0;font-weight:500;animation:slideIn .3s ease}.upload-success{background:linear-gradient(135deg,#d4edda,#c3e6cb);color:#155724;border:1px solid #c3e6cb}.upload-error{background:linear-gradient(135deg,#f8d7da,#f5c6cb);color:#721c24;border:1px solid #f5c6cb}.upload-success .icon,.upload-error .icon{flex-shrink:0}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.avatar-processing-status{margin:16px 0;border-radius:12px;overflow:hidden}.avatar-processing-status .status-header{background:#ffffff1a;padding:16px;border-bottom:1px solid rgba(255,255,255,.1)}.avatar-processing-status .status-details{padding:16px}@media (max-width: 768px){.upload-success,.upload-error{padding:10px 12px;font-size:.875rem}.avatar-processing-status{margin:12px 0}}.upload-button.disabled{opacity:.5;cursor:not-allowed;background:#ffffff0d;border-color:#ffffff1a}.upload-button.disabled:hover{background:#ffffff0d;border-color:#ffffff1a;transform:none}.upgrade-notice{margin-top:10px;padding:12px;background:#ffc1071a;border:1px solid rgba(255,193,7,.3);border-radius:6px;text-align:center}.upgrade-notice p{margin:0 0 8px;color:#ffc107;font-size:.9rem}.upgrade-button-small{background:linear-gradient(135deg,#ffc107,#ffb300);border:none;color:#333;padding:6px 12px;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.5px}.upgrade-button-small:hover{background:linear-gradient(135deg,#ffb300,#ffa000);transform:translateY(-1px);box-shadow:0 2px 8px #ffc1074d}.error-message.subscription-error{background:linear-gradient(135deg,#ffc1071a,#ff98001a);border-color:#ffc10766;color:#ffc107}.error-message.subscription-error:before{content:"💰 ";margin-right:5px}.subscription-loading{display:flex;align-items:center;justify-content:center;padding:20px;background:#ffffff0d;border-radius:8px;margin:10px 0}.subscription-loading .loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.1);border-top:2px solid #00d4ff;border-radius:50%;animation:spin 1s linear infinite;margin-right:10px}.subscription-loading span{color:#ffffffb3;font-size:.9rem}@media (max-width: 768px){.preview-3d-container{max-width:320px!important;width:320px!important;margin:0 auto!important;overflow:hidden!important;box-sizing:border-box!important}.avatar-preview-panel,.voice-preview-panel{max-width:100%!important;overflow:hidden!important;box-sizing:border-box!important}.avatar-selection-layout,.voice-selection-layout{max-width:100vw!important;overflow:hidden!important;box-sizing:border-box!important}}.dashboard-container{height:100svh;overflow:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(135deg,var(--bg-primary) 0%,var(--bg-secondary) 100%);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.dashboard-header{background:var(--bg-card);border-bottom:1px solid var(--border-color);padding:clamp(12px,2.5vw,var(--space-lg)) clamp(16px,3vw,var(--space-xl));display:flex;justify-content:space-between;align-items:center;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dashboard-header-content{display:flex;flex-direction:column;gap:var(--space-xs)}.dashboard-header .logo{display:inline-flex;align-items:center;font-weight:700;font-size:var(--font-size-xl);text-decoration:none;margin-bottom:var(--space-sm)}.dashboard-header .logo-icon{font-size:var(--font-size-xl);font-weight:700;background:linear-gradient(135deg,#374151,#1f2937);color:#fff;width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md)}.dashboard-header .logo-text{background:var(--gradient-accent);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.dashboard-header h1{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0}.dashboard-header p{color:var(--text-secondary);font-size:var(--font-size-base);margin:0}.dashboard-actions{display:flex;gap:var(--space-md);align-items:center}.dashboard-content{display:grid;grid-template-columns:minmax(220px,280px) 1fr;gap:0;min-height:0}.dashboard-container,.dashboard-content,.dashboard-header,.dashboard-main,.dashboard-sidebar{max-width:100vw;overflow-x:hidden}.dashboard-content--collapsed{grid-template-columns:minmax(64px,100px) 1fr}.dashboard-sidebar{background:var(--bg-card);border-right:1px solid var(--border-color);padding:clamp(12px,3vw,var(--space-xl));backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.dashboard-sidebar--collapsed{width:clamp(64px,8vw,100px);padding:clamp(12px,3vw,var(--space-xl)) var(--space-md)}.dashboard-sidebar--collapsed .sidebar-top{margin-right:0}.dashboard-sidebar--collapsed .nav-label{display:none}.dashboard-sidebar--collapsed .nav-item{justify-content:center}.dashboard-nav{display:flex;flex-direction:column;gap:var(--space-xs)}.nav-item{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md) var(--space-lg);border:none;background:transparent;color:var(--text-secondary);font-size:var(--font-size-base);font-weight:500;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;text-align:left;width:100%}.nav-item:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translate(4px)}.nav-item.active{background:var(--accent-color);color:#fff;box-shadow:var(--shadow-md)}.dashboard-main{padding:clamp(12px,3vw,var(--space-xl));overflow:visible}.dashboard-main>.dashboard-tab{max-width:1100px}.dashboard-tab{max-width:800px}.overview-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:clamp(12px,2.5vw,var(--space-xl))}.overview-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:clamp(12px,2vw,var(--space-xl));box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.overview-card.plan{grid-column:span 6}.overview-card.usage{grid-column:span 3}.overview-card.quick{grid-column:span 12}.overview-card.account{grid-column:span 6}.account-info{display:flex;flex-direction:column;gap:8px}.account-row{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-bottom:1px dashed var(--border-color)}.account-row:last-child{border-bottom:none}.account-row .label{color:var(--text-secondary);font-size:var(--font-size-sm)}.account-row .value{color:var(--text-primary);font-weight:600}.overview-card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md)}.badge{display:inline-flex;align-items:center;padding:4px 10px;border-radius:var(--radius-full);font-size:var(--font-size-sm);background:var(--accent-color);color:#fff}.muted{color:var(--text-secondary)}.small{font-size:var(--font-size-sm)}.list{display:flex;flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none}.kpi{display:flex;align-items:baseline;gap:6px}.kpi-value{font-size:var(--font-size-3xl);font-weight:800}.kpi-suffix{color:var(--text-secondary)}.progress{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden;margin-top:8px}.progress-bar{height:100%;background:var(--gradient-accent);border-radius:var(--radius-full)}.overview-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:var(--space-md)}.qa-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:10px 12px;border-radius:var(--radius-lg);border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);text-decoration:none}@media (max-width: 1280px){.overview-card.plan{grid-column:span 7}.overview-card.usage{grid-column:span 5}}@media (max-width: 1024px){.overview-grid{grid-template-columns:repeat(6,minmax(0,1fr))}.overview-card.plan{grid-column:span 6}.overview-card.usage{grid-column:span 3}.overview-card.quick{grid-column:span 6}}@media (max-width: 768px){.overview-grid{grid-template-columns:1fr}.overview-card{padding:clamp(12px,4vw,var(--space-lg))}}.tab-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:clamp(16px,4vw,var(--space-2xl));padding-bottom:clamp(12px,2.5vw,var(--space-lg));border-bottom:1px solid transparent}.tab-header.sticky{position:sticky;top:0;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;z-index:5}.tab-title{display:inline-flex;align-items:center;gap:10px}.sidebar-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-lg)}.dashboard-sidebar--collapsed .sidebar-top{justify-content:center}.dashboard-sidebar--collapsed .sidebar-title{display:none}.sidebar-title{display:inline-flex;align-items:center;gap:8px;color:var(--text-secondary);font-weight:600}.btn--icon{display:inline-flex;align-items:center;justify-content:center;padding:6px;width:32px;height:32px}.tab-header h2{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}.dashboard-loading,.dashboard-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:var(--space-lg);color:var(--text-secondary)}.dashboard-error{color:var(--error-color)}.animate-spin{animation:spin 1s linear infinite}.profile-section{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:var(--space-2xl);align-items:start}.profile-avatar{display:flex;flex-direction:column;align-items:center;gap:var(--space-md)}.avatar-placeholder{width:120px;height:120px;border-radius:50%;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-3xl);font-weight:700;color:#fff;box-shadow:var(--shadow-lg)}.profile-form{display:flex;flex-direction:column;gap:var(--space-lg)}.form-group{display:flex;flex-direction:column;gap:var(--space-sm)}.form-group label{font-weight:600;color:var(--text-primary);font-size:var(--font-size-sm)}.form-group input,.form-group textarea,.form-group select{padding:var(--space-md);border:2px solid var(--border-color);border-radius:var(--radius-lg);background:var(--bg-secondary);color:var(--text-primary);font-size:var(--font-size-base);transition:var(--transition-normal)}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 3px #3b82f61a}.form-group input.error{border-color:var(--error-color)}.profile-value{padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-lg);color:var(--text-primary);margin:0;min-height:20px}.subscription-section{display:flex;flex-direction:column;gap:var(--space-2xl)}.current-plan{display:flex;justify-content:center}.plan-card{background:var(--bg-card);border:2px solid;border-radius:var(--radius-xl);padding:clamp(16px,3vw,var(--space-2xl));max-width:min(100%,720px);width:100%;box-shadow:var(--shadow-xl);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.plan-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-lg)}.plan-header h3{font-size:var(--font-size-xl);font-weight:700;color:var(--text-primary);margin:0}.plan-price{font-size:var(--font-size-lg);font-weight:700;color:var(--accent-color)}.plan-status{margin-bottom:var(--space-lg)}.status-badge{display:inline-flex;align-items:center;padding:var(--space-xs) var(--space-md);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase}.status-badge.active{background:var(--success-color);color:#fff}.plan-features{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-sm)}.plan-features li{display:flex;align-items:center;gap:var(--space-sm);color:var(--text-primary);font-size:var(--font-size-base)}.plan-features li svg{color:var(--success-color)}.upgrade-section{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-2xl);text-align:center}.upgrade-section h3{font-size:var(--font-size-lg);font-weight:700;color:var(--text-primary);margin-bottom:var(--space-sm)}.upgrade-section p{color:var(--text-secondary);margin-bottom:var(--space-xl)}.upgrade-options,.subscription-actions{display:flex;flex-direction:column;gap:var(--space-md);max-width:300px;margin:0 auto}.canceled-notice{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:var(--space-md);color:var(--text-secondary);font-size:var(--font-size-sm);text-align:center;margin-bottom:var(--space-md)}.subscription-actions .btn{display:flex;align-items:center;justify-content:center;gap:var(--space-sm)}.usage-section{display:flex;flex-direction:column;gap:var(--space-2xl)}.usage-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:clamp(12px,3vw,var(--space-xl))}.usage-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.usage-header{display:flex;align-items:center;gap:var(--space-md);margin-bottom:var(--space-lg)}.usage-header h4{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin:0}.usage-stats{display:flex;align-items:baseline;gap:var(--space-xs);margin-bottom:var(--space-md)}.usage-current{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary)}.usage-limit{font-size:var(--font-size-base);color:var(--text-secondary)}.usage-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:var(--radius-full);overflow:hidden}.usage-progress{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .3s ease}.usage-reset{text-align:center;color:var(--text-secondary);font-size:var(--font-size-sm)}.preferences-section{display:flex;flex-direction:column;gap:var(--space-2xl)}.preference-group{overflow:hidden}.preference-group select,.preference-group .preference-value{width:100%}.preference-group{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-xl);padding:var(--space-xl);box-shadow:var(--shadow-lg)}.preference-group h3{font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:var(--space-md)}.preference-value{padding:var(--space-md);background:var(--bg-secondary);border-radius:var(--radius-lg);color:var(--text-primary);margin:0}.notification-options{display:flex;flex-direction:column;gap:var(--space-md)}.checkbox-label{display:flex;align-items:center;gap:var(--space-md);cursor:pointer;font-size:var(--font-size-base);color:var(--text-primary)}.checkbox-label input[type=checkbox]{display:none}.checkmark{width:20px;height:20px;border:2px solid var(--border-color);border-radius:var(--radius-sm);position:relative;transition:all .3s ease}.checkbox-label input[type=checkbox]:checked+.checkmark{background:var(--accent-color);border-color:var(--accent-color)}.checkbox-label input[type=checkbox]:checked+.checkmark:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:var(--font-size-sm);font-weight:700}.checkbox-label input[type=checkbox]:disabled+.checkmark{opacity:.5;cursor:not-allowed}.language-preference{display:flex;flex-direction:column;gap:var(--space-md)}.language-selector-wrapper{display:flex;align-items:center;gap:var(--space-md);padding:var(--space-md);background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:all .2s ease}.language-selector-wrapper:hover{border-color:var(--accent-color);box-shadow:var(--shadow-md)}.language-selector-wrapper .language-selector{flex:1}.language-selector-wrapper .language-selector button{width:100%;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-weight:500;transition:all .2s ease}.language-selector-wrapper .language-selector button:hover{background:var(--bg-secondary);border-color:var(--accent-color)}.language-selector-wrapper .language-selector .dropdown{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);margin-top:var(--space-sm)}.language-selector-wrapper .language-selector .dropdown-option{padding:var(--space-sm) var(--space-md);color:var(--text-primary);transition:all .2s ease}.language-selector-wrapper .language-selector .dropdown-option:hover{background:var(--bg-secondary)}.language-selector-wrapper .language-selector .dropdown-option.active{background:var(--accent-color);color:#fff}.form-actions{display:flex;gap:var(--space-md);margin-top:var(--space-lg)}.maintenance-banner{background:linear-gradient(135deg,#ff6b6b,#ff8e53);border:1px solid #ff4757;border-radius:var(--radius-xl);padding:var(--space-lg);margin-bottom:var(--space-xl);display:flex;align-items:flex-start;gap:var(--space-md);color:#fff}.maintenance-banner .icon{color:#fff;flex-shrink:0;margin-top:2px}.maintenance-content h3{font-size:var(--font-size-lg);font-weight:700;margin:0 0 var(--space-sm) 0;color:#fff}.maintenance-content p{margin:0;color:#ffffffe6;font-size:var(--font-size-base);line-height:1.5}.btn:disabled{opacity:.6;cursor:not-allowed;background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color)}.btn:disabled:hover{background:var(--bg-secondary);color:var(--text-secondary);border-color:var(--border-color);transform:none}@media (max-width: 1024px){.dashboard-content,.dashboard-content--collapsed{grid-template-columns:1fr}.dashboard-sidebar{border-right:none;border-bottom:1px solid var(--border-color);padding:var(--space-lg)}.dashboard-nav{flex-direction:row;overflow-x:auto;padding-bottom:var(--space-sm)}.sidebar-top{margin-bottom:var(--space-md)}.dashboard-sidebar--collapsed{width:100%;padding:var(--space-lg)}.dashboard-sidebar--collapsed .sidebar-top{justify-content:space-between}.dashboard-sidebar--collapsed .sidebar-title{display:inline-flex}.nav-item{white-space:nowrap;min-width:120px}}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:var(--space-lg);text-align:center}.dashboard-actions{width:100%;justify-content:center}.profile-section{grid-template-columns:1fr;gap:var(--space-xl);text-align:center}.dashboard-tab{max-width:100%}.form-group input,.form-group textarea,.form-group select{width:100%}.usage-cards{grid-template-columns:1fr}.upgrade-options{flex-direction:column}}@media (max-width: 480px){.dashboard-header,.dashboard-main,.dashboard-sidebar{padding:var(--space-md)}.nav-item{padding:var(--space-sm) var(--space-md);font-size:var(--font-size-sm)}.tab-header{flex-direction:column;gap:var(--space-md);align-items:flex-start}.plan-card,.usage-card,.preference-group{padding:var(--space-lg)}}.modal-overlay{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:60;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-card{background:var(--bg-card);border:1px solid var(--border-color);border-radius:12px;width:92vw;max-width:440px;box-shadow:var(--shadow-2xl);animation:fadeIn var(--transition-normal) var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border-color)}.modal-body{padding:14px}.modal-actions{display:flex;gap:8px;justify-content:flex-end;padding:12px 14px;border-top:1px solid var(--border-color)}.modal-close{background:transparent;border:none;color:var(--text-secondary);padding:6px;border-radius:8px;cursor:pointer}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.avatar-selector-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.avatar-selector-modal{background:var(--bg-primary);border-radius:16px;padding:24px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color)}.avatar-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.avatar-selector-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.avatar-selector-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.avatar-selector-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.avatar-categories{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.avatar-selector{padding:16px;background:var(--bg-primary);border-radius:12px;max-width:900px;margin:0 auto;border:1px solid var(--border-color)}.avatar-selector h3{margin:0 0 16px;color:var(--text-primary);font-size:1.3rem;text-align:center}.avatar-section{margin-bottom:20px;background:var(--bg-secondary);border-radius:8px;padding:16px;border:1px solid var(--border-color)}.avatar-section h4{margin:0 0 15px;color:var(--text-primary);font-size:1.1rem;font-weight:600;border-bottom:2px solid var(--border-color);padding-bottom:8px}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-bottom:16px}.avatar-option{background:var(--bg-primary);border:2px solid var(--border-color);border-radius:8px;padding:10px;cursor:pointer;transition:all .2s ease;position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;min-height:120px;color:var(--text-primary)}.avatar-option:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.avatar-option.selected{border-color:var(--accent-color);background:var(--accent-color);color:var(--text-on-accent);box-shadow:0 0 0 3px var(--accent-color)}.avatar-preview{width:48px;height:48px;background:var(--bg-tertiary);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:8px;color:var(--text-secondary)}.avatar-info h5{margin:0 0 4px;color:inherit;font-size:.9rem;font-weight:600;line-height:1.2}.avatar-info p{margin:0 0 6px;color:inherit;font-size:.8rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;opacity:.8}.avatar-info .category{background:var(--accent-color);color:var(--text-on-accent);padding:2px 6px;border-radius:10px;font-size:.7rem;font-weight:500;text-transform:capitalize}.delete-custom-avatar{position:absolute;top:8px;right:8px;background:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;opacity:.7}.delete-custom-avatar:hover{opacity:1;transform:scale(1.1)}.avatar-preview-placeholder{color:var(--text-secondary);display:flex;align-items:center;justify-content:center}.avatar-info{text-align:center;width:100%}.avatar-selected-indicator{position:absolute;top:8px;right:8px;background:var(--accent-color);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.avatar-selector-loading{text-align:center;padding:40px;color:var(--text-secondary);font-size:1.1rem}.error-message{background:var(--error-color-light);color:var(--error-color);padding:12px;border-radius:8px;margin-top:16px;text-align:center;font-size:.9rem}.avatar-selector-actions{display:flex;gap:12px;justify-content:flex-end;padding:16px 0;border-top:1px solid var(--border-color);margin-top:20px}.avatar-selector-actions .btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn--primary{background:var(--accent-color);color:var(--text-on-accent)}.avatar-sheet-actions{display:none}.selected-avatar-info{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.selected-avatar-preview{width:40px;height:40px;background:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.selected-avatar-details h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.selected-avatar-details p{margin:0;font-size:.85rem;color:var(--text-secondary)}.upload-section{background:var(--bg-primary);border:2px dashed var(--border-color);border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.upload-section:hover{border-color:var(--accent-color);background:var(--bg-secondary)}.upload-button{background:var(--accent-color);color:var(--text-on-accent);border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.file-info{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.remove-file{background:var(--error-color);color:var(--text-on-error);border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.submit-upload-button{background:var(--accent-color);color:var(--text-on-accent);border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;margin-top:12px}.avatar-preview-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.avatar-preview-section h4{margin:0 0 12px;color:var(--text-primary);font-size:1rem;font-weight:600;text-align:center}.preview-3d-container{width:100%;height:250px;background:var(--bg-secondary);border-radius:6px;overflow:hidden;margin-bottom:12px;border:1px solid var(--border-color)}.preview-info{display:flex;flex-direction:column;gap:8px}.preview-status{margin-top:12px;padding:8px 12px;border-radius:8px;text-align:center}.status-preview{background:#007bff1a;color:#007bff;display:flex;align-items:center;justify-content:center;gap:6px;font-weight:500;font-size:.875rem}.preview-detail{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;background:var(--bg-secondary);border-radius:4px;font-size:.8rem}.preview-detail strong{color:var(--text-primary);font-weight:600;min-width:60px}.preview-detail span{color:var(--text-secondary);text-align:right;flex:1}@media (max-width: 1023px){.avatar-selector-overlay{align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlayFadeIn .18s ease-out}.avatar-selector-modal{width:100%;max-width:none;padding:16px 12px 12px;max-height:88vh;border-radius:16px 16px 0 0;border:1px solid rgba(51,65,85,.7);background:#0f172ab3;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:var(--shadow-2xl);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));animation:sheetSlideUp .22s var(--ease-out);overscroll-behavior:contain}.avatar-selector-modal:before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:#cbd5e199;margin:4px auto 8px}.avatar-selector-header{position:sticky;top:0;z-index:2;background:inherit;backdrop-filter:inherit;-webkit-backdrop-filter:inherit;margin:0 0 12px;padding:8px 4px 12px;border-bottom:1px solid rgba(51,65,85,.7)}.avatar-selector-header h3{font-size:1.125rem}.avatar-categories{display:flex;gap:8px;margin:12px -4px;padding:0 4px 4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.avatar-categories::-webkit-scrollbar{display:none}.category-filter{padding:8px 14px;font-size:.85rem;white-space:nowrap;flex:0 0 auto}.avatar-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.avatar-empty{grid-column:1 / -1;text-align:center;color:var(--text-secondary);padding:16px;border:1px dashed var(--border-color);border-radius:12px;background:var(--bg-secondary)}.avatar-option{padding:14px;border-radius:14px}.avatar-preview{width:56px;height:56px}.avatar-sheet-actions{display:block;position:sticky;bottom:-12px;left:0;right:0;background:inherit;backdrop-filter:inherit;-webkit-backdrop-filter:inherit;padding-top:8px;margin-top:8px;border-top:1px solid rgba(51,65,85,.7)}.avatar-sheet-action-close{width:100%;height:44px;border-radius:12px;border:none;background:var(--gradient-accent);color:#fff;font-weight:600;letter-spacing:.2px;box-shadow:var(--shadow-xl);transition:transform var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.avatar-sheet-action-close:active{transform:translateY(1px);box-shadow:var(--shadow-md)}}@media (max-width: 480px){.avatar-grid{grid-template-columns:1fr}.avatar-option{padding:12px}.avatar-preview{width:52px;height:52px}}@media (max-width: 768px){.avatar-selector-content{grid-template-columns:1fr;gap:16px}.avatar-preview-column{position:static;order:-1}.preview-3d-container{height:200px}.upload-section{padding:16px}.file-info{flex-direction:column;gap:8px}}@media (max-width: 480px){.avatar-selector{padding:12px}.avatar-selector-content{gap:12px}.avatar-section{padding:12px;margin-bottom:12px}.preview-3d-container{height:180px}}@media (prefers-reduced-motion: reduce){@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:none;opacity:0}to{transform:none;opacity:1}}.avatar-selector-overlay{animation:overlayFadeIn 1ms linear}.avatar-selector-modal{animation:none}}.avatar-selector-modal{max-width:1000px;width:95vw;max-height:90vh;overflow-y:auto;background:var(--bg-primary);border:1px solid var(--border-color);box-shadow:0 25px 80px #00000026;border-radius:16px}.avatar-selector-modal .modal-header{border-bottom:1px solid var(--border-color);padding-bottom:1.5rem;margin-bottom:2rem;background:var(--bg-secondary);border-radius:16px 16px 0 0;padding:2rem 2rem 1.5rem}.avatar-selector-modal .modal-header h2{margin:0;color:var(--text-primary);font-size:1.75rem;font-weight:700;text-shadow:0 1px 2px rgba(0,0,0,.1);display:flex;align-items:center;gap:.75rem}.avatar-selector-modal .modal-body{padding:0}.avatar-categories{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap;justify-content:center;padding:0 1rem}.category-filter{padding:10px 20px;border:2px solid transparent;background:var(--bg-secondary);color:var(--text-primary);border-radius:25px;cursor:pointer;font-size:.9rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);white-space:nowrap;box-shadow:0 2px 8px #00000014;position:relative;overflow:hidden}.category-filter:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);transition:left .5s}.category-filter:hover:before{left:100%}.category-filter:hover{border-color:var(--accent-color);background:var(--accent-color);color:var(--text-on-accent);transform:translateY(-2px);box-shadow:0 8px 25px #007bff4d}.category-filter.active{background:var(--accent-color);color:var(--text-on-accent);border-color:var(--accent-color);box-shadow:0 4px 15px #007bff66;transform:scale(1.05)}.avatar-search{margin-bottom:20px;padding:0 1rem}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:12px 16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000d}.search-input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 4px #007bff1a,0 8px 25px #007bff26;transform:translateY(-1px)}.search-input-wrapper svg{color:var(--text-secondary, #666);margin-right:8px;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;color:var(--text-primary, #333);font-size:.875rem;outline:none}.search-input::placeholder{color:var(--text-secondary, #666)}.clear-search{background:none;border:none;color:var(--text-secondary, #666);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-search:hover{background:var(--border-color, #e0e0e0);color:var(--text-primary, #333)}.avatar-selector-modal .modal-footer{border-top:1px solid rgba(0,123,255,.1);padding:2rem;margin-top:2rem;display:flex;justify-content:flex-end;gap:1rem;background:linear-gradient(135deg,#f8f9fa,#e9ecef);border-radius:0 0 16px 16px}.avatar-section{margin-bottom:2rem}.avatar-section h4{margin:0 0 1rem;color:#555;font-size:1.1rem;font-weight:600}.avatar-selector-layout{display:grid;grid-template-columns:1fr 400px;gap:2rem;align-items:start}.avatar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.avatar-preview-panel{background:var(--bg-secondary);border:2px solid rgba(0,123,255,.1);border-radius:16px;padding:1.5rem;box-shadow:0 8px 25px #0000001a;position:sticky;top:1rem;height:fit-content;min-height:500px}.preview-panel-content{height:100%;display:flex;flex-direction:column}.preview-panel-header{text-align:center;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid rgba(0,123,255,.1)}.preview-panel-header h4{margin:0 0 .5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600}.preview-avatar-name{margin:0;color:var(--accent-color);font-size:1.1rem;font-weight:500}.preview-3d-container{flex:1;min-height:300px;margin-bottom:1.5rem;border-radius:12px;overflow:hidden;background:var(--bg-secondary)}.preview-panel-info{background:#007bff0d;border-radius:12px;padding:1rem;border:1px solid rgba(0,123,255,.1)}.preview-info-item{margin-bottom:.5rem;font-size:.875rem;color:var(--text-secondary)}.preview-info-item:last-child{margin-bottom:0}.preview-info-item strong{color:var(--text-primary)}.preview-panel-empty{text-align:center;padding:2rem 1rem;color:#666;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.preview-panel-empty svg{color:#ccc;margin-bottom:1rem}.preview-panel-empty h4{margin:0 0 .5rem;color:var(--text-secondary);font-size:1.1rem}.preview-panel-empty p{margin:0;font-size:.875rem;color:#888;line-height:1.4}.avatar-option{display:flex;align-items:center;padding:1.5rem;border:2px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);position:relative;box-shadow:0 2px 12px #0000000d;overflow:hidden}.avatar-option:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#007bff05,#0056b305);opacity:0;transition:opacity .3s ease}.avatar-option:hover:before{opacity:1}.avatar-option:hover{border-color:var(--accent-color);box-shadow:0 8px 30px #007bff26;transform:translateY(-3px)}.avatar-option.selected{border-color:var(--accent-color);background:linear-gradient(135deg,#f0f8ff,#e6f3ff);box-shadow:0 6px 25px #007bff40;transform:scale(1.02)}.avatar-option.selected:before{opacity:1;background:linear-gradient(135deg,#007bff0d,#0056b30d)}.avatar-preview{width:48px;height:48px;border-radius:50%;background:#f0f0f0;display:flex;flex-direction:column;align-items:center;justify-content:center;margin-right:1rem;flex-shrink:0;position:relative;gap:2px}.avatar-3d-preview{position:relative;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.avatar-preview-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0;transition:opacity .3s ease}.avatar-3d-preview:hover .avatar-preview-overlay{opacity:1}.avatar-preview-button{background:#ffffffe6;border:none;color:#333;width:24px;height:24px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.avatar-preview-button:hover{background:#fff;transform:scale(1.1)}.avatar-preview-info{display:flex;flex-direction:column;align-items:center;gap:1px;font-size:.6rem;opacity:.8}.avatar-preview-category{font-weight:500;text-transform:uppercase;letter-spacing:.3px}.avatar-preview-type{opacity:.7;font-size:.55rem}.avatar-info{flex:1;min-width:0}.avatar-info h5{margin:0 0 .5rem;font-size:1rem;font-weight:600;color:#333}.avatar-info p{margin:0 0 .25rem;font-size:.875rem;color:#666;line-height:1.3}.avatar-info .category{font-size:.75rem;color:#888;background:#f0f0f0;padding:.25rem .5rem;border-radius:12px;text-transform:capitalize}.avatar-meta{display:flex;align-items:center;gap:8px;margin-top:4px}.usage-count{display:flex;align-items:center;gap:4px;font-size:.7rem;color:#666;background:#e8f4fd;padding:2px 6px;border-radius:8px;font-weight:500}.usage-count svg{color:var(--accent-color)}.delete-custom-avatar{position:absolute;top:.75rem;right:.75rem;width:28px;height:28px;border:none;background:linear-gradient(135deg,#dc3545,#c82333);color:#fff;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:12px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #dc35454d;z-index:2}.delete-custom-avatar:hover{background:linear-gradient(135deg,#c82333,#a71e2a);transform:scale(1.1) rotate(5deg);box-shadow:0 4px 15px #dc354566}.avatar-favorite-button{position:absolute;top:.75rem;right:3rem;width:28px;height:28px;border:none;background:linear-gradient(135deg,#fffffff2,#f8f9faf2);color:#ccc;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2;box-shadow:0 2px 8px #0000001a;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.avatar-favorite-button:hover{background:linear-gradient(135deg,#fff,#f8f9fa);transform:scale(1.15) rotate(5deg);box-shadow:0 4px 15px #00000026}.avatar-favorite-button.favorited{color:#e74c3c;background:#e74c3c1a}.avatar-favorite-button.favorited:hover{background:#e74c3c33}.avatar-selector-loading{text-align:center;padding:2rem;color:#666}.error-message{color:#dc3545;background:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;padding:.75rem;margin:1rem 0;text-align:center}.avatar-empty-state{text-align:center;padding:3rem 1rem;color:#666}.avatar-empty-state svg{color:#ccc;margin-bottom:1rem}.avatar-empty-state p{margin:0;font-size:1rem;color:#888}.avatar-selector-content{flex:1;overflow-y:auto;padding:0 0 20px}.avatar-selector-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border-color)}.avatar-selector-actions .btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.btn--primary:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}@media (max-width: 1024px){.avatar-selector-layout{grid-template-columns:1fr;gap:1.5rem}.avatar-preview-panel{position:static;order:-1;margin-bottom:1.5rem}.preview-3d-container{min-height:250px}}@media (max-width: 768px){.avatar-selector-modal{width:95vw;max-height:90vh}.avatar-categories{justify-content:center;gap:6px}.category-filter{padding:6px 12px;font-size:.8rem}.avatar-grid{grid-template-columns:1fr}.avatar-option{padding:.75rem}.avatar-preview{width:40px;height:40px;margin-right:.75rem}.avatar-preview-button{width:20px;height:20px}.avatar-meta{flex-direction:column;align-items:flex-start;gap:4px}.usage-count{font-size:.65rem;padding:1px 4px}.avatar-info h5{font-size:.9rem}.avatar-info p{font-size:.8rem}.avatar-favorite-button{top:.25rem;right:2.25rem;width:20px;height:20px}.delete-custom-avatar{top:.25rem;right:.25rem;width:20px;height:20px}.avatar-selector-actions{flex-direction:column}.avatar-selector-actions .btn{width:100%}}.avatar-selector-modal .btn{padding:.75rem 1.5rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;min-width:120px}.avatar-selector-modal .btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.avatar-selector-modal .btn:hover:before{left:100%}.avatar-selector-modal .btn-primary{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;box-shadow:0 4px 15px #007bff4d}.avatar-selector-modal .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#0056b3,#004085);transform:translateY(-2px);box-shadow:0 8px 25px #007bff66}.avatar-selector-modal .btn-primary:disabled{background:#6c757d;cursor:not-allowed}.avatar-selector-modal .btn-secondary{background:linear-gradient(135deg,#6c757d,#5a6268);color:#fff;box-shadow:0 4px 15px #6c757d4d}.avatar-selector-modal .btn-secondary:hover{background:linear-gradient(135deg,#5a6268,#495057);transform:translateY(-2px);box-shadow:0 8px 25px #6c757d66}.voice-selector-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.voice-selector-modal{background:var(--bg-primary);border-radius:16px;padding:24px;max-width:800px;width:90%;max-height:80vh;overflow-y:auto;box-shadow:0 20px 40px #0000004d;border:1px solid var(--border-color)}.voice-selector-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.voice-selector-header h3{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.voice-selector-close{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:8px;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.voice-selector-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.voice-selector-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:var(--text-secondary)}.voice-selector-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#dc3545}.voice-selector-error p{margin:1rem 0;font-size:1rem;text-align:center}.retry-button{background:#007bff;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease;margin-top:1rem}.retry-button:hover{background:#0056b3}.loading-spinner{width:32px;height:32px;border:3px solid var(--border-color);border-top:3px solid var(--accent-color);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.voice-categories{display:flex;gap:8px;margin-bottom:20px;flex-wrap:wrap}.voice-advanced-filters{display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;align-items:center}@media (max-width: 768px){.voice-advanced-filters{flex-direction:column;align-items:stretch;gap:12px}.filter-group{flex-direction:row;align-items:center;justify-content:space-between}.filter-select{min-width:120px}}.filter-group{display:flex;flex-direction:column;gap:4px}.filter-label{font-size:.8rem;color:var(--text-secondary);font-weight:500}.filter-select{padding:6px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.8rem;cursor:pointer;transition:all .2s ease}.filter-select:hover{border-color:var(--accent-color)}.filter-select:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 2px #007bff1a}.voice-search{margin-bottom:20px}.search-input-wrapper{position:relative;display:flex;align-items:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:8px 12px;transition:border-color .2s ease}.search-input-wrapper:focus-within{border-color:var(--accent-color);box-shadow:0 0 0 2px #007bff1a}.search-input-wrapper svg{color:var(--text-secondary);margin-right:8px;flex-shrink:0}.search-input{flex:1;border:none;background:transparent;color:var(--text-primary);font-size:.875rem;outline:none}.search-input::placeholder{color:var(--text-secondary)}.clear-search{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.clear-search:hover{background:var(--bg-tertiary);color:var(--text-primary)}.voice-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;text-align:center;color:var(--text-secondary)}.voice-empty-state svg{margin-bottom:1rem;opacity:.5}.voice-empty-state p{margin:0 0 1rem;font-size:1rem;line-height:1.5}.clear-search-btn{background:var(--accent-color);color:#fff;border:none;padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background-color .2s ease}.clear-search-btn:hover{background:var(--accent-color-hover)}.voice-favorite-button{position:absolute;top:.5rem;right:.5rem;width:32px;height:32px;border:none;background:#ffffffe6;color:#ccc;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;z-index:2}.voice-favorite-button:hover{background:#fff;transform:scale(1.1)}.voice-favorite-button.favorited{color:#e74c3c;background:#e74c3c1a}.voice-favorite-button.favorited:hover{background:#e74c3c33}.voice-preview-button-mobile{margin-right:2.5rem}.voice-volume-control{position:absolute;bottom:.5rem;right:.5rem;display:flex;align-items:center;gap:6px;background:#fffffff2;padding:4px 8px;border-radius:12px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:2}@media (max-width: 768px){.voice-volume-control{bottom:.25rem;right:.25rem;padding:3px 6px;gap:4px}.volume-slider{width:50px}}.voice-volume-control svg{color:var(--text-secondary);flex-shrink:0}.volume-slider{width:60px;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer;-webkit-appearance:none;appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:12px;height:12px;background:var(--accent-color);border-radius:50%;cursor:pointer;transition:all .2s ease}.volume-slider::-webkit-slider-thumb:hover{background:var(--accent-color-hover);transform:scale(1.2)}.volume-slider::-moz-range-thumb{width:12px;height:12px;background:var(--accent-color);border-radius:50%;cursor:pointer;border:none;transition:all .2s ease}.volume-slider::-moz-range-thumb:hover{background:var(--accent-color-hover);transform:scale(1.2)}.category-filter{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:8px 16px;border-radius:20px;cursor:pointer;transition:all .2s ease;font-size:.9rem;font-weight:500}.category-filter:hover,.category-filter.active{background:var(--accent-color);color:#fff;border-color:var(--accent-color)}.voice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px;margin-bottom:20px}.voice-option{background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:12px;padding:16px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.voice-option:hover{border-color:var(--accent-color);transform:translateY(-2px);box-shadow:0 8px 20px #00000026}.voice-option.selected{border-color:var(--accent-color);background:var(--accent-color);color:#fff}.voice-preview{position:relative;width:60px;height:60px;margin:0 auto 12px;display:flex;align-items:center;justify-content:center;background:var(--bg-primary);border-radius:50%;border:2px solid var(--border-color)}.voice-option.selected .voice-preview{border-color:#fff}.voice-preview-placeholder{color:var(--text-secondary);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}.voice-preview-info{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:.7rem;opacity:.9}.voice-preview-language{font-weight:500;text-transform:uppercase;letter-spacing:.5px}.voice-preview-duration{opacity:.8;font-size:.65rem}.voice-option.selected .voice-preview-placeholder{color:#fff}.voice-preview-overlay{position:absolute;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;border-radius:50%;opacity:0;transition:opacity .3s ease}.voice-option:hover .voice-preview-overlay,.voice-preview-overlay.visible{opacity:1}.voice-play-indicator{position:absolute;top:8px;right:8px;background:#000000b3;color:#fff;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:10px;opacity:.8;transition:opacity .3s ease}.voice-option:hover .voice-play-indicator{opacity:1}.voice-play-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;width:48px;height:48px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 6px 20px #667eea66;border:3px solid rgba(255,255,255,.9);font-weight:700}.voice-play-button:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:scale(1.1);box-shadow:0 8px 25px #667eea99;border-color:#fff}.voice-play-button:active{transform:scale(.95)}.voice-play-button:disabled{opacity:.8;cursor:not-allowed;transform:none;background:linear-gradient(135deg,#4a5568,#2d3748)}.voice-play-button.playing{background:linear-gradient(135deg,#e53e3e,#c53030);transform:scale(1.1);box-shadow:0 8px 25px #e53e3e99;border-color:#fed7d7}.voice-loading-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.voice-loading-spinner-small{width:12px;height:12px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}.voice-preview-button-mobile{display:none;background:linear-gradient(135deg,#667eea,#764ba2);border:none;color:#fff;padding:8px 12px;border-radius:20px;cursor:pointer;font-size:.8rem;font-weight:500;margin-top:8px;transition:all .3s ease;box-shadow:0 2px 8px #667eea4d;align-items:center;gap:4px}.voice-preview-button-mobile:hover{background:linear-gradient(135deg,#764ba2,#667eea);transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.voice-preview-button-mobile:active{transform:translateY(0)}.voice-preview-button-mobile:disabled{opacity:.7;cursor:not-allowed;transform:none;background:linear-gradient(135deg,#4a5568,#2d3748)}.voice-preview-button-mobile.playing{background:linear-gradient(135deg,#e53e3e,#c53030)}.voice-preview-button-mobile.playing:hover{background:linear-gradient(135deg,#c53030,#e53e3e)}.voice-info{text-align:center}.voice-name{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.voice-option.selected .voice-name{color:#fff}.voice-description{margin:0 0 8px;font-size:.85rem;color:var(--text-secondary);line-height:1.4}.voice-option.selected .voice-description{color:#fffc}.voice-category{display:inline-block;background:var(--bg-primary);color:var(--text-secondary);padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;margin-right:4px}.voice-option.selected .voice-category{background:#fff3;color:#fff}.voice-recommended{display:inline-block;background:#10b981;color:#fff;padding:2px 8px;border-radius:10px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.voice-selected-indicator{position:absolute;top:8px;right:8px;background:var(--accent-color);color:#fff;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem}.selected-voice-info{display:flex;align-items:center;gap:12px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color);margin-bottom:16px}.selected-voice-preview{width:40px;height:40px;background:var(--accent-color);border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff}.selected-voice-details h4{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--text-primary)}.selected-voice-details p{margin:0 0 8px;font-size:.85rem;color:var(--text-secondary)}.voice-tags{display:flex;gap:4px}.voice-category-tag,.voice-language-tag{background:var(--bg-primary);color:var(--text-secondary);padding:2px 6px;border-radius:8px;font-size:.7rem;font-weight:500}.voice-recommendations{background:linear-gradient(135deg,var(--accent-color),#10b981);color:#fff;padding:16px;border-radius:12px;margin-top:16px}.voice-recommendations h4{margin:0 0 8px;font-size:1rem;font-weight:600}.voice-recommendations p{margin:0;font-size:.85rem;opacity:.9}.voice-sheet-actions{display:none}.voice-selector-content{display:flex;flex-direction:column;gap:20px}.voice-filters{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-color)}.filter-group{display:flex;flex-direction:column;gap:8px}.filter-group label{font-size:.9rem;font-weight:600;color:var(--text-primary)}.filter-group select{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.search-group{display:flex;flex-direction:column;gap:8px}.voice-search-input{padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:.9rem}.voice-upload-section{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;padding:20px}.voice-upload-section h4{margin:0 0 16px;color:var(--text-primary);font-size:1.1rem;font-weight:600}.upload-section{background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:12px;padding:20px;text-align:center;transition:all .2s ease}.upload-section:hover{border-color:var(--accent-color);background:var(--bg-tertiary)}.upload-button{background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:12px 24px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;gap:8px}.upload-button:hover{background:var(--accent-color-dark);transform:translateY(-1px)}.upload-button:active{transform:translateY(0)}.file-info{display:flex;align-items:center;justify-content:center;gap:12px;margin:16px 0;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.file-info span{color:var(--text-primary);font-size:.9rem}.file-size{color:var(--text-secondary);font-size:.8rem}.remove-file{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.remove-file:hover{background:var(--error-color-dark);transform:scale(1.1)}.custom-voice-actions{display:flex;gap:12px;justify-content:center;margin-top:16px}.preview-custom-voice-button{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;padding:10px 16px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:8px}.preview-custom-voice-button:hover:not(:disabled){background:var(--bg-secondary);border-color:var(--accent-color)}.preview-custom-voice-button:disabled{opacity:.6;cursor:not-allowed}.submit-upload-button{background:var(--accent-color);color:#fff;border:none;border-radius:8px;padding:10px 20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.submit-upload-button:hover:not(:disabled){background:var(--accent-color-dark);transform:translateY(-1px)}.submit-upload-button:disabled{background:var(--text-secondary);cursor:not-allowed;transform:none}.file-requirements{color:var(--text-secondary);font-size:.8rem;margin-top:12px;font-style:italic}.voices-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;max-height:400px;overflow-y:auto;padding:16px}.voices-loading,.voices-error,.voices-empty{text-align:center;padding:40px;color:var(--text-secondary);font-size:1.1rem;grid-column:1 / -1}.voices-error{color:var(--error-color)}.voice-option{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative;min-height:80px}.voice-option:hover{border-color:var(--accent-color);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.voice-option.selected{border-color:var(--accent-color);background:var(--accent-color-light);box-shadow:0 0 0 3px var(--accent-color)}.voice-preview{flex-shrink:0}.play-button{width:36px;height:36px;border-radius:50%;border:none;background:var(--accent-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.play-button:hover{background:var(--accent-color-dark);transform:scale(1.1)}.play-button.playing{background:var(--error-color)}.voice-info{flex:1;min-width:0}.voice-info h5{margin:0 0 6px;color:var(--text-primary);font-size:.95rem;font-weight:600;line-height:1.2}.voice-tags{display:flex;gap:6px;margin-bottom:6px;flex-wrap:wrap}.voice-language,.voice-category{background:var(--accent-color);color:#fff;padding:2px 6px;border-radius:8px;font-size:.7rem;font-weight:500;text-transform:capitalize}.voice-description{margin:0;color:var(--text-secondary);font-size:.8rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.delete-custom-voice{background:var(--error-color);color:#fff;border:none;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;opacity:.7;flex-shrink:0}.delete-custom-voice:hover{opacity:1;transform:scale(1.1)}.favorite-button{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.favorite-button:hover{background:var(--bg-secondary);color:var(--accent-color)}.favorite-button.favorited{color:var(--accent-color)}.voice-volume-control{display:flex;align-items:center;gap:6px;flex-shrink:0}.volume-slider{width:60px;height:4px;border-radius:2px;background:var(--border-color);outline:none;-webkit-appearance:none}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--accent-color);cursor:pointer}.volume-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent-color);cursor:pointer;border:none}.voice-confirmation-section{margin-top:20px;padding:20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;animation:slideIn .3s ease-out}.selected-voice-info{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:12px;background:var(--bg-primary);border-radius:8px;border:1px solid var(--border-color)}.selected-label{font-weight:600;color:var(--text-primary);font-size:.9rem}.selected-voice-name{font-weight:500;color:var(--accent-color);font-size:1rem}.confirmation-actions{display:flex;gap:12px;justify-content:flex-end}.confirmation-actions .btn{padding:10px 20px;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;min-width:100px}.btn--secondary{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn--secondary:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.btn--primary{background:var(--accent-color);color:#fff}.btn--primary:hover:not(:disabled){background:var(--accent-color-dark);transform:translateY(-1px)}@media (max-width: 1023px){.voice-selector-overlay{align-items:flex-end;justify-content:center;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:overlayFadeIn .18s ease-out}.voice-selector-modal{width:100%;max-width:none;padding:16px 12px 12px;max-height:88vh;border-radius:16px 16px 0 0;border:1px solid rgba(51,65,85,.7);background:#0f172ab3;backdrop-filter:blur(12px) saturate(120%);-webkit-backdrop-filter:blur(12px) saturate(120%);box-shadow:var(--shadow-2xl);padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));animation:sheetSlideUp .22s var(--ease-out);overscroll-behavior:contain}.voice-selector-modal:before{content:"";display:block;width:36px;height:4px;border-radius:999px;background:#cbd5e199;margin:4px auto 8px}.voice-selector-header{position:sticky;top:0;z-index:2;background:inherit;backdrop-filter:inherit;-webkit-backdrop-filter:inherit;margin:0 0 12px;padding:8px 4px 12px;border-bottom:1px solid rgba(51,65,85,.7)}.voice-categories{display:flex;gap:8px;margin:12px -4px;padding:0 4px 4px;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;scrollbar-width:none}.voice-categories::-webkit-scrollbar{display:none}.category-filter{padding:8px 14px;font-size:.85rem;white-space:nowrap;flex:0 0 auto}.voice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.voice-option{padding:14px;border-radius:14px}.voice-preview{width:56px;height:56px}.voice-sheet-actions{display:block;position:sticky;bottom:-12px;left:0;right:0;background:inherit;backdrop-filter:inherit;-webkit-backdrop-filter:inherit;padding-top:8px;margin-top:8px;border-top:1px solid rgba(51,65,85,.7)}.voice-sheet-action-close{width:100%;height:44px;border-radius:12px;border:none;background:var(--gradient-accent);color:#fff;font-weight:600;letter-spacing:.2px;box-shadow:var(--shadow-xl);transition:transform var(--transition-fast),box-shadow var(--transition-fast);cursor:pointer}.voice-sheet-action-close:active{transform:translateY(1px);box-shadow:var(--shadow-md)}}@media (max-width: 480px){.voice-grid{grid-template-columns:1fr}.voice-option{padding:12px}.voice-preview{width:52px;height:52px}}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}@keyframes sheetSlideUp{0%{transform:translateY(12px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@media (prefers-reduced-motion: reduce){.voice-selector-overlay{animation:overlayFadeIn 1ms linear}.voice-selector-modal{animation:none}}@media (max-width: 480px){.voice-grid{grid-template-columns:1fr}.voice-option{padding:12px;position:relative}.voice-preview{width:50px;height:50px}.voice-preview-overlay,.voice-play-indicator{display:none!important}.voice-preview-button-mobile{display:flex}}:root{--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-card: #1e293b;--text-primary: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #334155;--border-light: #475569;--accent-color: #3b82f6;--accent-hover: #60a5fa;--accent-light: #1e40af;--accent-color-light: #1e3a8a;--success-color: #10b981;--error-color: #ef4444;--error-color-light: #7f1d1d;--warning-color: #f59e0b;--gradient-primary: linear-gradient(135deg, #374151 0%, #1f2937 100%);--gradient-secondary: linear-gradient(135deg, #6b7280 0%, #4b5563 100%);--gradient-accent: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--shadow-sm: 0 1px 3px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .4), 0 2px 4px -2px rgb(0 0 0 / .4);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .4), 0 4px 6px -4px rgb(0 0 0 / .4);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .4), 0 8px 10px -6px rgb(0 0 0 / .4);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .5);--glow: 0 0 30px rgba(59, 130, 246, .4);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 24px;--transition-fast: .15s ease-out;--transition-normal: .3s cubic-bezier(.4, 0, .2, 1);--transition-slow: .5s cubic-bezier(.4, 0, .2, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--space-3xl: 4rem;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--font-size-5xl: 3rem;--font-size-6xl: 3.75rem;--breakpoint-sm: 640px;--breakpoint-md: 768px;--breakpoint-lg: 1024px;--breakpoint-xl: 1280px;--breakpoint-2xl: 1536px}[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-card: #ffffff;--text-primary: #0f172a;--text-secondary: #475569;--text-muted: #64748b;--border-color: #e2e8f0;--border-light: #f1f5f9;--accent-color: #3b82f6;--accent-hover: #2563eb;--accent-light: #dbeafe;--accent-color-light: #dbeafe;--success-color: #10b981;--error-color: #ef4444;--error-color-light: #fef2f2;--warning-color: #f59e0b;--gradient-primary: linear-gradient(135deg, #e5e7eb 0%, #d1d5db 100%);--gradient-secondary: linear-gradient(135deg, #f3f4f6 0%, #e5e7eb 100%);--gradient-accent: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #059669 100%);--gradient-error: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--shadow-2xl: 0 25px 50px -12px rgb(0 0 0 / .25);--glow: 0 0 20px rgba(59, 130, 246, .3)}*{margin:0;padding:0;box-sizing:border-box}html,body{height:auto;width:100%;margin:0;padding:0}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition-normal);line-height:1.6;font-size:var(--font-size-base);font-weight:400;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}#root{width:100%;display:flex;flex-direction:column}.app{min-height:100vh;display:grid;background:var(--bg-primary);position:relative;overflow:hidden;contain:layout style paint;will-change:auto}@media (min-width: 1024px){.app{grid-template-columns:1fr 600px;grid-template-rows:1fr;gap:0}}@media (max-width: 1023px){.app{grid-template-columns:1fr;grid-template-rows:1fr;gap:0}}.canvas-container{position:relative;background:var(--bg-primary);overflow:hidden;display:flex;align-items:center;justify-content:center;transition:all .5s ease}@media (min-width: 1024px){.canvas-container{min-height:100vh;border-right:1px solid var(--border-color)}}@media (max-width: 1023px){.canvas-container{height:100vh;min-height:100vh;border-bottom:none}}.canvas-container:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,#f8fafccc,#f1f5f999,#e2e8f066),radial-gradient(circle at 25% 25%,rgba(59,130,246,.03) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(147,51,234,.03) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.02) 0%,transparent 70%);pointer-events:none;z-index:1;transition:all .5s ease}.canvas-container--warm:before{background:linear-gradient(135deg,#fef3c7cc,#fde68a99,#fbbf2466),radial-gradient(circle at 25% 25%,rgba(245,158,11,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(251,191,36,.05) 0%,transparent 50%)}.canvas-container--energetic:before{background:linear-gradient(135deg,#fee2e2cc,#fca5a599,#ef444466),radial-gradient(circle at 25% 25%,rgba(239,68,68,.08) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(220,38,38,.05) 0%,transparent 50%)}.canvas-container--serene:before{background:linear-gradient(135deg,#ecfeffcc,#cffafe99,#22d3ee66),radial-gradient(circle at 25% 25%,rgba(6,182,212,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(34,211,238,.05) 0%,transparent 50%)}.canvas-container--melancholic:before{background:linear-gradient(135deg,#f1f5f9cc,#e2e8f099,#94a3b866),radial-gradient(circle at 25% 25%,rgba(100,116,139,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(71,85,105,.05) 0%,transparent 50%)}.canvas-container--intense:before{background:linear-gradient(135deg,#fee2e2cc,#f8717199,#dc262666),radial-gradient(circle at 25% 25%,rgba(220,38,38,.1) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(185,28,28,.08) 0%,transparent 50%)}.canvas-container--tense:before{background:linear-gradient(135deg,#fef3c7cc,#fbbf2499,#f59e0b66),radial-gradient(circle at 25% 25%,rgba(245,158,11,.08) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(217,119,6,.05) 0%,transparent 50%)}.canvas-container--artistic:before{background:linear-gradient(135deg,#faf5ffcc,#f3e8ff99,#c4b5fd66),radial-gradient(circle at 25% 25%,rgba(147,51,234,.08) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(168,85,247,.05) 0%,transparent 50%)}.canvas-container--precise:before{background:linear-gradient(135deg,#f0f9ffcc,#dbeafe99,#3b82f666),radial-gradient(circle at 25% 25%,rgba(37,99,235,.08) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(59,130,246,.05) 0%,transparent 50%)}.canvas-container--professional:before{background:linear-gradient(135deg,#f8fafccc,#f1f5f999,#e2e8f066),radial-gradient(circle at 25% 25%,rgba(71,85,105,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(100,116,139,.05) 0%,transparent 50%)}[data-theme=light] .canvas-container:before{background:linear-gradient(135deg,#f8fafccc,#f1f5f999,#e2e8f066),radial-gradient(circle at 25% 25%,rgba(59,130,246,.03) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(147,51,234,.03) 0%,transparent 50%),radial-gradient(circle at 50% 50%,rgba(6,182,212,.02) 0%,transparent 70%)}[data-theme=light] .canvas-container--warm:before{background:linear-gradient(135deg,#fef3c7cc,#fde68a99,#fbbf2466),radial-gradient(circle at 25% 25%,rgba(245,158,11,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(251,191,36,.05) 0%,transparent 50%)}[data-theme=light] .canvas-container--energetic:before{background:linear-gradient(135deg,#fee2e2cc,#fca5a599,#ef444466),radial-gradient(circle at 25% 25%,rgba(239,68,68,.08) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(220,38,38,.05) 0%,transparent 50%)}[data-theme=light] .canvas-container--serene:before{background:linear-gradient(135deg,#ecfeffcc,#cffafe99,#22d3ee66),radial-gradient(circle at 25% 25%,rgba(6,182,212,.05) 0%,transparent 50%),radial-gradient(circle at 75% 75%,rgba(34,211,238,.05) 0%,transparent 50%)}.canvas-container:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at center,transparent 0%,transparent 60%,rgba(0,0,0,.02) 100%);pointer-events:none;z-index:1}[data-theme=light] .canvas-container:after{background:radial-gradient(ellipse at center,transparent 0%,transparent 60%,rgba(0,0,0,.02) 100%)}.canvas-container canvas{position:relative;z-index:2;border-radius:var(--radius-lg);box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #ffffff0d;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}[data-theme=light] .canvas-container canvas{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #ffffff0d}@keyframes subtleBreathing{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.canvas-container canvas{animation:subtleBreathing 8s ease-in-out infinite}.canvas-container:before{animation:particleFloat 20s linear infinite}@keyframes particleFloat{0%{transform:translateY(0) rotate(0)}to{transform:translateY(-20px) rotate(360deg)}}.chat-panel{background:var(--bg-secondary);display:flex;flex-direction:column;position:relative;overflow:hidden;border-left:1px solid var(--border-color);box-shadow:var(--shadow-lg);contain:layout style;transform:translateZ(0)}@media (min-width: 1024px){.chat-panel{height:100vh;width:600px;flex-shrink:0}}.sessions-sidebar{width:220px;border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:width var(--transition-normal)}.sessions-header{padding:10px 12px;font-weight:600;color:var(--text-secondary)}.sessions-list{overflow-y:auto;flex:1}.session-item{width:100%;text-align:left;padding:8px 12px;background:transparent;border:none;color:var(--text-primary);cursor:pointer}.session-item.active{background:var(--bg-tertiary)}.sessions-actions{padding:8px;border-top:1px solid var(--border-color);display:flex;gap:6px;align-items:center;justify-content:space-between}.sessions-sidebar--collapsed{width:0px;border-right:none;overflow:hidden}.chat-layout{display:flex;height:100%;width:100%}.chat-content{display:flex;flex-direction:column;flex:1;min-width:0}@media (max-width: 1023px){.chat-content{display:contents}}@media (max-width: 1023px){.chat-panel{position:fixed;inset:0;height:100vh;width:100vw;border:none;background:transparent;box-shadow:none;z-index:40;display:flex}.chat-panel>*{position:relative;z-index:1}.chat-layout{position:relative}.sessions-sidebar--mobile{position:absolute;top:env(safe-area-inset-top,0px);margin-top:var(--mobile-chat-header-height, 70px);left:0;bottom:0;width:80vw;max-width:320px;background:#0f172ab3;border-right:1px solid rgba(51,65,85,.7);box-shadow:var(--shadow-xl);transform:translate(0);transition:transform var(--transition-normal),opacity var(--transition-normal);z-index:2;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%)}.sessions-sidebar--mobile.sessions-sidebar--hidden{transform:translate(-100%);opacity:.96;pointer-events:none}.chat-layout{position:absolute;left:0;right:0;bottom:0;top:env(safe-area-inset-top,0px);height:100%;background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none;display:grid;grid-template-rows:auto 1fr auto auto}.sessions-backdrop{position:absolute;top:env(safe-area-inset-top,0px);margin-top:var(--mobile-chat-header-height, 70px);left:0;right:0;bottom:0;background:#02061759;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);z-index:1}.chat-panel--overlay{opacity:1;transform:translateY(0);transition:opacity var(--transition-normal),transform var(--transition-normal)}.chat-panel--hidden{pointer-events:none;opacity:0;transform:translateY(8px)}}.chat-messages{flex:1;padding:1rem;overflow-y:auto;display:flex;flex-direction:column;gap:.75rem;background:transparent;position:relative}@media (max-width: 1023px){.chat-messages{background:transparent;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color)}}@media (max-width: 1023px){.chat-header{background:#0f172ab3!important;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-xl)}.chat-input,.status-bar{background:#0f172ab3!important;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);border-top:1px solid var(--border-color);box-shadow:var(--shadow-xl)}}@media (max-width: 1023px){.message-content{background:#0f172ab3!important;border:1px solid rgba(51,65,85,.7)!important;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}.message--user .message-content{background:#3b82f6b3!important;color:#fff!important;border-color:#3b82f680!important}}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:var(--radius-sm);margin:.5rem 0}.chat-messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm);transition:background .2s ease}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.loading-message{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:.75rem 1rem;box-shadow:var(--shadow-sm);position:relative;overflow:hidden;transition:all .2s ease;min-width:140px;animation:messageSlideIn .2s ease-out;margin:.5rem 0}.loading-message:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:var(--gradient-accent);border-radius:var(--radius-lg) var(--radius-lg) 0 0}.loading-message p{color:var(--text-primary);line-height:1.4;font-size:.85rem;font-weight:500;margin:0;word-wrap:break-word}.typing-indicator{display:flex;gap:.25rem;margin-bottom:.5rem}.typing-indicator span{width:5px;height:5px;border-radius:50%;background:var(--accent-color);animation:typing 1.4s infinite ease-in-out}.typing-indicator span:nth-child(1){animation-delay:-.32s}.typing-indicator span:nth-child(2){animation-delay:-.16s}@keyframes typing{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1);opacity:1}}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes shimmer{0%{background-position:-200px 0}to{background-position:calc(200px + 100%) 0}}.fade-in{animation:fadeIn var(--transition-normal) var(--ease-out)}.fade-in-up{animation:fadeInUp var(--transition-slow) var(--ease-out)}.fade-in-down{animation:fadeInDown var(--transition-slow) var(--ease-out)}.slide-in-left{animation:slideInLeft var(--transition-normal) var(--ease-out)}.slide-in-right{animation:slideInRight var(--transition-normal) var(--ease-out)}.scale-in{animation:scaleIn var(--transition-normal) var(--ease-out)}.float{animation:float 3s ease-in-out infinite}.pulse{animation:pulse 2s ease-in-out infinite}.animate-delay-100{animation-delay:.1s}.animate-delay-200{animation-delay:.2s}.animate-delay-300{animation-delay:.3s}.animate-delay-500{animation-delay:.5s}.hover-lift{transition:var(--transition-normal)}.hover-lift:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.hover-scale{transition:var(--transition-normal)}.hover-scale:hover{transform:scale(1.05)}.hover-glow{transition:var(--transition-normal)}.hover-glow:hover{box-shadow:var(--glow)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.glass{background:#ffffff1a;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.2)}[data-theme=light] .glass{background:#ffffff1a;border:1px solid rgba(255,255,255,.2)}.canvas-container canvas{z-index:1}.streaming-message{opacity:.9;border-left:3px solid var(--accent-color);background:linear-gradient(90deg,var(--accent-light) 0%,transparent 100%)}.streaming-message .message-text{color:var(--text-primary);font-weight:500}.streaming-cursor{color:var(--accent-color);font-weight:700;animation:blink 1s infinite}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message-badge--streaming{background:var(--accent-color);color:#fff;font-size:10px;padding:2px 6px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:4px;animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1}50%{opacity:.7}to{opacity:1}}.icon--loading{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.floating-monitors{position:fixed;inset:0;pointer-events:none;z-index:50}.floating-monitors>*{pointer-events:auto}.floating-monitors .animation-performance-monitor,.floating-monitors .base-pose-monitor{position:absolute;top:1rem;right:1rem;z-index:51}.floating-monitors .base-pose-monitor{top:6rem}@media (max-width: 768px){.floating-monitors .animation-performance-monitor,.floating-monitors .base-pose-monitor{top:.5rem;right:.5rem}.floating-monitors .base-pose-monitor{top:4rem}}@media (max-width: 480px){.floating-monitors .animation-performance-monitor,.floating-monitors .base-pose-monitor{top:.25rem;right:.25rem}.floating-monitors .base-pose-monitor{top:3rem}}@media (max-width: 1023px){.chat-fab{position:fixed;right:16px;bottom:16px;z-index:50;width:56px;height:56px;border-radius:50%;border:1px solid var(--border-color);background:var(--gradient-accent);color:#fff;display:inline-flex;align-items:center;justify-content:center;box-shadow:var(--shadow-xl),var(--glow);transition:transform var(--transition-normal),box-shadow var(--transition-normal),opacity var(--transition-normal)}.chat-fab:hover{transform:translateY(-2px) scale(1.03);box-shadow:var(--shadow-2xl),var(--glow)}.chat-fab--active{background:var(--gradient-error)}}.toast-container{position:fixed;top:12px;right:12px;display:flex;flex-direction:column;gap:8px;z-index:60}.toast{display:flex;align-items:center;gap:8px;background:var(--bg-card);border:1px solid var(--border-color);color:var(--text-primary);border-radius:10px;padding:10px 12px;box-shadow:var(--shadow-xl);min-width:240px;max-width:360px;animation:fadeIn var(--transition-normal) var(--ease-out)}.toast__icon{color:var(--text-secondary)}.toast__title{font-weight:700;font-size:.8rem}.toast__message{font-size:.75rem;opacity:.9}.toast__content{display:flex;flex-direction:column;gap:2px}.toast__close{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:6px}.toast__close:hover{background:var(--bg-secondary);color:var(--text-primary)}.toast--success{border-left:3px solid var(--success-color)}.toast--error{border-left:3px solid var(--error-color)}.toast--warning{border-left:3px solid var(--warning-color)}.toast--info{border-left:3px solid var(--accent-color)}.avatar-controls{position:absolute;left:50%;transform:translate(-50%);bottom:16px;display:flex;gap:8px;padding:8px;background:#0f172a80;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-xl);z-index:5}.avatar-control{width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);border-radius:10px;cursor:pointer;transition:var(--transition-normal)}.avatar-control:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.avatar-control--primary{background:var(--gradient-accent);color:#fff;border-color:transparent}.avatar-control--primary:hover{transform:translateY(-1px) scale(1.02)}.avatar-control--danger{background:var(--gradient-error);color:#fff;border-color:transparent}@media (min-width: 1024px){.avatar-controls{left:50%;transform:translate(-50%);bottom:24px}}.avatar-topbar{position:absolute;top:12px;left:50%;transform:translate(-50%);width:calc(100% - 24px);max-width:960px;display:flex;align-items:center;justify-content:space-between;padding:8px 10px;background:#0f172ab3;backdrop-filter:blur(8px) saturate(120%);-webkit-backdrop-filter:blur(8px) saturate(120%);border:1px solid var(--border-color);border-radius:12px;box-shadow:var(--shadow-xl);z-index:4}.avatar-topbar__btn{display:inline-flex;align-items:center;gap:6px;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:10px;padding:6px 10px;cursor:pointer;transition:var(--transition-normal)}.avatar-topbar__btn:hover{background:var(--bg-secondary);color:var(--text-primary);transform:translateY(-1px);box-shadow:var(--shadow-md)}.avatar-topbar__left,.avatar-topbar__right{display:flex;gap:8px}@media (max-width: 1023px){.avatar-topbar{top:10px;width:calc(100% - 16px)}.avatar-topbar__btn span{display:none}}
