.modal-overlay[data-v-0417ae5b]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,var(--modal-backdrop-opacity, .5));display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn-0417ae5b .3s ease;backdrop-filter:blur(var(--modal-backdrop-blur, 8px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 8px))}@supports not (backdrop-filter: blur(8px)){.modal-overlay[data-v-0417ae5b]{background:#000000b3}}.modal-container[data-v-0417ae5b]{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:90vw;max-height:90vh;min-width:300px;width:fit-content;display:flex;flex-direction:column;animation:slideUp-0417ae5b .3s ease;border:1px solid var(--border-color);position:relative;overflow:hidden}.modal-container.small[data-v-0417ae5b]{width:min(400px,90vw)}.modal-container.medium[data-v-0417ae5b]{width:min(500px,90vw)}.modal-container.large[data-v-0417ae5b]{width:min(600px,90vw)}.modal-container.auto-width[data-v-0417ae5b]{width:fit-content;min-width:300px;max-width:90vw}.modal-header[data-v-0417ae5b]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px 0;border-bottom:1px solid var(--border-color)}.modal-title[data-v-0417ae5b]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.modal-close[data-v-0417ae5b]{background:none;border:none;padding:8px;cursor:pointer;border-radius:6px;color:var(--text-secondary);transition:all .2s ease;display:flex;align-items:center;justify-content:center}.modal-close[data-v-0417ae5b]:hover{background:var(--bg-hover);color:var(--text-primary)}.modal-content[data-v-0417ae5b]{padding:24px;flex:1;overflow-y:auto;overflow-x:hidden;word-wrap:break-word;background:transparent;box-sizing:border-box}.modal-content .form-group[data-v-0417ae5b]{margin-bottom:16px;width:100%}.modal-content .form-control[data-v-0417ae5b]{max-width:100%;box-sizing:border-box;width:100%}.modal-footer[data-v-0417ae5b]{display:flex;gap:12px;justify-content:flex-end;padding:0 24px 20px}.modal-container.warning[data-v-0417ae5b]{border-left:4px solid #f59e0b}.modal-container.danger[data-v-0417ae5b]{border-left:4px solid #ef4444}.modal-container.success[data-v-0417ae5b]{border-left:4px solid #10b981}@keyframes fadeIn-0417ae5b{0%{opacity:0}to{opacity:1}}@keyframes slideUp-0417ae5b{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}:root[data-theme=dark] .modal-container[data-v-0417ae5b]{background:var(--bg-secondary);border-color:var(--border-color)}.avatar-upload[data-v-473b25d4]{display:flex;flex-direction:column;gap:16px}.avatar-type-selector[data-v-473b25d4]{display:flex;gap:8px;padding:4px;background:var(--bg-secondary);border-radius:8px}.type-btn[data-v-473b25d4]{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px;background:transparent;border:none;border-radius:6px;cursor:pointer;transition:all .25s ease;color:var(--text-secondary)}.type-btn[data-v-473b25d4]:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active[data-v-473b25d4]{background:var(--primary-color);color:#fff}.type-icon[data-v-473b25d4]{font-size:1.5em}.type-label[data-v-473b25d4]{font-size:.75em;font-weight:500}.emoji-selector[data-v-473b25d4]{display:flex;flex-direction:column;gap:12px}.emoji-grid[data-v-473b25d4]{display:grid;grid-template-columns:repeat(8,1fr);gap:8px}.emoji-btn[data-v-473b25d4]{width:36px;height:36px;font-size:1.5em;background:var(--bg-secondary);border:2px solid transparent;border-radius:8px;cursor:pointer;transition:all .25s ease}.emoji-btn[data-v-473b25d4]:hover{background:var(--bg-hover);transform:scale(1.1)}.emoji-btn.selected[data-v-473b25d4]{border-color:var(--primary-color);background:var(--bg-hover)}.custom-emoji-input[data-v-473b25d4]{display:flex;gap:8px}.custom-emoji-input input[data-v-473b25d4]{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:1.2em;text-align:center}.text-input[data-v-473b25d4]{display:flex;flex-direction:column;gap:8px}.text-input input[data-v-473b25d4]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:1em;text-align:center}.text-preview[data-v-473b25d4]{width:64px;height:64px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:2px dashed var(--border-color);border-radius:50%;font-size:2em;margin:0 auto}.image-url-section[data-v-473b25d4]{display:flex;flex-direction:column;gap:12px}.image-url-section input[data-v-473b25d4]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:.9em}.image-preview-container[data-v-473b25d4]{position:relative;display:flex;justify-content:center;align-items:center}.image-preview[data-v-473b25d4]{width:128px;height:128px;object-fit:cover;border-radius:50%;border:2px solid var(--border-color)}.error-message[data-v-473b25d4]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:.8em;white-space:nowrap}.loading-indicator[data-v-473b25d4]{text-align:center;color:var(--text-secondary);font-size:.9em}.custom-select[data-v-08dd2964]{position:relative;width:100%;min-width:120px}.select-trigger[data-v-08dd2964]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);cursor:pointer;transition:all .2s ease;-webkit-user-select:none;user-select:none}.select-trigger[data-v-08dd2964]:hover{border-color:var(--primary-color)}.select-trigger[data-v-08dd2964]:active{transform:translateY(1px)}.custom-select.open .select-trigger[data-v-08dd2964]{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.custom-select.disabled .select-trigger[data-v-08dd2964]{background:var(--bg-secondary);color:var(--text-tertiary);cursor:not-allowed;opacity:.6}.select-value[data-v-08dd2964]{flex:1;font-size:14px;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;min-height:20px;display:flex;align-items:center}.select-arrow[data-v-08dd2964]{width:16px;height:16px;color:var(--text-secondary);transition:transform .2s ease}.custom-select.open .select-arrow[data-v-08dd2964]{transform:rotate(180deg)}.select-dropdown[data-v-08dd2964]{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow);z-index:1000;max-height:250px;overflow-y:auto;margin-top:4px}.select-option[data-v-08dd2964]{padding:8px 12px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;line-height:1.4;min-height:20px;display:flex;align-items:center}.select-option[data-v-08dd2964]:hover{background:var(--bg-hover)}.select-option.selected[data-v-08dd2964]{background:var(--primary-color);color:#fff}.select-option.selected[data-v-08dd2964]:hover{background:var(--primary-hover)}[data-color-mode=gradient] .select-option.selected[data-v-08dd2964],[data-color-mode=advanced-gradient] .select-option.selected[data-v-08dd2964]{background:var(--gradient-primary);color:#fff;border:1px solid var(--primary-color)}[data-color-mode=gradient] .select-option.selected[data-v-08dd2964]:hover,[data-color-mode=advanced-gradient] .select-option.selected[data-v-08dd2964]:hover{background:var(--gradient-primary);opacity:.9;border-color:var(--primary-hover)}.select-option.disabled[data-v-08dd2964]{color:var(--text-tertiary);cursor:not-allowed;background:var(--bg-secondary);font-style:italic}.select-option.disabled[data-v-08dd2964]:hover{background:var(--bg-secondary)}.custom-slider[data-v-ce9499e1]{width:100%;padding:8px 0}.slider-header[data-v-ce9499e1]{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.slider-label[data-v-ce9499e1]{font-size:14px;color:var(--text-primary);font-weight:500}.slider-value[data-v-ce9499e1]{font-size:14px;color:var(--primary-color);font-weight:600}[data-color-mode=gradient] .slider-value[data-v-ce9499e1],[data-color-mode=advanced-gradient] .slider-value[data-v-ce9499e1]{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent}.slider-track[data-v-ce9499e1]{position:relative;height:6px;background:var(--bg-tertiary);border-radius:3px;cursor:pointer;transition:all .2s ease}.slider-track[data-v-ce9499e1]:hover{background:var(--border-color)}.custom-slider.disabled .slider-track[data-v-ce9499e1]{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.slider-progress[data-v-ce9499e1]{position:absolute;height:100%;background:var(--primary-color);border-radius:3px;transition:width .2s ease}[data-color-mode=gradient] .slider-progress[data-v-ce9499e1],[data-color-mode=advanced-gradient] .slider-progress[data-v-ce9499e1]{background:var(--gradient-primary)}.slider-thumb[data-v-ce9499e1]{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:var(--primary-color);border:2px solid white;border-radius:50%;cursor:grab;transition:all .2s ease;box-shadow:0 2px 6px #0003}[data-color-mode=gradient] .slider-thumb[data-v-ce9499e1],[data-color-mode=advanced-gradient] .slider-thumb[data-v-ce9499e1]{background:var(--gradient-primary)}.slider-thumb[data-v-ce9499e1]:hover{transform:translate(-50%,-50%) scale(1.1);box-shadow:0 4px 12px #0000004d}.slider-thumb[data-v-ce9499e1]:active{cursor:grabbing;transform:translate(-50%,-50%) scale(1.2)}.custom-slider.disabled .slider-thumb[data-v-ce9499e1]{cursor:not-allowed;opacity:.6}.slider-thumb-glow[data-v-ce9499e1]{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:30px;height:30px;border-radius:50%;background:var(--primary-color);opacity:.3;filter:blur(6px);z-index:-1}[data-color-mode=gradient] .slider-thumb-glow[data-v-ce9499e1],[data-color-mode=advanced-gradient] .slider-thumb-glow[data-v-ce9499e1]{background:var(--gradient-primary)}.slider-ticks[data-v-ce9499e1]{position:relative;height:16px;margin-top:4px}.tick[data-v-ce9499e1]{position:absolute;top:0;width:1px;height:6px;background:var(--border-color)}.tick .tick-label[data-v-ce9499e1]{position:absolute;top:8px;left:50%;transform:translate(-50%);font-size:10px;color:var(--text-tertiary)}.custom-checkbox[data-v-b26500e8]{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;position:relative}.custom-checkbox.disabled[data-v-b26500e8]{cursor:not-allowed;opacity:.6}.checkbox-input[data-v-b26500e8]{position:absolute;opacity:0;width:0;height:0}.checkbox-control[data-v-b26500e8]{position:relative;width:20px;height:20px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.custom-checkbox:hover .checkbox-control[data-v-b26500e8]{border-color:var(--primary-color)}.custom-checkbox.checked .checkbox-control[data-v-b26500e8]{background:var(--primary-color);border-color:var(--primary-color)}[data-color-mode=gradient] .custom-checkbox.checked .checkbox-control[data-v-b26500e8],[data-color-mode=advanced-gradient] .custom-checkbox.checked .checkbox-control[data-v-b26500e8]{background:var(--gradient-primary);border-color:var(--primary-color)}.checkbox-checkmark[data-v-b26500e8]{opacity:0;transform:scale(.5);transition:all .2s ease;color:#fff}.custom-checkbox.checked .checkbox-checkmark[data-v-b26500e8]{opacity:1;transform:scale(1)}.checkbox-label[data-v-b26500e8]{font-size:14px;color:var(--text-primary);font-weight:500;transition:color .2s ease}.custom-checkbox.disabled .checkbox-label[data-v-b26500e8]{color:var(--text-tertiary)}.custom-checkbox:focus-within .checkbox-control[data-v-b26500e8]{box-shadow:0 0 0 3px #3b82f61a}@keyframes checkmark-b26500e8{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.custom-checkbox.checked .checkbox-checkmark[data-v-b26500e8]{animation:checkmark-b26500e8 .2s ease}.horizontal-slider[data-v-2a867b89]{position:relative;width:100%;-webkit-user-select:none;user-select:none}.horizontal-slider.is-disabled[data-v-2a867b89]{opacity:.5;pointer-events:none}.slider-track[data-v-2a867b89]{position:relative;display:flex;align-items:center;background:var(--bg-tertiary);border-radius:var(--radius);padding:4px;overflow:hidden}.slider-indicator[data-v-2a867b89]{position:absolute;top:4px;left:0;height:calc(100% - 8px);background:var(--primary-color);border-radius:calc(var(--radius) - 4px);transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1);z-index:1}.slider-option[data-v-2a867b89]{position:relative;flex:1;text-align:center;padding:8px 12px;font-size:14px;color:var(--text-secondary);cursor:pointer;transition:color .2s ease;z-index:2}.slider-option[data-v-2a867b89]:hover{color:var(--text-primary)}.slider-option.is-active[data-v-2a867b89]{color:#fff;font-weight:500}[data-theme=dark] .slider-track[data-v-2a867b89]{background:#ffffff1a}[data-theme=dark] .slider-option[data-v-2a867b89]{color:#ffffffb3}[data-theme=dark] .slider-option[data-v-2a867b89]:hover{color:#ffffffe6}[data-theme=dark] .slider-option.is-active[data-v-2a867b89]{color:#fff}.horizontal-slider:not(.is-disabled) .slider-indicator[data-v-2a867b89]{transition:left .3s cubic-bezier(.4,0,.2,1),width .3s cubic-bezier(.4,0,.2,1)}@media (max-width: 768px){.slider-option[data-v-2a867b89]{padding:6px 8px;font-size:13px}}[data-v-1d7083d6] .settings-section:first-child{max-height:70vh;overflow-y:auto;padding-right:16px;padding-left:16px;width:100%;min-width:300px;box-sizing:border-box}[data-v-1d7083d6] .settings-section:first-child::-webkit-scrollbar{width:6px}[data-v-1d7083d6] .settings-section:first-child::-webkit-scrollbar-track{background:transparent}[data-v-1d7083d6] .settings-section:first-child::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}[data-v-1d7083d6] .settings-section:first-child::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}[data-v-1d7083d6] .modal-content{overflow-y:hidden!important}[data-v-1d7083d6] .modal-content .settings-section:first-child{max-height:65vh;min-width:300px}.settings-section[data-v-1d7083d6]{margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--border-color)}.settings-section[data-v-1d7083d6]:last-child{border-bottom:none}.section-title[data-v-1d7083d6]{margin:0 0 16px;font-size:16px;font-weight:600;color:var(--text-primary)}.form-group[data-v-1d7083d6]{margin-bottom:20px}.form-group label[data-v-1d7083d6]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.form-hint[data-v-1d7083d6]{font-size:12px;color:var(--text-tertiary);margin-top:4px}.theme-tabs[data-v-1d7083d6]{display:flex;gap:8px;margin-bottom:24px;border-bottom:2px solid var(--border-color);padding-bottom:8px}.theme-tab[data-v-1d7083d6]{padding:8px 16px;border:none;border-radius:6px 6px 0 0;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.theme-tab[data-v-1d7083d6]:hover{color:var(--primary-color);background:var(--bg-hover)}.theme-tab.active[data-v-1d7083d6]{color:var(--primary-color);background:var(--bg-secondary);border-bottom:2px solid var(--primary-color);margin-bottom:-10px}.theme-tab-content[data-v-1d7083d6]{animation:fadeIn-1d7083d6 .3s ease}@keyframes fadeIn-1d7083d6{0%{opacity:0;transform:translateY(-5px)}to{opacity:1;transform:translateY(0)}}.preset-themes-grid[data-v-1d7083d6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:16px}.preset-theme-card[data-v-1d7083d6]{cursor:pointer;transition:all .2s ease;border-radius:8px;overflow:hidden;border:2px solid var(--border-color)}.preset-theme-card[data-v-1d7083d6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.preset-theme-card.active[data-v-1d7083d6]{border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color)}.preset-theme-preview[data-v-1d7083d6]{width:100%;height:100px;display:flex;flex-direction:column;padding:10px;gap:8px;border-radius:6px;overflow:hidden}.preview-header[data-v-1d7083d6]{display:flex;flex-direction:column;gap:2px;padding-bottom:6px;border-bottom:1px solid var(--preview-border)}.preview-title[data-v-1d7083d6]{font-size:14px;font-weight:600}.preview-subtitle[data-v-1d7083d6]{font-size:11px}.preview-content[data-v-1d7083d6]{flex:1;display:flex;align-items:center;justify-content:center}.preview-card[data-v-1d7083d6]{width:70%;padding:6px 10px;border-radius:4px;border:1px solid;text-align:center}.preview-card-text[data-v-1d7083d6]{font-size:12px}.preset-theme-info[data-v-1d7083d6]{padding:8px;text-align:center}.preset-theme-name[data-v-1d7083d6]{font-size:12px;font-weight:500;color:var(--text-primary)}.color-picker-group[data-v-1d7083d6]{display:flex;align-items:center;gap:12px}.color-picker[data-v-1d7083d6]{width:40px;height:40px;border:none;border-radius:8px;cursor:pointer}.color-presets[data-v-1d7083d6]{display:flex;gap:8px}.color-preset[data-v-1d7083d6]{width:24px;height:24px;border-radius:6px;cursor:pointer;border:2px solid var(--border-color);transition:transform .2s ease}.color-preset[data-v-1d7083d6]:hover{transform:scale(1.1)}.option-buttons[data-v-1d7083d6]{display:flex;gap:8px;flex-wrap:wrap}.option-btn[data-v-1d7083d6]{padding:8px 16px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:14px}.option-btn[data-v-1d7083d6]:hover{border-color:var(--primary-color);color:var(--primary-color)}.option-btn.active[data-v-1d7083d6]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.settings-actions[data-v-1d7083d6]{display:flex;justify-content:center;margin-top:24px}.slider[data-v-1d7083d6]{width:100%;height:6px;border-radius:3px;background:var(--bg-tertiary);outline:none;-webkit-appearance:none}.slider[data-v-1d7083d6]::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0003}.slider[data-v-1d7083d6]::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #0003}.slider-value[data-v-1d7083d6]{text-align:center;margin-top:8px;font-size:12px;color:var(--text-secondary)}.font-select-container[data-v-1d7083d6]{position:relative}.font-loading-indicator[data-v-1d7083d6]{position:absolute;top:100%;left:0;right:0;margin-top:4px;padding:4px 8px;background:var(--bg-secondary);border-radius:var(--radius);font-size:12px;color:var(--text-secondary);z-index:10}.loading-text[data-v-1d7083d6]{display:flex;align-items:center;gap:4px}.loading-text[data-v-1d7083d6]:before{content:"";width:12px;height:12px;border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;animation:spin-1d7083d6 1s linear infinite}@keyframes spin-1d7083d6{to{transform:rotate(360deg)}}.font-preview[data-v-1d7083d6]{margin-top:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius);font-size:16px;color:var(--text-primary);text-align:center;transition:all var(--duration-fast) var(--ease-in-out)}.font-preview[data-v-1d7083d6]:hover{border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.ai-color-generator[data-v-1d7083d6]{margin-top:12px}.ai-input-group[data-v-1d7083d6]{display:flex;gap:8px;margin-bottom:12px}.ai-prompt-input[data-v-1d7083d6]{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.ai-prompt-input[data-v-1d7083d6]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.ai-prompt-input[data-v-1d7083d6]::placeholder{color:var(--text-tertiary)}.ai-generate-btn[data-v-1d7083d6]{padding:8px 16px;border:none;border-radius:6px;background:var(--primary-color);color:#fff;font-size:14px;cursor:pointer;transition:all .2s ease;min-width:80px}.ai-generate-btn[data-v-1d7083d6]:hover:not(:disabled){background:var(--primary-color);opacity:.9;transform:translateY(-1px)}.ai-generate-btn[data-v-1d7083d6]:disabled{background:var(--text-tertiary);cursor:not-allowed;transform:none}.ai-color-preview[data-v-1d7083d6]{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;animation:slideIn-1d7083d6 .3s ease}@keyframes slideIn-1d7083d6{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.preview-colors[data-v-1d7083d6]{display:flex;gap:16px;margin-bottom:16px;align-items:center}.preview-color-item[data-v-1d7083d6]{display:flex;flex-direction:column;align-items:center;gap:8px}.preview-color[data-v-1d7083d6]{width:60px;height:60px;border-radius:8px;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a}.preview-gradient[data-v-1d7083d6]{width:120px;height:60px;border-radius:8px;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a}.gradient-color-codes[data-v-1d7083d6]{display:flex;flex-direction:column;gap:4px;align-items:center}.color-code[data-v-1d7083d6]{font-size:12px;color:var(--text-secondary);font-family:monospace;background:var(--bg-tertiary);padding:4px 8px;border-radius:4px}.color-label[data-v-1d7083d6]{font-size:12px;color:var(--text-secondary)}.preview-theme-colors[data-v-1d7083d6]{display:flex;flex-direction:column;gap:12px}.preview-color-row[data-v-1d7083d6]{display:flex;gap:16px;justify-content:center}.preview-actions[data-v-1d7083d6]{display:flex;gap:8px;justify-content:center}.apply-btn[data-v-1d7083d6]{background:var(--primary-color);color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.apply-btn[data-v-1d7083d6]:hover{opacity:.9;transform:translateY(-1px)}.cancel-btn[data-v-1d7083d6]{background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;transition:all .2s ease}.cancel-btn[data-v-1d7083d6]:hover{background:var(--bg-secondary);border-color:var(--text-tertiary)}.gradient-color-count[data-v-1d7083d6]{display:flex;align-items:center;gap:16px}.color-count-controls[data-v-1d7083d6]{display:flex;align-items:center;gap:12px}.color-count-btn[data-v-1d7083d6]{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.color-count-btn[data-v-1d7083d6]:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);transform:scale(1.05)}.color-count-btn[data-v-1d7083d6]:active:not(:disabled){transform:scale(.95)}.color-count-btn[data-v-1d7083d6]:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary);color:var(--text-tertiary)}.color-count-btn svg[data-v-1d7083d6]{transition:transform .2s ease}.color-count-btn:hover:not(:disabled) svg[data-v-1d7083d6]{transform:scale(1.1)}.color-count-display[data-v-1d7083d6]{font-size:14px;color:var(--text-secondary);min-width:60px;text-align:center;padding:8px 12px;background:var(--bg-tertiary);border-radius:6px;font-weight:500}.custom-angle-control[data-v-1d7083d6]{display:flex;align-items:center;gap:16px}.angle-display[data-v-1d7083d6]{font-size:14px;color:var(--text-secondary);min-width:50px;text-align:center;padding:4px 8px;background:var(--bg-tertiary);border-radius:4px;font-weight:500}.advanced-gradient-colors[data-v-1d7083d6]{display:flex;flex-direction:column;gap:16px}.gradient-color-item[data-v-1d7083d6]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;transition:all .2s ease}.gradient-color-item[data-v-1d7083d6]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.color-label[data-v-1d7083d6]{font-size:14px;color:var(--text-secondary);min-width:40px;text-align:center;font-weight:500}.gradient-preview-container[data-v-1d7083d6]{display:flex;flex-direction:column;gap:12px}.gradient-preview[data-v-1d7083d6]{width:100%;height:80px;border-radius:8px;border:2px solid var(--border-color);box-shadow:0 2px 8px #0000001a}.gradient-css-code[data-v-1d7083d6]{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;font-family:monospace;font-size:12px;color:var(--text-secondary);word-break:break-all}.gradient-css-code code[data-v-1d7083d6]{background:none;padding:0}@media (max-width: 768px){.preset-themes-grid[data-v-1d7083d6]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.option-buttons[data-v-1d7083d6]{justify-content:center}.ai-input-group[data-v-1d7083d6]{flex-direction:column}.preview-colors[data-v-1d7083d6]{flex-direction:column;gap:12px}.preview-actions[data-v-1d7083d6]{flex-direction:column}.color-count-controls[data-v-1d7083d6]{flex-direction:column;gap:8px}.gradient-color-item[data-v-1d7083d6]{flex-direction:column;text-align:center}.color-label[data-v-1d7083d6]{min-width:auto}}.floating-ball[data-v-8a471627]{position:fixed;width:50px;height:50px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color, #ec4899),var(--secondary-color, #3b82f6));color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:1000;box-shadow:0 4px 15px #0003;transition:all .3s cubic-bezier(.25,.8,.25,1);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;touch-action:none}.floating-ball[data-v-8a471627]:hover{transform:scale(1.1);box-shadow:0 6px 20px #0000004d}.floating-ball.mobile[data-v-8a471627]:active{transform:scale(.95);box-shadow:0 2px 10px #0003}.floating-ball.expanded[data-v-8a471627]{width:200px;height:50px;border-radius:25px;padding:0 15px;cursor:default}.floating-ball.mobile.expanded[data-v-8a471627]{width:180px}.floating-ball-icon[data-v-8a471627]{display:flex;align-items:center;justify-content:center;width:100%;height:100%;transition:all .3s cubic-bezier(.25,.8,.25,1)}.floating-ball.expanded .floating-ball-icon[data-v-8a471627]{margin-right:10px;width:auto;height:auto}.tools-dropdown[data-v-8a471627]{position:absolute;top:60px;left:0;width:100%;background:#fff;border-radius:12px;box-shadow:0 6px 20px #00000026;overflow:hidden;z-index:1001;opacity:0;transform:translateY(-10px);visibility:hidden;transition:all .3s cubic-bezier(.25,.8,.25,1)}.floating-ball.mobile .tools-dropdown[data-v-8a471627]{width:180px;max-width:90vw;box-shadow:0 8px 25px #0003}.floating-ball.expanded .tools-dropdown[data-v-8a471627]{opacity:1;transform:translateY(0);visibility:visible}.tools-list[data-v-8a471627]{display:flex;flex-direction:column;gap:2px;padding:8px 0}.tool-item[data-v-8a471627]{padding:12px 15px;cursor:pointer;border-radius:8px;transition:all .2s ease;font-size:14px;color:#333;text-align:left;white-space:nowrap;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent;position:relative}.tool-item[data-v-8a471627]:hover{background-color:#f5f5f5;transform:translate(5px)}.floating-ball.mobile .tool-item[data-v-8a471627]{padding:14px 15px;min-height:44px;display:flex;align-items:center}.floating-ball.mobile .tool-item[data-v-8a471627]:active{background-color:#e8e8e8;transform:translate(3px)}.floating-ball.mobile .tool-item[data-v-8a471627]:after{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#0000001a;transform:translate(-50%,-50%);transition:width .3s,height .3s}.floating-ball.mobile .tool-item[data-v-8a471627]:active:after{width:100%;height:100%}.theme-dark .floating-ball[data-v-8a471627]{background:linear-gradient(135deg,var(--primary-color-dark, #c0399d),var(--secondary-color-dark, #2c6cb0))}.theme-dark .tools-dropdown[data-v-8a471627]{background:#2d2d2d;box-shadow:0 6px 20px #0000004d}.theme-dark .tool-item[data-v-8a471627]{color:#ddd}.theme-dark .tool-item[data-v-8a471627]:hover{background-color:#444}body[data-color-mode=single] .floating-ball[data-v-8a471627],body[data-color-mode=single].theme-dark .floating-ball[data-v-8a471627]{background:var(--primary-color, #ec4899)}body[data-color-mode=dual] .floating-ball[data-v-8a471627],body[data-color-mode=dual].theme-dark .floating-ball[data-v-8a471627]{background:linear-gradient(135deg,var(--primary-color, #ec4899),var(--secondary-color, #3b82f6))}body[data-color-mode=gradient] .floating-ball[data-v-8a471627],body[data-color-mode=advanced-gradient] .floating-ball[data-v-8a471627],body[data-color-mode=gradient].theme-dark .floating-ball[data-v-8a471627],body[data-color-mode=advanced-gradient].theme-dark .floating-ball[data-v-8a471627]{background:var(--gradient-primary, linear-gradient(135deg, #ec4899 0%, #3b82f6 100%))}.floating-ball[data-v-8a471627]{z-index:9999}.icon-wrapper[data-v-40cd572b]{display:inline-block;vertical-align:middle;line-height:1}.icon-wrapper[data-v-40cd572b] svg{width:100%;height:100%;display:block}.music-login-modal-overlay[data-v-ebc3c728]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10003;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-ebc3c728 .3s ease}.music-login-modal-content[data-v-ebc3c728]{width:90%;max-width:400px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-ebc3c728 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.music-login-header[data-v-ebc3c728]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.music-login-header h3[data-v-ebc3c728]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.close-btn[data-v-ebc3c728]{background:#fff3;border:none;color:#fff;font-size:1.5em;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-btn[data-v-ebc3c728]:hover{background:#ffffff4d;transform:scale(1.1)}.music-login-body[data-v-ebc3c728]{flex:1;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.login-tabs[data-v-ebc3c728]{display:flex;background:var(--bg-secondary);border-radius:12px;padding:.25rem;border:1px solid var(--border-color)}.login-tab[data-v-ebc3c728]{flex:1;padding:.75rem;border:none;background:transparent;color:var(--text-secondary);border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500}.login-tab.active[data-v-ebc3c728]{background:var(--bg-primary);color:var(--primary-color);box-shadow:0 2px 8px #0000001a}.qrcode-login[data-v-ebc3c728]{display:flex;flex-direction:column;align-items:center;gap:1rem}.qrcode-container[data-v-ebc3c728]{width:200px;height:200px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:var(--bg-secondary);border:1px solid var(--border-color);position:relative}.qrcode-loading[data-v-ebc3c728],.qrcode-scanned[data-v-ebc3c728],.qrcode-expired[data-v-ebc3c728],.qrcode-error[data-v-ebc3c728]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:1rem;text-align:center}.qrcode-wrapper[data-v-ebc3c728]{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center}.qrcode-image[data-v-ebc3c728]{width:180px;height:180px;display:flex;align-items:center;justify-content:center}.qrcode-image[data-v-ebc3c728] img{width:100%;height:100%;object-fit:contain;border-radius:8px}.qrcode-tip[data-v-ebc3c728]{margin:0;font-size:.9rem;color:var(--text-secondary);text-align:center}.loading-spinner[data-v-ebc3c728]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-ebc3c728 1s linear infinite}.scanned-icon[data-v-ebc3c728]{width:60px;height:60px;background:var(--primary-color);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2rem;font-weight:700}.refresh-btn[data-v-ebc3c728]{padding:.5rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease}.refresh-btn[data-v-ebc3c728]:hover{background:var(--primary-hover)}.phone-login[data-v-ebc3c728]{display:flex;flex-direction:column;gap:1rem}.phone-input-group[data-v-ebc3c728]{display:flex;gap:.5rem}.phone-input[data-v-ebc3c728]{flex:1;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.phone-input[data-v-ebc3c728]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.send-code-btn[data-v-ebc3c728]{padding:.75rem 1rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-weight:500;white-space:nowrap}.send-code-btn[data-v-ebc3c728]:hover:not(:disabled){background:var(--primary-hover)}.send-code-btn[data-v-ebc3c728]:disabled{opacity:.6;cursor:not-allowed}.code-input-group[data-v-ebc3c728]{display:flex}.code-input[data-v-ebc3c728]{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:8px;font-size:1rem;outline:none;transition:all .3s ease;background:var(--bg-secondary);color:var(--text-primary)}.code-input[data-v-ebc3c728]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1)}.login-btn[data-v-ebc3c728]{padding:.875rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:600}.login-btn[data-v-ebc3c728]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.login-btn[data-v-ebc3c728]:disabled{opacity:.6;cursor:not-allowed;transform:none}.login-message[data-v-ebc3c728]{padding:.75rem;border-radius:8px;text-align:center;font-size:.9rem;white-space:pre-line;max-width:100%;word-wrap:break-word}.login-message.info[data-v-ebc3c728]{background:rgba(var(--primary-color-rgb),.1);color:var(--primary-color);border:1px solid rgba(var(--primary-color-rgb),.2)}.login-message.success[data-v-ebc3c728]{background:#4caf501a;color:#4caf50;border:1px solid rgba(76,175,80,.2)}.login-message.error[data-v-ebc3c728]{background:#f443361a;color:#f44336;border:1px solid rgba(244,67,54,.2)}@keyframes fadeIn-ebc3c728{0%{opacity:0}to{opacity:1}}@keyframes slideUpScale-ebc3c728{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes spin-ebc3c728{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.immersive-player[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;z-index:10001;display:flex;flex-direction:column;animation:immersiveFadeIn-d40aaff3 .5s ease}.immersive-close-btn[data-v-d40aaff3]{position:absolute;top:1.5rem;right:1.5rem;width:40px;height:40px;background:#00000080;border:none;border-radius:50%;color:#ffffffb3;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:all .2s ease;z-index:100}.immersive-player:hover .immersive-close-btn[data-v-d40aaff3]{opacity:1}.immersive-close-btn[data-v-d40aaff3]:hover{background:#000000b3;color:#fff;transform:scale(1.1)}@keyframes immersiveFadeIn-d40aaff3{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.immersive-background[data-v-d40aaff3]{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;display:block;object-fit:cover}.immersive-content[data-v-d40aaff3]{flex:1;display:flex;padding:2rem 2rem 6rem;gap:3rem;max-width:1400px;margin:0 auto;width:100%;z-index:10;position:relative}.immersive-left[data-v-d40aaff3]{flex:0 0 400px;display:flex;flex-direction:column;align-items:center;gap:2rem}.immersive-cover-container[data-v-d40aaff3]{position:relative;width:320px;height:320px;border-radius:20px;overflow:hidden;box-shadow:0 20px 60px #0000004d;transition:transform .3s ease}.immersive-cover-container[data-v-d40aaff3]:hover{transform:scale(1.02)}.immersive-cover[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.immersive-song-info[data-v-d40aaff3]{position:absolute;bottom:0;left:0;right:0;padding:1.5rem;background:transparent;color:#fff;text-align:left}.immersive-song-name[data-v-d40aaff3]{font-size:1.2rem;font-weight:600;margin:0 0 .25rem;text-shadow:0 1px 3px rgba(0,0,0,.5);line-height:1.3}.immersive-artist-name[data-v-d40aaff3]{font-size:.9rem;font-weight:400;margin:0 0 .1rem;opacity:.8;text-shadow:0 1px 2px rgba(0,0,0,.5)}.immersive-album-name[data-v-d40aaff3]{font-size:.8rem;font-weight:300;margin:0;opacity:.6;text-shadow:0 1px 2px rgba(0,0,0,.5)}.immersive-right[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.immersive-controls-vertical[data-v-d40aaff3]{width:320px;display:flex;flex-direction:column;gap:1.5rem;padding:1rem 0}.control-buttons[data-v-d40aaff3]{display:flex;justify-content:center;align-items:center;gap:2rem}.control-btn[data-v-d40aaff3]{background:none;border:none;color:#fffc;cursor:pointer;transition:all .2s ease;padding:0;border-radius:0;display:flex;align-items:center;justify-content:center}.control-btn[data-v-d40aaff3]:hover{color:#fff;transform:scale(1.1)}.control-btn[data-v-d40aaff3]:active{transform:scale(.95)}.control-btn.play-pause[data-v-d40aaff3]{margin:0 .5rem}.control-btn.play-pause[data-v-d40aaff3]:hover{transform:scale(1.05)}.control-btn svg[data-v-d40aaff3]{filter:drop-shadow(0 1px 2px rgba(0,0,0,.3))}.progress-section[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;width:100%;padding:1rem 0;margin:0 .5rem}.progress-time[data-v-d40aaff3]{font-size:.75rem;color:#ffffffb3;font-weight:500;min-width:3.2rem;text-align:center;font-variant-numeric:tabular-nums;letter-spacing:.02em}.progress-track[data-v-d40aaff3]{flex:1;position:relative;height:6px;background:#fff3;border-radius:3px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:inset 0 1px 2px #0000001a}.progress-track[data-v-d40aaff3]:hover{height:10px;background:#ffffff40;box-shadow:inset 0 1px 3px #00000026}.progress-track[data-v-d40aaff3]:active{height:12px;background:#ffffff4d;box-shadow:inset 0 1px 4px #0003}.progress-buffer[data-v-d40aaff3]{position:absolute;left:0;top:0;height:100%;background:#ffffff26;border-radius:3px;transition:width .3s ease}.progress-current[data-v-d40aaff3]{position:absolute;left:0;top:0;height:100%;background:#ffffffe6;border-radius:3px;transition:width .12s cubic-bezier(.25,.46,.45,.94);min-width:2px;box-shadow:0 1px 3px #0000001a}.progress-track:hover .progress-current[data-v-d40aaff3]{background:#fffffff2;box-shadow:0 0 12px #fff6}.progress-track:active .progress-current[data-v-d40aaff3]{background:#fff;box-shadow:0 0 16px #fff9}.progress-thumb[data-v-d40aaff3]{position:absolute;top:50%;transform:translate(-50%,-50%) scale(0);width:14px;height:14px;background:#fff;border-radius:50%;box-shadow:0 2px 10px #0000004d;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.progress-track:hover .progress-thumb[data-v-d40aaff3]{transform:translate(-50%,-50%) scale(1)}.progress-track:active .progress-thumb[data-v-d40aaff3]{transform:translate(-50%,-50%) scale(1.15);width:16px;height:16px;box-shadow:0 4px 16px #0006}.translation-control[data-v-d40aaff3]{display:flex;justify-content:center}.translation-btn[data-v-d40aaff3]{background:none;border:1px solid rgba(255,255,255,.3);color:#ffffffb3;padding:.5rem 1rem;border-radius:16px;font-size:.8rem;cursor:pointer;transition:all .2s ease}.translation-btn[data-v-d40aaff3]:hover{border-color:#ffffff80;color:#fff;background:#ffffff1a}.lyrics-container[data-v-d40aaff3]{flex:1;overflow:hidden;position:relative;padding:2rem 0}.lyrics-scroll[data-v-d40aaff3]{display:flex;flex-direction:column;padding-left:2rem;padding-right:2rem;padding-top:15vh;padding-bottom:85vh;transform:translateY(0);transition:transform .5s cubic-bezier(.25,.46,.45,.94);max-width:calc(100% - 2rem);will-change:transform}.lyric-line[data-v-d40aaff3]{cursor:pointer;transition:all .3s ease;height:5rem;min-height:5rem;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:.8rem 1.2rem;border-radius:8px;width:100%;max-width:100%;text-align:left;opacity:.5;transform:scale(.9);overflow:hidden}.lyric-text[data-v-d40aaff3]{font-size:1.4rem;font-weight:300;color:#ffffffb3;text-shadow:0 1px 3px rgba(0,0,0,.3);line-height:1.3;transition:all .3s ease;word-wrap:break-word;overflow-wrap:break-word;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.lyric-translation[data-v-d40aaff3]{font-size:1.1rem;font-weight:300;color:#fff6;text-shadow:0 1px 2px rgba(0,0,0,.3);line-height:1.2;margin-top:.2rem;font-style:italic;transition:all .3s ease;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;position:relative;z-index:1}.lyric-roma[data-v-d40aaff3]{font-style:normal;font-family:Arial,Helvetica,sans-serif;letter-spacing:.05em}.lyric-line.active[data-v-d40aaff3]{opacity:1;transform:scale(1.1);height:5.5rem;min-height:5.5rem}.lyric-line.has-translation[data-v-d40aaff3]{height:6rem;min-height:6rem}.lyric-line.active.has-translation[data-v-d40aaff3]{height:6.5rem;min-height:6.5rem}.lyric-line.empty-line[data-v-d40aaff3]{opacity:.3}.lyric-line.empty-line.active[data-v-d40aaff3]{opacity:.6}.lyric-line.user-scrolling[data-v-d40aaff3]{opacity:.9!important;transform:scale(1)!important;height:5rem!important;min-height:5rem!important;transition:all .2s ease!important}.lyric-line.user-scrolling.has-translation[data-v-d40aaff3]{height:6rem!important;min-height:6rem!important}.lyric-line.user-scrolling:not(.active) .lyric-text[data-v-d40aaff3]{color:#ffffffb3!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.lyric-line.user-scrolling:not(.active) .lyric-translation[data-v-d40aaff3]{color:#ffffff80!important;text-shadow:0 1px 2px rgba(0,0,0,.3)!important}.lyric-line.user-scrolling.active .lyric-text[data-v-d40aaff3]{color:#fffffff2!important;text-shadow:0 2px 6px rgba(0,0,0,.4)!important;font-weight:500!important}.lyric-line.user-scrolling.active .lyric-translation[data-v-d40aaff3]{color:#ffffffbf!important;text-shadow:0 1px 3px rgba(0,0,0,.4)!important}.lyric-line[data-v-d40aaff3]:hover{background:#0003;border-radius:8px;transition:all .2s ease}.lyric-line.user-scrolling[data-v-d40aaff3]:hover{background:#0000004d!important}.lyric-line.active[data-v-d40aaff3]:hover{background:#00000026}.lyric-line.empty-line .lyric-text[data-v-d40aaff3]{color:#fff6;font-style:italic}.lyric-translation.approximate[data-v-d40aaff3]{opacity:.7;border-left:2px solid rgba(255,255,255,.3);padding-left:.5rem}.lyric-line.active .lyric-text[data-v-d40aaff3]{color:#fff;font-weight:400;text-shadow:0 1px 5px rgba(0,0,0,.3);-webkit-line-clamp:2;transform:scale(1.1);transform-origin:center}.lyric-line.active .lyric-translation[data-v-d40aaff3]{color:#fffc;-webkit-line-clamp:1}.lyric-line.prev[data-v-d40aaff3]{opacity:.7;transform:scale(.98)}.lyric-line.prev .lyric-text[data-v-d40aaff3]{font-size:1.5rem;color:#fffc}.lyric-line.prev .lyric-translation[data-v-d40aaff3]{color:#fff9;font-size:1.1rem}.lyric-line.next[data-v-d40aaff3]{opacity:.7;transform:scale(.98)}.lyric-line.next .lyric-text[data-v-d40aaff3]{font-size:1.5rem;color:#fffc}.lyric-line.next .lyric-translation[data-v-d40aaff3]{color:#fff9;font-size:1.1rem}.lyrics-controls[data-v-d40aaff3]{display:flex;justify-content:center;align-items:center}.lyrics-control-btn[data-v-d40aaff3]{padding:.5rem 1rem;background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;border-radius:20px;cursor:pointer;transition:all .3s ease;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);font-size:.8rem;font-weight:500;white-space:nowrap}.lyrics-control-btn[data-v-d40aaff3]:hover{background:#ffffff40;transform:scale(1.05)}@media (max-width: 1024px){.lyric-line[data-v-d40aaff3]{max-width:90%;height:3.2rem}.lyric-line.active[data-v-d40aaff3]{height:3.6rem}.lyric-text[data-v-d40aaff3]{font-size:1.4rem}.lyric-line.active .lyric-text[data-v-d40aaff3]{font-size:1.6rem}.lyric-line.prev .lyric-text[data-v-d40aaff3],.lyric-line.next .lyric-text[data-v-d40aaff3]{font-size:1.3rem}.lyric-translation[data-v-d40aaff3]{font-size:1.1rem}.lyric-line.active .lyric-translation[data-v-d40aaff3]{font-size:1.2rem}.lyric-line.prev .lyric-translation[data-v-d40aaff3],.lyric-line.next .lyric-translation[data-v-d40aaff3]{font-size:1rem}}.immersive-controls[data-v-d40aaff3]{position:fixed;bottom:0;left:0;right:0;display:flex;align-items:center;gap:1.5rem;padding:.75rem 2rem;background:#000000b3;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);border-radius:15px 15px 0 0;max-width:100%;width:100%;box-shadow:0 -4px 20px #0000004d;z-index:100}.immersive-controls-fade-enter-active[data-v-d40aaff3],.immersive-controls-fade-leave-active[data-v-d40aaff3]{transition:all .3s ease}.immersive-controls-fade-enter-from[data-v-d40aaff3],.immersive-controls-fade-leave-to[data-v-d40aaff3]{opacity:0;transform:translateY(20px)}.immersive-progress[data-v-d40aaff3]{flex:1;display:flex;align-items:center;gap:.75rem;color:#ffffffe6;font-size:.8rem}.progress-bar[data-v-d40aaff3]{flex:1;height:2px;background:#fff3;border-radius:1px;cursor:pointer;position:relative;overflow:hidden}.progress-fill[data-v-d40aaff3]{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--primary-hover));border-radius:2px;transition:width .1s ease}.immersive-buttons[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem}.immersive-btn[data-v-d40aaff3]{background:#ffffff26;border:1px solid rgba(255,255,255,.25);color:#fff;width:36px;height:36px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-sizing:border-box}.immersive-btn[data-v-d40aaff3]:hover{background:#ffffff40;transform:scale(1.05)}.immersive-btn.play-pause[data-v-d40aaff3]{width:44px;height:44px;background:#fff3;border:1px solid rgba(255,255,255,.3)}.immersive-btn.play-pause[data-v-d40aaff3]:hover{background:#ffffff4d;transform:scale(1.05)}.immersive-exit[data-v-d40aaff3]{display:flex;align-items:center}.exit-btn[data-v-d40aaff3]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.exit-btn[data-v-d40aaff3]:hover{background:#ff43364d;border-color:#ff433680;transform:scale(1.05)}.immersive-btn.play-pause[data-v-d40aaff3]{width:64px;height:64px;background:var(--primary-color);border:none}.immersive-btn.play-pause[data-v-d40aaff3]:hover{background:var(--primary-hover)}.exit-btn[data-v-d40aaff3]{background:#ff4336cc;border:none}.exit-btn[data-v-d40aaff3]:hover{background:#ff4336}@media (max-width: 1024px){.immersive-content[data-v-d40aaff3]{flex-direction:column;padding:1rem}.immersive-left[data-v-d40aaff3]{flex:none;width:100%;max-width:300px;margin:0 auto}.immersive-cover-container[data-v-d40aaff3]{width:250px;height:250px}.immersive-song-name[data-v-d40aaff3]{font-size:1.5rem}.immersive-controls[data-v-d40aaff3]{padding:.5rem 1rem;gap:1rem}}.music-player-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,var(--modal-backdrop-opacity, .7));display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;transform:scale(.9);transition:all .4s cubic-bezier(.68,-.55,.265,1.55);backdrop-filter:blur(var(--modal-backdrop-blur, 8px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 8px))}.music-player-modal-overlay[style*="display: block"][data-v-d40aaff3],.music-player-modal-overlay[data-v-d40aaff3]:not([style*="display: none"]){opacity:1;transform:scale(1)}.music-player-modal-content[data-v-d40aaff3]{width:90%;max-width:1200px;height:95%;max-height:1000px;background:var(--bg-primary);border-radius:2rem;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000026;overflow:hidden;transform:translateY(-50px);transition:all .5s cubic-bezier(.68,-.55,.265,1.55);border:1px solid var(--border-color)}.music-player-modal-overlay[style*="display: block"] .music-player-modal-content[data-v-d40aaff3],.music-player-modal-overlay:not([style*="display: none"]) .music-player-modal-content[data-v-d40aaff3]{transform:translateY(0)}.music-player-modal-content[data-v-d40aaff3]{animation:modalPopIn-d40aaff3 .6s cubic-bezier(.68,-.55,.265,1.55)}@keyframes modalPopIn-d40aaff3{0%{transform:scale(.8) translateY(-60px);opacity:0}60%{transform:scale(1.05) translateY(10px);opacity:1}to{transform:scale(1) translateY(0)}}.theme-dark .music-player-modal-content[data-v-d40aaff3]{background:var(--bg-secondary);color:var(--text-primary)}.music-player-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--gradient-primary);color:#fff;border-radius:2rem 2rem 0 0;flex-shrink:0;gap:1rem}.header-left[data-v-d40aaff3]{display:flex;align-items:center;min-width:120px}.header-center[data-v-d40aaff3]{flex:1;display:flex;align-items:center;justify-content:center;gap:.5rem;max-width:600px}.header-right[data-v-d40aaff3]{display:flex;align-items:center;min-width:50px;justify-content:flex-end;gap:.75rem}.theme-dark .music-player-header[data-v-d40aaff3]{border-bottom:1px solid var(--border-color)}.music-player-header h3[data-v-d40aaff3]{margin:0;font-size:1.2em;color:#fff}.close-btn[data-v-d40aaff3]{background:#fff3;border:none;color:#fff;font-size:1.5em;cursor:pointer;width:36px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease}.close-btn[data-v-d40aaff3]:hover{background:#ffffff4d;transform:scale(1.1)}.music-player-body[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-secondary)}.theme-dark .music-player-body[data-v-d40aaff3]{background:var(--bg-tertiary)}.search-input-wrapper[data-v-d40aaff3]{display:flex;gap:8px;flex:1;min-width:0}.search-input[data-v-d40aaff3]{flex:1;padding:.6rem 1rem;border:1px solid rgba(255,255,255,.3);border-radius:1.5rem;font-size:.9em;outline:none;transition:all .3s cubic-bezier(.4,0,.2,1);background:#ffffff1a;color:#fff;min-width:0}.search-input[data-v-d40aaff3]::placeholder{color:#ffffffb3}.search-input[data-v-d40aaff3]:focus{border-color:#ffffff80;box-shadow:0 0 0 3px #ffffff1a;background:#ffffff26}.search-input[data-v-d40aaff3]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb),.1);transform:translateY(-1px)}.search-btn[data-v-d40aaff3]{padding:.6rem 1.2rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:1.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-weight:500;font-size:.9em;white-space:nowrap}.search-btn[data-v-d40aaff3]:hover{background:#ffffff4d;border-color:#ffffff80}.search-btn[data-v-d40aaff3]:hover{background:var(--primary-hover)}.playlist-section[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:10px}.playlist-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.playlist-header h4[data-v-d40aaff3]{margin:0;font-size:1em;color:var(--text-primary)}.playlist-controls[data-v-d40aaff3]{display:flex;gap:10px}.view-toggle-btn[data-v-d40aaff3]{padding:5px 10px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.9em;transition:all .2s}.view-toggle-btn[data-v-d40aaff3]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.playlist-container[data-v-d40aaff3]{flex:1;overflow-y:auto;max-height:none;min-height:200px}.playlist-container.expanded[data-v-d40aaff3]{height:400px;min-height:300px}.playlist-item[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1rem;border-radius:1rem;margin-bottom:.5rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-tertiary);border:1px solid transparent}.playlist-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translate(4px);border-color:var(--border-color)}.playlist-item.playing[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border-color:var(--primary-color);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3)}.song-info[data-v-d40aaff3]{flex:1;overflow:hidden;margin-right:10px}.song-title[data-v-d40aaff3]{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-artist[data-v-d40aaff3]{font-size:.7em;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-name.clickable[data-v-d40aaff3]{cursor:pointer;color:var(--primary-color, #4a90e2);transition:color .2s ease}.artist-name.clickable[data-v-d40aaff3]:hover{color:var(--primary-hover, #357abd);text-decoration:underline}.song-duration[data-v-d40aaff3]{font-size:.75em;opacity:.7;min-width:40px;text-align:right}.player-controls[data-v-d40aaff3]{padding:.75rem 1.5rem;border-top:1px solid var(--border-color);background:var(--bg-primary);display:flex;flex-direction:column;gap:.5rem;min-height:100px;border-radius:0 0 2rem 2rem;flex-shrink:0}.current-song-info[data-v-d40aaff3]{display:flex;align-items:center;gap:12px}.song-image[data-v-d40aaff3]{width:56px;height:56px;border-radius:8px;overflow:hidden;flex-shrink:0;box-shadow:0 4px 8px #0000001a;border:1px solid var(--border-color)}.song-image img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.song-details[data-v-d40aaff3]{flex:1;overflow:hidden}.song-name[data-v-d40aaff3]{font-weight:600;font-size:1em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-artist[data-v-d40aaff3]{font-size:.8em;opacity:.7;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-button-container[data-v-d40aaff3]{position:relative;display:flex;align-items:center}.playlist-button[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-tertiary);border:2px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a;position:relative}.playlist-button[data-v-d40aaff3]:hover{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border-color:var(--primary-color);transform:scale(1.1);box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.4)}.playlist-button.active[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border-color:var(--primary-color)}.playlist-count[data-v-d40aaff3]{position:absolute;top:-5px;right:-5px;background:var(--primary-color);color:#fff;font-size:.7rem;font-weight:700;padding:2px 5px;border-radius:10px;min-width:18px;text-align:center;box-shadow:0 2px 4px #0003}.playlist-menu[data-v-d40aaff3]{position:fixed;bottom:80px;right:20px;width:400px;max-height:60vh;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0003;z-index:10000;overflow:hidden;animation:slideUp-d40aaff3 .3s ease-out}@keyframes slideUp-d40aaff3{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.playlist-menu-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.playlist-menu-header h4[data-v-d40aaff3]{margin:0;font-size:1rem;color:var(--text-primary)}.playlist-menu-controls[data-v-d40aaff3]{display:flex;gap:8px}.clear-playlist-btn[data-v-d40aaff3],.close-playlist-menu-btn[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;position:relative}.clear-playlist-btn[data-v-d40aaff3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:#dc35451a;transform:scale(0);transition:transform .2s ease}.clear-playlist-btn[data-v-d40aaff3]:hover:not(:disabled){color:#dc3545}.clear-playlist-btn[data-v-d40aaff3]:hover:not(:disabled):after{transform:scale(1)}.clear-playlist-btn[data-v-d40aaff3]:disabled{opacity:.4;cursor:not-allowed}.close-playlist-menu-btn[data-v-d40aaff3]:hover{background:#0000001a;color:var(--text-primary)}.playlist-menu-content[data-v-d40aaff3]{max-height:400px;overflow-y:auto}.empty-playlist[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center}.empty-playlist-icon[data-v-d40aaff3]{color:var(--text-muted);margin-bottom:16px}.empty-playlist p[data-v-d40aaff3]{margin:0 0 8px;color:var(--text-secondary)}.empty-playlist-hint[data-v-d40aaff3]{font-size:.85rem;color:var(--text-muted)}.playlist-menu-items[data-v-d40aaff3]{padding:8px 0}.playlist-menu-item[data-v-d40aaff3]{display:flex;align-items:center;padding:8px 16px;cursor:pointer;transition:all .2s ease;position:relative}.playlist-menu-item[data-v-d40aaff3]:hover{background:var(--bg-hover)}.playlist-menu-item.playing[data-v-d40aaff3]{background:rgba(var(--primary-color-rgb),.1);color:var(--primary-color)}.playlist-menu-item.loading[data-v-d40aaff3]{opacity:.7}.playlist-menu-item.current-song-highlight[data-v-d40aaff3]{background:rgba(var(--primary-color-rgb),.2);border-left:3px solid var(--primary-color);animation:highlightPulse-d40aaff3 2s ease-out}@keyframes highlightPulse-d40aaff3{0%{background:rgba(var(--primary-color-rgb),.4);transform:translate(5px)}to{background:rgba(var(--primary-color-rgb),.2);transform:translate(0)}}.playlist-item-info[data-v-d40aaff3]{display:flex;align-items:center;flex:1;overflow:hidden}.playlist-item-index[data-v-d40aaff3]{width:24px;text-align:center;font-size:.85rem;color:var(--text-muted);margin-right:12px;flex-shrink:0}.playlist-item-cover[data-v-d40aaff3]{width:40px;height:40px;border-radius:6px;overflow:hidden;margin-right:12px;flex-shrink:0}.playlist-item-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.playlist-item-details[data-v-d40aaff3]{flex:1;overflow:hidden;min-width:0}.playlist-item-title[data-v-d40aaff3]{font-weight:500;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.playlist-item-artist[data-v-d40aaff3]{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-item-actions[data-v-d40aaff3]{display:flex;align-items:center;gap:8px;margin-left:12px}.playlist-item-loader[data-v-d40aaff3]{width:16px;height:16px}.playlist-item-remove-btn[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:transparent;border:none;color:var(--text-muted);cursor:pointer;transition:all .2s ease;opacity:0}.playlist-menu-item:hover .playlist-item-remove-btn[data-v-d40aaff3]{opacity:1}.playlist-item-remove-btn[data-v-d40aaff3]:hover{background:#dc35451a;color:#dc3545}.playlist-item-duration[data-v-d40aaff3]{font-size:.8rem;color:var(--text-muted);min-width:40px;text-align:right}.playlist-item-drag-handle[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;color:var(--text-muted);cursor:grab;opacity:0;transition:opacity .2s ease;margin-left:4px}.playlist-menu-item:hover .playlist-item-drag-handle[data-v-d40aaff3]{opacity:1}.playlist-item-drag-handle[data-v-d40aaff3]:active{cursor:grabbing}.playlist-menu-content[data-v-d40aaff3]::-webkit-scrollbar{width:6px}.playlist-menu-content[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-secondary)}.playlist-menu-content[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.playlist-menu-content[data-v-d40aaff3]::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.empty-search-state[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;height:100%}.empty-search-icon[data-v-d40aaff3]{color:var(--text-muted);margin-bottom:20px;opacity:.6}.empty-search-state p[data-v-d40aaff3]{margin:0 0 8px;color:var(--text-secondary);font-size:1rem}.empty-search-hint[data-v-d40aaff3]{font-size:.9rem;color:var(--text-muted)}.loading-container[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;height:100%}.music-loader[data-v-d40aaff3]{display:flex;gap:4px;margin-bottom:20px}.loader-bar[data-v-d40aaff3]{width:4px;height:32px;background:var(--primary-color);border-radius:2px;animation:loadingWave-d40aaff3 1.4s ease-in-out infinite}.loader-bar[data-v-d40aaff3]:nth-child(1){animation-delay:0s}.loader-bar[data-v-d40aaff3]:nth-child(2){animation-delay:.2s}.loader-bar[data-v-d40aaff3]:nth-child(3){animation-delay:.4s}.loader-bar[data-v-d40aaff3]:nth-child(4){animation-delay:.6s}@keyframes loadingWave-d40aaff3{0%,80%,to{transform:scaleY(.4);opacity:.5}40%{transform:scaleY(1);opacity:1}}.loading-text[data-v-d40aaff3]{color:var(--text-secondary);font-size:1rem;margin:0}.playlist-loading .music-loader .loader-bar[data-v-d40aaff3],.artist-loading .music-loader .loader-bar[data-v-d40aaff3],.album-loading .music-loader .loader-bar[data-v-d40aaff3]{background:var(--primary-color);box-shadow:0 0 10px rgba(var(--primary-color-rgb, 74, 144, 226),.3)}.loading-progress[data-v-d40aaff3]{position:relative;width:200px;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-top:16px}.loading-progress-bar[data-v-d40aaff3]{height:100%;background:var(--primary-color);border-radius:2px;animation:progressAnimation-d40aaff3 2s ease-in-out infinite}@keyframes progressAnimation-d40aaff3{0%{width:0%;opacity:.8}50%{width:70%;opacity:1}to{width:100%;opacity:.8}}@media (max-width: 768px){.playlist-menu[data-v-d40aaff3]{width:calc(100vw - 40px);max-width:400px;right:20px;bottom:70px;max-height:50vh}}@media (max-width: 480px){.playlist-menu[data-v-d40aaff3]{width:calc(100vw - 20px);right:10px;bottom:60px;max-height:45vh}}.progress-container[data-v-d40aaff3]{display:flex;align-items:center;gap:10px}.time-display[data-v-d40aaff3]{font-size:.8em;min-width:40px;text-align:center;color:var(--text-secondary)}.progress-slider[data-v-d40aaff3]{flex:1;height:8px;border-radius:1rem;background:var(--bg-tertiary);outline:none;-webkit-appearance:none;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.progress-slider[data-v-d40aaff3]:hover{height:10px;background:linear-gradient(90deg,var(--bg-tertiary),var(--bg-hover))}.progress-slider[data-v-d40aaff3]::-webkit-slider-thumb{-webkit-appearance:none;width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.4);border:2px solid white}.progress-slider[data-v-d40aaff3]::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 6px 16px rgba(var(--primary-color-rgb),.6)}.progress-slider[data-v-d40aaff3]::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));cursor:pointer;border:none;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.4);border:2px solid white}.progress-slider[data-v-d40aaff3]::-moz-range-thumb:hover{transform:scale(1.2);box-shadow:0 6px 16px rgba(var(--primary-color-rgb),.6)}.player-controls-main[data-v-d40aaff3]{display:flex;justify-content:center;align-items:center;width:100%;position:relative}.control-buttons[data-v-d40aaff3]{display:flex;justify-content:center;align-items:center;gap:16px}.control-btn[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:42px;height:42px;border-radius:50%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 6px #ffffff14}.control-btn[data-v-d40aaff3]:hover:not(:disabled){background:linear-gradient(135deg,var(--primary-color),var(--primary-color-dark));color:#fff;border-color:var(--primary-color);transform:scale(1.1);box-shadow:0 4px 16px rgba(var(--primary-color-rgb),.4)}.control-btn[data-v-d40aaff3]:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}.control-btn.large[data-v-d40aaff3]{width:52px;height:52px;box-shadow:0 3px 10px #0000001f}.play-mode-wrapper[data-v-d40aaff3]{position:absolute;right:20px;top:46%;height:8%;display:flex;align-items:center}.play-mode-btn[data-v-d40aaff3]{position:relative}.play-mode-btn[data-v-d40aaff3]:after{content:attr(title);position:absolute;bottom:-30px;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:4px 8px;border-radius:4px;font-size:12px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.play-mode-btn[data-v-d40aaff3]:hover:after{opacity:1}.play-mode-tooltip[data-v-d40aaff3]{position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%);background:var(--primary-color, #4a90e2);color:#fff;padding:6px 12px;border-radius:6px;font-size:14px;font-weight:500;white-space:nowrap;z-index:1000;animation:tooltipFadeIn-d40aaff3 .3s ease;box-shadow:0 4px 12px #00000026;pointer-events:none}.play-mode-tooltip[data-v-d40aaff3]:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:6px solid transparent;border-top-color:var(--primary-color, #4a90e2)}@keyframes fadeInUp-d40aaff3{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.play-mode-tooltip[data-v-d40aaff3]{animation:tooltipFadeIn-d40aaff3 .3s ease}@keyframes tooltipFadeIn-d40aaff3{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.volume-control[data-v-d40aaff3]{display:flex;align-items:center;gap:10px;padding-top:10px;border-top:1px solid var(--border-color)}.volume-slider[data-v-d40aaff3]{flex:1;height:5px;border-radius:5px;background:var(--bg-tertiary);outline:none;-webkit-appearance:none}.volume-slider[data-v-d40aaff3]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer}.volume-slider[data-v-d40aaff3]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none}.playlist-container[data-v-d40aaff3]::-webkit-scrollbar{width:6px}.playlist-container[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:3px}.playlist-container[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:var(--primary-color);border-radius:3px}.playlist-container[data-v-d40aaff3]::-webkit-scrollbar-thumb:hover{background:var(--primary-hover)}.theme-dark .playlist-container[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-secondary)}@media (max-width: 600px){.music-player-modal-content[data-v-d40aaff3]{width:95%;height:90%}.music-player-header[data-v-d40aaff3]{padding:.75rem 1rem;flex-wrap:wrap}.header-left[data-v-d40aaff3]{order:1;min-width:auto}.header-center[data-v-d40aaff3]{order:3;width:100%;margin-top:.5rem;max-width:none}.header-right[data-v-d40aaff3]{order:2;min-width:auto}.search-input[data-v-d40aaff3],.search-btn[data-v-d40aaff3],.dropdown-trigger[data-v-d40aaff3]{padding:.5rem .75rem;font-size:.85em}.current-song-info[data-v-d40aaff3]{flex-direction:column;text-align:center}.song-image[data-v-d40aaff3]{width:60px;height:60px}.control-buttons[data-v-d40aaff3]{gap:40px}.playlist-container.expanded[data-v-d40aaff3]{height:300px;min-height:200px}.apple-watch-layout[data-v-d40aaff3]{min-height:400px}.apple-watch-layout .grid-song-info[data-v-d40aaff3]{width:100px}}@media (max-width: 768px){.header-center[data-v-d40aaff3]{max-width:400px}.search-input[data-v-d40aaff3]::placeholder{font-size:.85em}.apple-watch-layout[data-v-d40aaff3]{min-height:350px}}@media (max-width: 900px){.header-center[data-v-d40aaff3]{max-width:500px}.apple-watch-layout[data-v-d40aaff3]{min-height:400px}}@media (min-width: 1200px){.apple-watch-layout[data-v-d40aaff3]{min-height:600px}}@media (max-width: 768px){.header-center[data-v-d40aaff3]{max-width:400px}.search-input[data-v-d40aaff3]::placeholder{font-size:.85em}}@media (max-width: 900px){.header-center[data-v-d40aaff3]{max-width:500px}}.song-actions[data-v-d40aaff3]{display:flex;align-items:center;gap:8px}.add-to-playlist-btn[data-v-d40aaff3],.play-song-btn[data-v-d40aaff3]{width:24px;height:24px;border-radius:4px;border:none;background:var(--bg-tertiary);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1)}.add-to-playlist-btn[data-v-d40aaff3]:hover,.play-song-btn[data-v-d40aaff3]:hover{background:var(--primary-color);color:#fff;transform:scale(1.2);transition:all .3s cubic-bezier(.4,0,.2,1)}.add-to-playlist-btn[data-v-d40aaff3]:disabled,.play-song-btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed;transform:none}.playlist-item[data-v-d40aaff3]{animation:fadeInUp-d40aaff3 .4s ease-out;animation-fill-mode:both}@keyframes fadeInUp-d40aaff3{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.control-btn[data-v-d40aaff3]{transition:all .3s cubic-bezier(.4,0,.2,1)!important}.control-btn[data-v-d40aaff3]:hover:not(:disabled){transform:scale(1.1)!important;transition:all .3s cubic-bezier(.4,0,.2,1)!important}.search-btn[data-v-d40aaff3]{transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.search-btn[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .6s}.search-btn[data-v-d40aaff3]:hover:before{left:100%}.search-btn[data-v-d40aaff3]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.search-loader[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.loader-circle[data-v-d40aaff3]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-d40aaff3 1s linear infinite}.loading-container[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;height:100%;min-height:200px}.music-loader[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;gap:4px;margin-bottom:16px}.loader-bar[data-v-d40aaff3]{width:4px;height:24px;background:var(--primary-color);border-radius:2px;animation:musicLoader-d40aaff3 1.2s ease-in-out infinite}.loader-bar[data-v-d40aaff3]:nth-child(1){animation-delay:-.4s}.loader-bar[data-v-d40aaff3]:nth-child(2){animation-delay:-.2s}.loader-bar[data-v-d40aaff3]:nth-child(3){animation-delay:0s}.loader-bar[data-v-d40aaff3]:nth-child(4){animation-delay:.2s}@keyframes musicLoader-d40aaff3{0%,40%,to{transform:scaleY(.4);opacity:.5}20%{transform:scaleY(1);opacity:1}}.loading-text[data-v-d40aaff3]{color:var(--text-secondary);font-size:14px;margin:0;animation:fadeInOut-d40aaff3 1.5s ease-in-out infinite}@keyframes fadeInOut-d40aaff3{0%,to{opacity:.6}50%{opacity:1}}.playlist-item.loading[data-v-d40aaff3]{background:var(--bg-hover);border:1px solid var(--primary-color)}.song-loader[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;width:24px;height:24px}.mini-loader[data-v-d40aaff3]{width:16px;height:16px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-d40aaff3 .8s linear infinite}.image-loader-overlay[data-v-d40aaff3]{position:absolute;top:0;left:0;width:100%;height:100%;background:#00000080;display:flex;align-items:center;justify-content:center;border-radius:var(--radius)}.image-loader[data-v-d40aaff3]{width:24px;height:24px;border:3px solid rgba(255,255,255,.3);border-top:3px solid white;border-radius:50%;animation:spin-d40aaff3 1s linear infinite}.loading-status[data-v-d40aaff3]{display:flex;align-items:center;gap:8px;margin-top:4px;color:var(--text-secondary);font-size:12px}.loading-dots[data-v-d40aaff3]{display:flex;gap:2px}.loading-dots span[data-v-d40aaff3]{width:4px;height:4px;background:var(--primary-color);border-radius:50%;animation:loadingDot-d40aaff3 1.4s ease-in-out infinite}.loading-dots span[data-v-d40aaff3]:nth-child(1){animation-delay:-.32s}.loading-dots span[data-v-d40aaff3]:nth-child(2){animation-delay:-.16s}.loading-dots span[data-v-d40aaff3]:nth-child(3){animation-delay:0s}@keyframes loadingDot-d40aaff3{0%,80%,to{transform:scale(.8);opacity:.5}40%{transform:scale(1.2);opacity:1}}.loading-message[data-v-d40aaff3]{animation:fadeInOut-d40aaff3 1.5s ease-in-out infinite}.search-input[data-v-d40aaff3]:disabled{opacity:.6;cursor:not-allowed}.search-btn[data-v-d40aaff3]:disabled{opacity:.7;cursor:not-allowed;transform:none}.search-btn[data-v-d40aaff3]:disabled:hover{transform:none;box-shadow:none}.artist-name[data-v-d40aaff3]{color:var(--primary-color);cursor:pointer;text-decoration:none;transition:all .2s ease}.artist-name[data-v-d40aaff3]:hover{text-decoration:underline;opacity:.8}.artist-separator[data-v-d40aaff3]{color:var(--text-secondary);cursor:default}.artist-detail-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10001;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-d40aaff3 .3s ease}.artist-detail-modal-content[data-v-d40aaff3]{width:90%;max-width:800px;max-height:85vh;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-d40aaff3 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.artist-detail-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.artist-detail-header h3[data-v-d40aaff3]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.artist-detail-body[data-v-d40aaff3]{flex:1;overflow-y:auto;padding:2rem;scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--bg-hover)}.artist-detail-body[data-v-d40aaff3]::-webkit-scrollbar{width:8px}.artist-detail-body[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.artist-detail-body[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:10px}.artist-basic-info[data-v-d40aaff3]{display:flex;gap:2rem;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:16px;box-shadow:0 8px 32px #0000001a;border:1px solid var(--border-color);position:relative;overflow:hidden}.artist-basic-info[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--primary-color));animation:shimmer-d40aaff3 3s ease-in-out infinite}.artist-tabs[data-v-d40aaff3]{display:flex;gap:.5rem;margin-bottom:2rem;padding:.5rem;background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color)}.artist-tab[data-v-d40aaff3]{padding:.875rem 2rem;border:none;background:transparent;color:var(--text-secondary);border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.95rem;font-weight:600;position:relative;overflow:hidden}.artist-tab[data-v-d40aaff3]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));opacity:0;transition:opacity .3s ease;border-radius:12px}.artist-tab[data-v-d40aaff3]:hover{color:var(--text-primary);transform:translateY(-2px)}.artist-tab[data-v-d40aaff3]:hover:before{opacity:.1}.artist-tab.active[data-v-d40aaff3]{color:#fff;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.3);transform:translateY(-2px)}.artist-tab.active[data-v-d40aaff3]:before{opacity:1}.artist-tab span[data-v-d40aaff3]{position:relative;z-index:1}.artist-avatar[data-v-d40aaff3]{flex-shrink:0;width:140px;height:140px;border-radius:20px;overflow:hidden;box-shadow:0 10px 30px #0003;position:relative;transition:all .3s ease;border:3px solid var(--bg-primary)}.artist-avatar[data-v-d40aaff3]:hover{transform:scale(1.05) rotate(2deg);box-shadow:0 15px 40px #0000004d}.artist-avatar[data-v-d40aaff3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.2));pointer-events:none}.artist-avatar img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.artist-avatar:hover img[data-v-d40aaff3]{transform:scale(1.1)}.artist-details[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.artist-details .artist-name[data-v-d40aaff3]{font-size:2.2rem;font-weight:800;color:var(--text-primary);margin:0 0 .75rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer-d40aaff3 3s ease-in-out infinite}.artist-description[data-v-d40aaff3]{color:var(--text-secondary);margin:.75rem 0 1.5rem;line-height:1.6;font-size:1rem;padding:1rem;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.artist-stats[data-v-d40aaff3]{display:flex;gap:2rem;margin-bottom:1rem;flex-wrap:wrap}.artist-meta[data-v-d40aaff3]{margin-top:1rem;display:flex;gap:.75rem;flex-wrap:wrap}.identify-tag[data-v-d40aaff3]{display:inline-block;padding:.5rem 1.25rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-radius:20px;font-size:.85rem;font-weight:600;box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.3);transition:all .3s ease;position:relative;overflow:hidden}.identify-tag[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.identify-tag[data-v-d40aaff3]:hover{transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.4)}.identify-tag[data-v-d40aaff3]:hover:before{left:100%}.artist-section[data-v-d40aaff3]{margin-bottom:2.5rem}.artist-section h3[data-v-d40aaff3]{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 1.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:12px;border-left:4px solid var(--primary-color)}.artist-section h3[data-v-d40aaff3]{padding-left:.5rem;border-left:3px solid var(--primary-color)}.artist-songs-list[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.75rem}.artist-song-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.25rem;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-primary);border:1px solid var(--border-color);position:relative;overflow:hidden}.artist-song-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));opacity:0;transition:opacity .3s ease;border-radius:16px}.artist-song-item[data-v-d40aaff3]:hover{transform:translate(8px) scale(1.02);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.artist-song-item[data-v-d40aaff3]:hover:before{opacity:.05}.artist-song-item[data-v-d40aaff3]:active{transform:translate(8px) scale(.98)}.song-index[data-v-d40aaff3]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:12px;color:var(--text-secondary);font-weight:600;font-size:.9rem;border:1px solid var(--border-color);position:relative;z-index:1;transition:all .3s ease}.artist-song-item:hover .song-index[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);transform:scale(1.1)}.song-cover[data-v-d40aaff3]{flex-shrink:0;width:60px;height:60px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;position:relative;z-index:1;transition:all .3s ease}.artist-song-item:hover .song-cover[data-v-d40aaff3]{transform:scale(1.1) rotate(3deg);box-shadow:0 8px 20px #0003}.song-cover[data-v-d40aaff3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.3));border-radius:12px;opacity:0;transition:opacity .3s ease}.artist-song-item:hover .song-cover[data-v-d40aaff3]:after{opacity:1}.song-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.artist-song-item:hover .song-cover img[data-v-d40aaff3]{transform:scale(1.1)}.artist-song-item .song-info[data-v-d40aaff3]{flex:1;min-width:0;position:relative;z-index:1}.artist-song-item .song-title[data-v-d40aaff3]{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem;margin-bottom:.25rem;transition:color .3s ease}.artist-song-item:hover .song-title[data-v-d40aaff3]{color:var(--primary-color)}.artist-song-item .song-album[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-song-item .song-album[data-v-d40aaff3]{padding-left:.5rem;border-left:2px solid var(--border-color)}.artist-song-item .song-duration[data-v-d40aaff3]{color:var(--text-secondary);font-size:.9rem;background:var(--bg-secondary);padding:.375rem .75rem;border-radius:8px;border:1px solid var(--border-color);position:relative;z-index:1;transition:all .3s ease}.artist-song-item:hover .song-duration[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);transform:scale(1.05)}.artist-song-item.no-cover[data-v-d40aaff3]{gap:1rem;padding:.875rem 1.125rem}.artist-song-item.no-cover .song-index[data-v-d40aaff3]{width:32px;height:32px;font-size:.85rem}.artist-song-item.no-cover .song-info-full[data-v-d40aaff3]{flex:1;min-width:0;position:relative;z-index:1}.artist-song-item.no-cover .song-title[data-v-d40aaff3]{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.25rem;font-size:.95rem}.artist-song-item.no-cover .song-album[data-v-d40aaff3]{color:var(--text-secondary);font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.artist-song-item.no-cover .song-duration[data-v-d40aaff3]{font-size:.85rem;padding:.25rem .625rem}.artist-song-item.no-cover[data-v-d40aaff3]:hover{transform:translate(6px) scale(1.01)}.artist-albums-list[data-v-d40aaff3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.artist-album-item[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;border-radius:var(--radius-md);background:var(--bg-secondary);transition:all .2s ease}.artist-album-item[data-v-d40aaff3]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.album-cover[data-v-d40aaff3]{width:100%;aspect-ratio:1;border-radius:var(--radius-sm);overflow:hidden}.album-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.album-info[data-v-d40aaff3]{text-align:center}.album-name[data-v-d40aaff3]{font-weight:500;color:var(--text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-date[data-v-d40aaff3],.album-size[data-v-d40aaff3]{font-size:.8rem;color:var(--text-secondary)}.search-type-dropdown[data-v-d40aaff3]{position:relative}.dropdown-trigger[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem;padding:.6rem 1rem;background:#fff3;color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:2rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);font-size:.9rem;font-weight:500;white-space:nowrap}.dropdown-trigger[data-v-d40aaff3]:hover{background:#ffffff4d;border-color:#ffffff80;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.dropdown-trigger svg[data-v-d40aaff3]{transition:transform .3s cubic-bezier(.4,0,.2,1)}.dropdown-trigger svg.dropdown-open[data-v-d40aaff3]{transform:rotate(180deg)}.dropdown-menu[data-v-d40aaff3]{position:absolute;top:calc(100% + .5rem);left:0;right:0;background:var(--primary-color);border:1px solid rgba(255,255,255,.2);border-radius:1rem;box-shadow:0 8px 24px #0000004d;z-index:1000;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:dropdownSlideIn-d40aaff3 .3s cubic-bezier(.4,0,.2,1)}@keyframes dropdownSlideIn-d40aaff3{0%{opacity:0;transform:translateY(-10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dropdown-item[data-v-d40aaff3]{padding:.875rem 1.25rem;cursor:pointer;transition:all .2s ease;font-size:.9rem;position:relative;color:#fff}.dropdown-item[data-v-d40aaff3]:hover{background:#ffffff26;padding-left:1.5rem}.dropdown-item.active[data-v-d40aaff3]{background:#ffffff40;color:#fff;font-weight:600}.dropdown-item.active[data-v-d40aaff3]:before{content:"✓";position:absolute;right:1.25rem;font-weight:700}.dropdown-item[data-v-d40aaff3]:first-child{border-radius:1rem 1rem 0 0}.dropdown-item[data-v-d40aaff3]:last-child{border-radius:0 0 1rem 1rem}.song-search-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border:1px solid var(--border-color);position:relative;overflow:hidden}.song-search-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent,rgba(var(--primary-color-rgb),.05));opacity:0;transition:opacity .3s ease;pointer-events:none}.song-search-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translateY(-2px) scale(1.01);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.song-search-item[data-v-d40aaff3]:hover:before{opacity:1}.song-search-item.playing[data-v-d40aaff3]{background:linear-gradient(135deg,rgba(var(--primary-color-rgb),.1),rgba(var(--primary-color-rgb),.05));border-left:3px solid var(--primary-color);box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.2)}.song-search-item.playing[data-v-d40aaff3]:after{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:linear-gradient(180deg,var(--primary-color),var(--primary-color-light));animation:pulse-d40aaff3 2s infinite}.song-cover-container[data-v-d40aaff3]{flex-shrink:0}.song-cover-rounded[data-v-d40aaff3]{width:56px;height:56px;border-radius:16px;overflow:hidden;position:relative;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1)}.song-search-item:hover .song-cover-rounded[data-v-d40aaff3]{transform:scale(1.05);box-shadow:0 6px 20px #0003;transition:all .3s ease;cursor:pointer}.song-cover-rounded[data-v-d40aaff3]:hover{transform:scale(1.05);box-shadow:0 4px 12px #00000026}.song-cover-rounded img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.song-cover-rounded.default-cover[data-v-d40aaff3]{background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.play-overlay[data-v-d40aaff3]{position:absolute;top:0;left:0;width:100%;height:100%;background:#0006;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff}.song-cover-rounded:hover .play-overlay[data-v-d40aaff3]{opacity:1}.song-info-container[data-v-d40aaff3]{flex:1;min-width:0;display:flex;flex-direction:column;gap:.25rem}.song-search-item .song-title[data-v-d40aaff3]{font-weight:600;color:var(--text-primary);cursor:pointer;transition:all .3s ease;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.05em}.song-search-item .song-title[data-v-d40aaff3]:hover{color:var(--primary-color);transform:translate(2px)}.song-search-item .song-artist[data-v-d40aaff3]{font-size:.9em;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.song-search-item:hover .song-artist[data-v-d40aaff3]{color:var(--text-primary)}.song-search-item .song-album[data-v-d40aaff3]{font-size:.85em;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .3s ease}.song-search-item:hover .song-album[data-v-d40aaff3]{color:var(--text-secondary)}.song-actions-right[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.song-search-item .song-duration[data-v-d40aaff3]{font-size:.85rem;color:var(--text-secondary);min-width:40px;text-align:right}.like-btn[data-v-d40aaff3]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin-right:.5rem}.like-btn[data-v-d40aaff3]:hover{background:#f443361a;color:var(--danger-color);transform:scale(1.1)}.like-btn.liked[data-v-d40aaff3]{color:var(--danger-color)}.like-btn.liked[data-v-d40aaff3]:hover{background:#f4433633}.playlist-result-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);position:relative;overflow:hidden}.playlist-result-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent,rgba(var(--primary-color-rgb),.05));opacity:0;transition:opacity .3s ease;pointer-events:none}.playlist-result-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translateY(-2px) scale(1.01);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.playlist-result-item[data-v-d40aaff3]:hover:before{opacity:1}.playlist-cover[data-v-d40aaff3]{flex-shrink:0;width:64px;height:64px;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.playlist-result-item:hover .playlist-cover[data-v-d40aaff3]{transform:scale(1.05);box-shadow:0 6px 20px #0003}.playlist-cover[data-v-d40aaff3]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(var(--primary-color-rgb),.1),transparent);opacity:0;transition:opacity .3s ease}.playlist-result-item:hover .playlist-cover[data-v-d40aaff3]:after{opacity:1}.playlist-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.playlist-name[data-v-d40aaff3]{font-weight:700;color:var(--text-primary);margin-bottom:.5rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1.05em;transition:color .3s ease}.playlist-result-item:hover .playlist-name[data-v-d40aaff3]{color:var(--primary-color)}.playlist-description[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);margin-bottom:.75rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;line-height:1.4;transition:color .3s ease}.playlist-result-item:hover .playlist-description[data-v-d40aaff3]{color:var(--text-primary)}.playlist-meta[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--text-muted)}.playlist-creator[data-v-d40aaff3]{font-weight:500}.artist-result-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);position:relative;overflow:hidden}.artist-result-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent,rgba(var(--primary-color-rgb),.05));opacity:0;transition:opacity .3s ease;pointer-events:none}.artist-result-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translateY(-2px) scale(1.01);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.artist-result-item[data-v-d40aaff3]:hover:before{opacity:1}.artist-avatar-small[data-v-d40aaff3]{flex-shrink:0;width:56px;height:56px;border-radius:50%;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.artist-result-item:hover .artist-avatar-small[data-v-d40aaff3]{transform:scale(1.05);box-shadow:0 6px 20px #0003}.artist-avatar-small[data-v-d40aaff3]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:50%;border:2px solid transparent;background:linear-gradient(45deg,var(--primary-color),var(--primary-color-light)) border-box;-webkit-mask:linear-gradient(#fff 0 0) padding-box,linear-gradient(#fff 0 0);-webkit-mask-composite:destination-out;mask-composite:exclude;opacity:0;transition:opacity .3s ease}.artist-result-item:hover .artist-avatar-small[data-v-d40aaff3]:after{opacity:1}.artist-avatar-small img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.artist-info-small[data-v-d40aaff3]{flex:1}.artist-name-small[data-v-d40aaff3]{font-weight:700;color:var(--text-primary);margin-bottom:.5rem;font-size:1.1em;transition:color .3s ease}.artist-result-item:hover .artist-name-small[data-v-d40aaff3]{color:var(--primary-color)}.artist-stats-small[data-v-d40aaff3]{display:flex;gap:1rem;font-size:.85rem;color:var(--text-secondary);transition:color .3s ease}.artist-result-item:hover .artist-stats-small[data-v-d40aaff3]{color:var(--text-primary)}.artist-stats-small span[data-v-d40aaff3]{padding:2px 8px;background:rgba(var(--primary-color-rgb),.1);border-radius:12px;font-weight:500;transition:all .3s ease}.artist-result-item:hover .artist-stats-small span[data-v-d40aaff3]{background:rgba(var(--primary-color-rgb),.2)}.album-result-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:1rem;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-secondary);border-radius:16px;border:1px solid var(--border-color);position:relative;overflow:hidden}.album-result-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,transparent,rgba(var(--primary-color-rgb),.05));opacity:0;transition:opacity .3s ease;pointer-events:none}.album-result-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translateY(-2px) scale(1.01);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.album-result-item[data-v-d40aaff3]:hover:before{opacity:1}.album-cover-small[data-v-d40aaff3]{flex-shrink:0;width:56px;height:56px;border-radius:16px;overflow:hidden;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative}.album-result-item:hover .album-cover-small[data-v-d40aaff3]{transform:scale(1.05);box-shadow:0 6px 20px #0003}.album-cover-small[data-v-d40aaff3]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(var(--primary-color-rgb),.1),transparent);opacity:0;transition:opacity .3s ease}.album-result-item:hover .album-cover-small[data-v-d40aaff3]:after{opacity:1}.album-cover-small img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.album-info-small[data-v-d40aaff3]{flex:1}.album-name-small[data-v-d40aaff3]{font-weight:700;color:var(--text-primary);margin-bottom:.5rem;font-size:1.05em;transition:color .3s ease}.album-result-item:hover .album-name-small[data-v-d40aaff3]{color:var(--primary-color)}.album-artist-small[data-v-d40aaff3]{font-size:.95rem;color:var(--text-secondary);margin-bottom:.5rem;transition:color .3s ease}.album-result-item:hover .album-artist-small[data-v-d40aaff3]{color:var(--text-primary)}.album-meta-small[data-v-d40aaff3]{display:flex;gap:1rem;font-size:.85rem;color:var(--text-muted);transition:color .3s ease}.album-result-item:hover .album-meta-small[data-v-d40aaff3]{color:var(--text-secondary)}.album-meta-small span[data-v-d40aaff3]{padding:2px 8px;background:rgba(var(--primary-color-rgb),.1);border-radius:12px;font-weight:500;transition:all .3s ease}.album-result-item:hover .album-meta-small span[data-v-d40aaff3]{background:rgba(var(--primary-color-rgb),.2)}.playlist-detail-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-d40aaff3 .3s ease}.playlist-detail-modal-content[data-v-d40aaff3]{width:90%;max-width:900px;max-height:85vh;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-d40aaff3 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.playlist-detail-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.playlist-detail-header h3[data-v-d40aaff3]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.playlist-detail-body[data-v-d40aaff3]{flex:1;overflow-y:auto;padding:2rem;scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--bg-hover)}.playlist-detail-body[data-v-d40aaff3]::-webkit-scrollbar{width:8px}.playlist-detail-body[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.playlist-detail-body[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:10px}.playlist-info-section[data-v-d40aaff3]{margin-bottom:2rem}.playlist-basic-info[data-v-d40aaff3]{display:flex;gap:2rem;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:16px;box-shadow:0 8px 32px #0000001a;border:1px solid var(--border-color)}.playlist-cover-large[data-v-d40aaff3]{flex-shrink:0;width:180px;height:180px;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px #0003;border:3px solid var(--bg-primary)}.playlist-cover-large img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.playlist-cover-large:hover img[data-v-d40aaff3]{transform:scale(1.1)}.playlist-details[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;justify-content:center;min-width:0}.playlist-details .playlist-name[data-v-d40aaff3]{font-size:2rem;font-weight:800;color:var(--text-primary);margin:0 0 .75rem;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;line-height:1.2}.playlist-details .playlist-creator[data-v-d40aaff3]{font-size:1rem;color:var(--text-secondary);margin:0 0 .5rem;word-break:break-word;overflow-wrap:break-word}.playlist-details .playlist-description[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);margin:0 0 1rem;line-height:1.6;max-height:4.8em;overflow-y:auto;padding-right:.5em;word-break:break-word;overflow-wrap:break-word;-webkit-hyphens:auto;hyphens:auto}.playlist-stats[data-v-d40aaff3]{display:flex;gap:1rem;margin-top:.5rem}.playlist-stats .stat-item[data-v-d40aaff3]{padding:.5rem 1rem;background:var(--bg-primary);border-radius:12px;font-size:.9rem;color:var(--text-primary);border:1px solid var(--border-color)}.playlist-tags[data-v-d40aaff3]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:1rem}.playlist-tags .tag-item[data-v-d40aaff3]{padding:.4rem .8rem;background:var(--primary-color);color:#fff;border-radius:12px;font-size:.85rem}.playlist-songs-section h3[data-v-d40aaff3]{margin:0 0 1rem;color:var(--text-primary);font-size:1.2rem;font-weight:600}.playlist-songs-list[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.5rem}.playlist-song-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:.75rem 1rem;background:var(--bg-secondary);border-radius:12px;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.playlist-song-item[data-v-d40aaff3]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translate(5px)}.playlist-song-item .song-index[data-v-d40aaff3]{width:30px;text-align:center;color:var(--text-secondary);font-weight:600;font-size:.9rem}.playlist-song-item .song-cover-small[data-v-d40aaff3]{width:50px;height:50px;border-radius:8px;overflow:hidden;flex-shrink:0}.playlist-song-item .song-cover-small img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.playlist-song-item .song-info-full[data-v-d40aaff3]{flex:1;min-width:0}.playlist-song-item .song-title[data-v-d40aaff3]{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-song-item .song-artist[data-v-d40aaff3]{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-song-item .song-album-name[data-v-d40aaff3]{font-size:.85rem;color:var(--text-secondary);width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.playlist-song-item .song-duration[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);font-variant-numeric:tabular-nums}.album-detail-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10002;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-d40aaff3 .3s ease}.album-detail-modal-content[data-v-d40aaff3]{width:90%;max-width:800px;max-height:85vh;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-d40aaff3 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.album-detail-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.album-detail-header h3[data-v-d40aaff3]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.album-detail-body[data-v-d40aaff3]{flex:1;overflow-y:auto;padding:2rem;scrollbar-width:thin;scrollbar-color:var(--primary-color) var(--bg-hover)}.album-detail-body[data-v-d40aaff3]::-webkit-scrollbar{width:8px}.album-detail-body[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-hover);border-radius:10px}.album-detail-body[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-radius:10px}.album-basic-info[data-v-d40aaff3]{display:flex;gap:2rem;margin-bottom:2rem;padding:2rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:16px;box-shadow:0 8px 32px #0000001a;border:1px solid var(--border-color);position:relative;overflow:hidden}.album-basic-info[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--primary-color));animation:shimmer-d40aaff3 3s ease-in-out infinite}.album-cover-large[data-v-d40aaff3]{flex-shrink:0;width:180px;height:180px;border-radius:20px;overflow:hidden;box-shadow:0 15px 40px #0003;position:relative;transition:all .3s ease;border:3px solid var(--bg-primary)}.album-cover-large[data-v-d40aaff3]:hover{transform:scale(1.05) rotate(-2deg);box-shadow:0 20px 50px #0000004d}.album-cover-large[data-v-d40aaff3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:20px;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.2));pointer-events:none}.album-cover-large img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.album-cover-large:hover img[data-v-d40aaff3]{transform:scale(1.1)}.album-details[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;justify-content:center;position:relative}.album-details .album-name[data-v-d40aaff3]{font-size:2.2rem;font-weight:800;color:var(--text-primary);margin:0 0 .75rem;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:textShimmer-d40aaff3 3s ease-in-out infinite}.album-artist[data-v-d40aaff3]{font-size:1.2rem;color:var(--text-secondary);margin:.5rem 0}.album-artist[data-v-d40aaff3]{padding-left:.5rem;border-left:2px solid var(--border-color)}.album-publish-date[data-v-d40aaff3]{font-size:.95rem;color:var(--text-muted);margin:.5rem 0}.album-publish-date[data-v-d40aaff3]{padding-left:.5rem;border-left:2px solid var(--border-color)}.album-description[data-v-d40aaff3]{color:var(--text-secondary);margin:1rem 0 1.5rem;line-height:1.6;font-size:1rem;padding:1rem;background:var(--bg-primary);border-radius:12px;border:1px solid var(--border-color)}.album-stats[data-v-d40aaff3]{display:flex;gap:2rem;flex-wrap:wrap}.stat-item[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:linear-gradient(135deg,var(--bg-primary),var(--bg-hover));border-radius:12px;border:1px solid var(--border-color);transition:all .3s ease}.stat-item[data-v-d40aaff3]:hover{transform:translateY(-3px);box-shadow:0 8px 20px #0000001a;border-color:var(--primary-color)}.stat-item[data-v-d40aaff3]:before{content:attr(data-label);font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.25rem}.album-section[data-v-d40aaff3]{margin-bottom:2.5rem}.album-section h3[data-v-d40aaff3]{font-size:1.3rem;font-weight:700;color:var(--text-primary);margin:0 0 1.5rem;padding:.75rem 1rem;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:12px;border-left:4px solid var(--primary-color)}.album-section h3[data-v-d40aaff3]{padding-left:.5rem;border-left:3px solid var(--primary-color)}.album-songs-list[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.75rem}.album-song-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1.25rem;padding:1rem 1.25rem;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);background:var(--bg-primary);border:1px solid var(--border-color);position:relative;overflow:hidden}.album-song-item[data-v-d40aaff3]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));opacity:0;transition:opacity .3s ease;border-radius:16px}.album-song-item[data-v-d40aaff3]:hover{transform:translate(8px) scale(1.02);box-shadow:0 8px 25px #0000001a;border-color:var(--primary-color)}.album-song-item[data-v-d40aaff3]:hover:before{opacity:.05}.album-song-item[data-v-d40aaff3]:active{transform:translate(8px) scale(.98)}.album-song-item .song-index[data-v-d40aaff3]{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:12px;color:var(--text-secondary);font-weight:600;font-size:.9rem;border:1px solid var(--border-color);position:relative;z-index:1;transition:all .3s ease}.album-song-item:hover .song-index[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);transform:scale(1.1)}.album-song-item .song-cover[data-v-d40aaff3]{flex-shrink:0;width:50px;height:50px;border-radius:12px;overflow:hidden;box-shadow:0 4px 12px #0000001a;position:relative;z-index:1;transition:all .3s ease}.album-song-item:hover .song-cover[data-v-d40aaff3]{transform:scale(1.1) rotate(3deg);box-shadow:0 8px 20px #0003}.album-song-item .song-cover[data-v-d40aaff3]:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,transparent 40%,rgba(255,255,255,.3));border-radius:12px;opacity:0;transition:opacity .3s ease}.album-song-item:hover .song-cover[data-v-d40aaff3]:after{opacity:1}.album-song-item .song-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.album-song-item:hover .song-cover img[data-v-d40aaff3]{transform:scale(1.1)}.album-song-item .song-info[data-v-d40aaff3]{flex:1;min-width:0;position:relative;z-index:1}.album-song-item .song-title[data-v-d40aaff3]{font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem;margin-bottom:.25rem;transition:color .3s ease}.album-song-item:hover .song-title[data-v-d40aaff3]{color:var(--primary-color)}.album-song-item .song-artist[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.album-song-item .song-artist[data-v-d40aaff3]{padding-left:.5rem;border-left:2px solid var(--border-color)}.album-song-item .song-duration[data-v-d40aaff3]{color:var(--text-secondary);font-size:.9rem;background:var(--bg-secondary);padding:.375rem .75rem;border-radius:8px;border:1px solid var(--border-color);position:relative;z-index:1;transition:all .3s ease}.album-song-item:hover .song-duration[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);transform:scale(1.05)}.image-loading-overlay[data-v-d40aaff3]{position:absolute;top:0;left:0;width:100%;height:100%;background:#ffffffe6;display:flex;align-items:center;justify-content:center;border-radius:inherit}.image-loader[data-v-d40aaff3]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-d40aaff3 1s linear infinite}.loading-skeleton[data-v-d40aaff3]{animation:fadeIn-d40aaff3 .5s ease}.song-skeleton-item[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding:.75rem;border-radius:var(--radius-md)}.skeleton-index[data-v-d40aaff3]{width:30px;height:16px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-d40aaff3 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-cover[data-v-d40aaff3]{width:40px;height:40px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-d40aaff3 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-info[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;gap:.5rem}.skeleton-title[data-v-d40aaff3]{width:60%;height:16px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-d40aaff3 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-artist[data-v-d40aaff3]{width:40%;height:14px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-d40aaff3 1.5s infinite;border-radius:var(--radius-sm)}.skeleton-duration[data-v-d40aaff3]{width:40px;height:14px;background:linear-gradient(90deg,var(--bg-secondary) 25%,var(--bg-hover) 50%,var(--bg-secondary) 75%);background-size:200% 100%;animation:loading-d40aaff3 1.5s infinite;border-radius:var(--radius-sm)}@keyframes loading-d40aaff3{0%{background-position:200% 0}to{background-position:-200% 0}}.pagination-container[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center;gap:1rem;padding:1.5rem 1rem;border-top:1px solid var(--border-color);margin-top:1rem}.pagination-info[data-v-d40aaff3]{font-size:.9rem;color:var(--text-secondary);text-align:center}.pagination-controls[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap;justify-content:center}.pagination-btn[data-v-d40aaff3]{min-width:36px;height:36px;padding:.5rem;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;cursor:pointer;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.pagination-btn[data-v-d40aaff3]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.pagination-btn[data-v-d40aaff3]:disabled{opacity:.4;cursor:not-allowed;transform:none}.pagination-btn.page-number[data-v-d40aaff3]{min-width:36px}.pagination-btn.active[data-v-d40aaff3]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.pagination-ellipsis[data-v-d40aaff3]{padding:.5rem;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.no-more-results[data-v-d40aaff3]{text-align:center;padding:1rem;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--border-color);margin-top:1rem}.grid-view-btn[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;font-size:.9em;transition:all .2s}.grid-view-btn[data-v-d40aaff3]:hover,.grid-view-btn.active[data-v-d40aaff3]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.grid-view-container[data-v-d40aaff3]{height:100%;overflow-y:auto;position:relative;padding:1rem}.apple-watch-layout[data-v-d40aaff3]{min-height:500px;position:relative;overflow:hidden}.grid-song-item[data-v-d40aaff3]{display:flex;flex-direction:column;background:var(--bg-tertiary);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);transform-origin:center;position:relative;border:1px solid transparent;aspect-ratio:1}.apple-watch-layout .grid-song-item[data-v-d40aaff3]{position:absolute;border-radius:50%;box-shadow:0 4px 16px #0000001a}.grid-song-item[data-v-d40aaff3]:hover{z-index:10;border-color:var(--primary-color);box-shadow:0 8px 24px rgba(var(--primary-color-rgb),.2)}.grid-song-item.playing[data-v-d40aaff3]{border-color:var(--primary-color);background:rgba(var(--primary-color-rgb),.05)}.grid-song-cover[data-v-d40aaff3]{position:relative;width:100%;aspect-ratio:1;overflow:hidden;background:var(--bg-secondary)}.apple-watch-layout .grid-song-cover[data-v-d40aaff3]{border-radius:50%}.grid-song-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}.apple-watch-layout .grid-song-cover img[data-v-d40aaff3]{border-radius:50%}.grid-song-item:hover .grid-song-cover img[data-v-d40aaff3]{transform:scale(1.05)}.grid-play-overlay[data-v-d40aaff3]{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000004d;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;color:#fff}.grid-song-item:hover .grid-play-overlay[data-v-d40aaff3]{opacity:1}.playing-indicator[data-v-d40aaff3]{position:absolute;bottom:8px;right:8px;width:24px;height:24px;background:var(--primary-color);border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(var(--primary-color-rgb),.4)}.apple-watch-layout .playing-indicator[data-v-d40aaff3]{bottom:5px;right:5px;width:20px;height:20px;border:2px solid white}.playing-bars[data-v-d40aaff3]{display:flex;align-items:flex-end;gap:2px;height:12px}.playing-bars .bar[data-v-d40aaff3]{width:2px;background:#fff;animation:playingBar-d40aaff3 .8s ease-in-out infinite}.playing-bars .bar[data-v-d40aaff3]:nth-child(1){animation-delay:0s;height:6px}.playing-bars .bar[data-v-d40aaff3]:nth-child(2){animation-delay:.2s;height:10px}.playing-bars .bar[data-v-d40aaff3]:nth-child(3){animation-delay:.4s;height:8px}.playing-bars .bar[data-v-d40aaff3]:nth-child(4){animation-delay:.6s;height:12px}@keyframes playingBar-d40aaff3{0%,to{transform:scaleY(.5)}50%{transform:scaleY(1)}}.grid-song-info[data-v-d40aaff3]{padding:.75rem;position:relative;display:none}.apple-watch-layout .grid-song-info[data-v-d40aaff3]{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:.75rem;box-shadow:0 8px 32px #0000004d;opacity:0;visibility:hidden;transition:all .2s ease;z-index:1000;display:block;width:200px;max-width:90vw;pointer-events:auto;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.apple-watch-layout .grid-song-item:hover .grid-song-info[data-v-d40aaff3]{opacity:1;visibility:visible}.grid-song-title[data-v-d40aaff3]{font-weight:600;font-size:.9rem;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:.5rem}.grid-song-artist[data-v-d40aaff3]{font-size:.8rem;color:var(--text-secondary);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.grid-song-album[data-v-d40aaff3]{font-size:.75rem;color:var(--text-muted);margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}.grid-song-duration[data-v-d40aaff3]{font-size:.75rem;color:var(--text-muted);margin-bottom:.5rem}.grid-song-actions[data-v-d40aaff3]{display:flex;justify-content:flex-end;margin-top:.5rem}.grid-add-btn[data-v-d40aaff3]{width:24px;height:24px;border-radius:50%;border:none;background:var(--primary-color);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.grid-add-btn[data-v-d40aaff3]:hover{background:var(--primary-hover);transform:scale(1.1)}.playlist-container[data-v-d40aaff3]{flex:1;overflow-y:auto;min-height:0;max-height:600px}.music-player-modal-content[data-v-d40aaff3]{width:90%;max-width:1000px;height:90%;max-height:900px}.playlist-section[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;min-height:0;max-height:none}@keyframes slideUpScale-d40aaff3{0%{opacity:0;transform:translateY(30px) scale(.9)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes shimmer-d40aaff3{0%{transform:translate(-100%)}to{transform:translate(100%)}}@keyframes textShimmer-d40aaff3{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes pulse-d40aaff3{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.05);opacity:.8}}.user-info-container[data-v-d40aaff3]{position:relative;cursor:pointer;display:flex;align-items:center;gap:.75rem;padding:.25rem .75rem;background:#ffffff1a;border-radius:20px;transition:all .3s ease;height:36px}.user-info-container[data-v-d40aaff3]:hover{background:#ffffff26}.user-avatar[data-v-d40aaff3]{width:28px;height:28px;border-radius:50%;overflow:hidden;border:2px solid rgba(255,255,255,.3);transition:all .3s ease;flex-shrink:0}.user-avatar[data-v-d40aaff3]:hover{border-color:#ffffff80;transform:scale(1.05)}.user-avatar img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.default-avatar[data-v-d40aaff3]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#fff3;color:#fffc}.user-name[data-v-d40aaff3]{font-size:.85rem;color:#fff;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100px}.login-btn[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:#ffffff1a;border:1px solid rgba(255,255,255,.3);border-radius:2rem;color:#fff;cursor:pointer;transition:all .3s ease;font-size:.9rem;font-weight:500}.login-btn[data-v-d40aaff3]:hover{background:#fff3;border-color:#ffffff80;transform:translateY(-1px)}.user-dropdown[data-v-d40aaff3]{position:absolute;top:calc(100% + .5rem);right:0;width:280px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:1rem;box-shadow:0 8px 24px #0000001f;z-index:10005;overflow:hidden;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);animation:dropdownSlideIn-d40aaff3 .3s cubic-bezier(.4,0,.2,1)}.user-menu[data-v-d40aaff3]{padding:1rem}.user-info[data-v-d40aaff3]{display:flex;align-items:center;gap:1rem;padding-bottom:1rem}.user-avatar-large[data-v-d40aaff3]{width:50px;height:50px;border-radius:50%;overflow:hidden;border:2px solid var(--border-color)}.user-avatar-large img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.user-details[data-v-d40aaff3]{flex:1;min-width:0}.user-name[data-v-d40aaff3]{font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:1rem;margin-bottom:.25rem}.user-level[data-v-d40aaff3]{display:inline-block;padding:.2rem .5rem;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-radius:1rem;font-size:.75rem;font-weight:600}.menu-divider[data-v-d40aaff3]{height:1px;background:var(--border-color);margin:.75rem 0}.menu-item[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:.5rem;cursor:pointer;transition:all .2s ease;color:var(--text-primary);font-size:.9rem}.menu-item[data-v-d40aaff3]:hover{background:var(--bg-hover)}.menu-item.logout[data-v-d40aaff3]{color:var(--danger-color, #F44336)}.menu-item.logout[data-v-d40aaff3]:hover{background:#f443361a}.logout-confirm-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10004;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-d40aaff3 .3s ease}.logout-confirm-modal-content[data-v-d40aaff3]{width:90%;max-width:380px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-d40aaff3 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.logout-confirm-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.logout-confirm-header h3[data-v-d40aaff3]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600}.logout-confirm-body[data-v-d40aaff3]{flex:1;padding:2rem;display:flex;flex-direction:column;align-items:center;gap:1rem;text-align:center}.logout-confirm-icon[data-v-d40aaff3]{width:80px;height:80px;display:flex;align-items:center;justify-content:center;background:#f443361a;border-radius:50%;color:#f44336;margin-bottom:.5rem}.logout-confirm-text[data-v-d40aaff3]{margin:0;font-size:1.1rem;color:var(--text-primary);font-weight:500}.logout-confirm-user[data-v-d40aaff3]{margin:0;font-size:.95rem;color:var(--text-secondary);font-weight:400}.logout-confirm-footer[data-v-d40aaff3]{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 20px 20px}.delete-confirm-modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:10004;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);animation:fadeIn-d40aaff3 .3s ease}.delete-confirm-modal-content[data-v-d40aaff3]{width:90%;max-width:380px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d;overflow:hidden;animation:slideUpScale-d40aaff3 .5s cubic-bezier(.34,1.56,.64,1);border:1px solid var(--border-color)}.delete-confirm-header[data-v-d40aaff3]{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-tertiary));border-radius:20px 20px 0 0}.delete-confirm-header h3[data-v-d40aaff3]{margin:0;color:var(--text-primary);font-size:1.3rem;font-weight:600}.delete-confirm-body[data-v-d40aaff3]{flex:1;padding:2rem;text-align:center}.delete-confirm-icon[data-v-d40aaff3]{width:80px;height:80px;margin:0 auto 1.5rem;background:#f443361a;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--danger-color)}.delete-confirm-text[data-v-d40aaff3]{font-size:1.1rem;color:var(--text-primary);margin:0 0 .5rem}.delete-confirm-playlist-name[data-v-d40aaff3]{font-size:1rem;color:var(--text-secondary);margin:0 0 .5rem;font-weight:500}.delete-confirm-warning[data-v-d40aaff3]{font-size:.9rem;color:var(--text-muted);margin:0}.delete-confirm-footer[data-v-d40aaff3]{display:flex;gap:1rem;padding:1.5rem 2rem;background:var(--bg-secondary);border-radius:0 0 20px 20px}.confirm-btn.danger[data-v-d40aaff3]{background:var(--danger-color);color:#fff}.confirm-btn.danger[data-v-d40aaff3]:hover{background:#d32f2f;transform:translateY(-1px)}.cancel-btn[data-v-d40aaff3],.confirm-btn[data-v-d40aaff3]{flex:1;padding:.875rem;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;font-size:1rem;font-weight:600}.cancel-btn[data-v-d40aaff3]{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translateY(-1px)}.confirm-btn[data-v-d40aaff3]{background:#f44336;color:#fff}.confirm-btn[data-v-d40aaff3]:hover{background:#d32f2f;transform:translateY(-1px)}.home-page[data-v-d40aaff3]{display:flex;height:100%;gap:0;position:relative;padding-bottom:70px}.sidebar[data-v-d40aaff3]{width:280px;background:var(--bg-secondary);border-radius:0;padding:1.5rem;overflow-y:auto;border-right:1px solid var(--border-color);border-left:none;border-top:none;border-bottom:none}.sidebar-section[data-v-d40aaff3]{margin-bottom:2rem}.sidebar-section[data-v-d40aaff3]:last-child{margin-bottom:0}.sidebar-title[data-v-d40aaff3]{margin:0 0 1rem;font-size:1.1rem;color:var(--text-primary);font-weight:600}.user-playlists-list[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.75rem}.playlist-item[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease}.playlist-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translate(4px)}.playlist-cover[data-v-d40aaff3]{width:48px;height:48px;border-radius:6px;object-fit:cover}.playlist-info[data-v-d40aaff3]{flex:1;min-width:0}.playlist-name[data-v-d40aaff3]{font-size:.9rem;color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.playlist-count[data-v-d40aaff3]{font-size:.8rem;color:#fff;white-space:nowrap;flex-shrink:0}.main-content[data-v-d40aaff3]{flex:1;overflow-y:auto;padding:1rem;border-right:none;border-left:none;border-top:none;border-bottom:none}.main-content.full-width[data-v-d40aaff3]{flex:1;width:100%}.login-prompt-section[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;height:100%;min-height:400px}.login-prompt-content[data-v-d40aaff3]{text-align:center;max-width:400px;padding:2rem}.login-prompt-icon[data-v-d40aaff3]{margin-bottom:1.5rem;color:var(--text-secondary);opacity:.6}.login-prompt-title[data-v-d40aaff3]{font-size:1.5rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.login-prompt-description[data-v-d40aaff3]{font-size:.95rem;color:var(--text-secondary);line-height:1.5;margin:0 0 2rem}.login-prompt-btn[data-v-d40aaff3]{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:8px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.login-prompt-btn[data-v-d40aaff3]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.recommend-section[data-v-d40aaff3]{margin-bottom:2rem}.recommend-section[data-v-d40aaff3]:last-child{margin-bottom:0}.section-title[data-v-d40aaff3]{margin:0 0 1rem;font-size:1.3rem;color:var(--text-primary);font-weight:600}.recommend-playlists[data-v-d40aaff3]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.recommend-songs[data-v-d40aaff3]{display:flex;flex-direction:column;gap:.5rem}.recommend-playlist-item[data-v-d40aaff3]{background:var(--bg-secondary);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;border:1px solid var(--border-color);text-align:center}.recommend-song-item[data-v-d40aaff3]{background:var(--bg-secondary);border-radius:8px;padding:.75rem;cursor:pointer;transition:all .2s ease;border:1px solid var(--border-color);display:flex;align-items:center;gap:.75rem}.recommend-song-item[data-v-d40aaff3]:hover{background:var(--bg-hover);transform:translate(4px)}.recommend-playlist-cover[data-v-d40aaff3]{width:100%;aspect-ratio:1;border-radius:8px;object-fit:cover;margin-bottom:.75rem}.recommend-song-cover[data-v-d40aaff3]{width:48px;height:48px;border-radius:6px;object-fit:cover;flex-shrink:0}.recommend-playlist-info[data-v-d40aaff3]{text-align:center}.recommend-song-info[data-v-d40aaff3]{flex:1;min-width:0}.recommend-playlist-name[data-v-d40aaff3]{font-size:.95rem;color:var(--text-primary);font-weight:500;margin-bottom:.5rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recommend-song-name[data-v-d40aaff3]{font-size:.9rem;color:var(--text-primary);font-weight:500;margin-bottom:.25rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-playlist-count[data-v-d40aaff3]{font-size:.85rem;color:var(--text-secondary)}.recommend-song-artist[data-v-d40aaff3]{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recommend-add-btn[data-v-d40aaff3]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recommend-add-btn[data-v-d40aaff3]:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.loading-placeholder[data-v-d40aaff3],.empty-placeholder[data-v-d40aaff3]{text-align:center;color:var(--text-secondary);padding:2rem;font-size:.9rem}.bottom-player[data-v-d40aaff3]{position:fixed;bottom:0;left:0;right:0;height:70px;background:var(--bg-primary);border-top:1px solid var(--border-color);box-shadow:0 -4px 12px #0000001a;z-index:100;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.bottom-player-content[data-v-d40aaff3]{display:flex;align-items:center;height:100%;padding:0 1rem;gap:1rem;max-width:1200px;margin:0 auto}.bottom-song-info[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0;max-width:300px}.bottom-song-cover[data-v-d40aaff3]{width:50px;height:50px;border-radius:6px;overflow:hidden;flex-shrink:0;cursor:pointer;transition:all .3s ease;position:relative}.bottom-song-cover[data-v-d40aaff3]:hover{transform:scale(1.05);box-shadow:0 4px 12px #0003}.bottom-song-cover[data-v-d40aaff3]:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#fff0;transition:background .3s ease}.bottom-song-cover[data-v-d40aaff3]:hover:after{background:#ffffff1a}.bottom-song-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.empty-song-cover[data-v-d40aaff3]{width:100%;height:100%;background:var(--bg-hover);display:flex;align-items:center;justify-content:center;color:var(--text-secondary);border-radius:6px}.bottom-song-details[data-v-d40aaff3]{min-width:0;flex:1}.bottom-song-name[data-v-d40aaff3]{font-size:.9rem;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.bottom-song-artist[data-v-d40aaff3]{font-size:.8rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bottom-song-artist .artist-name.clickable[data-v-d40aaff3]{cursor:pointer;transition:color .2s ease}.bottom-song-artist .artist-name.clickable[data-v-d40aaff3]:hover{color:var(--primary-color)}.artist-separator[data-v-d40aaff3]{margin:0 2px}.bottom-controls[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem}.bottom-control-btn[data-v-d40aaff3]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.bottom-control-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-play-btn[data-v-d40aaff3]{background:var(--primary-color);border:none;color:#fff;cursor:pointer;padding:.75rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;margin:0 .25rem}.bottom-play-btn[data-v-d40aaff3]:hover:not(:disabled){background:var(--primary-hover);transform:scale(1.05)}.bottom-play-btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed}.bottom-control-btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed}.bottom-progress[data-v-d40aaff3]{display:flex;align-items:center;gap:.5rem;flex:1;max-width:400px}.bottom-time[data-v-d40aaff3]{font-size:.75rem;color:var(--text-secondary);min-width:35px;text-align:center}.bottom-progress-bar[data-v-d40aaff3]{flex:1;height:4px;background:var(--bg-hover);border-radius:2px;cursor:pointer;position:relative;overflow:hidden}.bottom-progress-fill[data-v-d40aaff3]{height:100%;background:var(--primary-color);border-radius:2px;transition:width .1s ease}.bottom-right-controls[data-v-d40aaff3]{display:flex;align-items:center}.bottom-playlist-btn[data-v-d40aaff3]{position:relative;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:8px;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.bottom-playlist-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);color:var(--text-primary)}.bottom-playlist-btn.active[data-v-d40aaff3]{color:var(--primary-color)}.bottom-playlist-count[data-v-d40aaff3]{position:absolute;top:0;right:0;background:var(--primary-color);color:#fff;font-size:.7rem;padding:2px 5px;border-radius:10px;min-width:16px;text-align:center;line-height:1}.header-title[data-v-d40aaff3]{cursor:pointer;transition:all .3s ease}.header-title[data-v-d40aaff3]:hover{color:var(--primary-color);transform:scale(1.02)}.menu-item svg[data-v-d40aaff3]{flex-shrink:0}.minimize-btn[data-v-d40aaff3]{background:#fff3;border:none;color:#fff;cursor:pointer;padding:8px;margin-right:8px;border-radius:50%;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:36px;height:36px}.minimize-btn[data-v-d40aaff3]:hover{background:#ffffff4d;color:#fff;transform:scale(1.05)}.minimize-btn[data-v-d40aaff3]:active{transform:scale(.95)}.mini-player[data-v-d40aaff3]{position:fixed;width:300px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #0003;z-index:10000;-webkit-user-select:none;user-select:none;cursor:move;will-change:transform;transition:box-shadow .2s ease}.mini-player[data-v-d40aaff3]:hover{box-shadow:0 12px 40px #00000040}.mini-player-header[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;padding:12px;border-bottom:1px solid var(--border-color)}.mini-song-info[data-v-d40aaff3]{display:flex;align-items:center;flex:1;min-width:0}.mini-cover[data-v-d40aaff3]{width:40px;height:40px;border-radius:6px;overflow:hidden;margin-right:10px;flex-shrink:0}.mini-cover img[data-v-d40aaff3]{width:100%;height:100%;object-fit:cover}.mini-details[data-v-d40aaff3]{flex:1;min-width:0}.mini-title[data-v-d40aaff3]{font-size:14px;font-weight:500;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-artist[data-v-d40aaff3]{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-controls[data-v-d40aaff3]{display:flex;gap:4px}.mini-restore-btn[data-v-d40aaff3],.mini-close-btn[data-v-d40aaff3]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;transition:all .2s ease}.mini-restore-btn[data-v-d40aaff3]:hover,.mini-close-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);color:var(--text-primary)}.mini-progress[data-v-d40aaff3]{padding:8px 12px;border-bottom:1px solid var(--border-color)}.mini-progress-slider[data-v-d40aaff3]{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;outline:none;-webkit-appearance:none;margin-bottom:6px}.mini-progress-slider[data-v-d40aaff3]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;background:var(--primary-color);border-radius:50%;cursor:pointer}.mini-progress-slider[data-v-d40aaff3]::-moz-range-thumb{width:12px;height:12px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.mini-time[data-v-d40aaff3]{display:flex;justify-content:space-between;font-size:11px;color:var(--text-secondary)}.mini-player-controls[data-v-d40aaff3]{display:flex;align-items:center;justify-content:center;padding:8px 12px;gap:8px}.mini-control-btn[data-v-d40aaff3]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:6px;border-radius:4px;transition:all .2s ease;display:flex;align-items:center;justify-content:center;position:relative}.mini-control-btn[data-v-d40aaff3]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.mini-control-btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed}.mini-control-btn.active[data-v-d40aaff3]{color:var(--primary-color)}.mini-separator[data-v-d40aaff3]{width:1px;height:20px;background:var(--border-color);margin:0 4px}.mini-playlist-count[data-v-d40aaff3]{position:absolute;top:-2px;right:-2px;background:var(--primary-color);color:#fff;font-size:10px;padding:2px 4px;border-radius:8px;min-width:16px;text-align:center}.mini-playlist-menu[data-v-d40aaff3]{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px 8px 0 0;box-shadow:0 -4px 16px #0000001a;max-height:300px;overflow:hidden;transform-origin:bottom center;animation:slideDown-d40aaff3 .3s ease-out;z-index:10001}.mini-playlist-menu.menu-down[data-v-d40aaff3]{bottom:auto;top:100%;border-radius:0 0 8px 8px;box-shadow:0 4px 16px #0000001a;transform-origin:top center;animation:slideUp-d40aaff3 .3s ease-out}@keyframes slideDown-d40aaff3{0%{opacity:0;transform:scaleY(0) translateY(10px)}to{opacity:1;transform:scaleY(1) translateY(0)}}@keyframes slideUp-d40aaff3{0%{opacity:0;transform:scaleY(0) translateY(-10px)}to{opacity:1;transform:scaleY(1) translateY(0)}}.mini-playlist-header[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;padding:10px 12px;border-bottom:1px solid var(--border-color)}.mini-playlist-header h4[data-v-d40aaff3]{margin:0;font-size:14px;color:var(--text-primary)}.mini-close-playlist-btn[data-v-d40aaff3]{background:none;border:none;color:var(--text-secondary);cursor:pointer;padding:4px;border-radius:4px;transition:all .2s ease}.mini-close-playlist-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);color:var(--text-primary)}.mini-playlist-content[data-v-d40aaff3]{max-height:250px;overflow-y:auto;scroll-behavior:smooth}.mini-empty-playlist[data-v-d40aaff3]{padding:20px;text-align:center;color:var(--text-secondary);font-size:13px}.mini-playlist-items[data-v-d40aaff3]{padding:4px 0}.mini-playlist-item[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;cursor:pointer;transition:background-color .2s ease}.mini-playlist-item[data-v-d40aaff3]:hover{background:var(--bg-hover)}.mini-playlist-item.playing[data-v-d40aaff3]{background:var(--primary-color-opacity);color:var(--primary-color);position:relative}.mini-playlist-item.playing[data-v-d40aaff3]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--primary-color);border-radius:0 2px 2px 0}.mini-item-info[data-v-d40aaff3]{display:flex;align-items:center;flex:1;min-width:0}.mini-item-index[data-v-d40aaff3]{font-size:12px;color:var(--text-secondary);margin-right:8px;min-width:16px}.mini-item-title[data-v-d40aaff3]{font-size:13px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.mini-item-artist[data-v-d40aaff3]{font-size:11px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mini-item-duration[data-v-d40aaff3]{font-size:12px;color:var(--text-secondary);margin-left:8px}.mini-playlist-content[data-v-d40aaff3]::-webkit-scrollbar{width:4px}.mini-playlist-content[data-v-d40aaff3]::-webkit-scrollbar-track{background:var(--bg-secondary)}.mini-playlist-content[data-v-d40aaff3]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.mini-playlist-content[data-v-d40aaff3]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.music-notification[data-v-d40aaff3]{position:fixed;z-index:10000;min-width:300px;max-width:400px;padding:12px 16px;border-radius:8px;box-shadow:0 4px 12px #00000026;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);animation:notificationSlideIn-d40aaff3 .3s ease-out;transition:all .3s ease}.music-notification.success[data-v-d40aaff3]{background:#34d399e6;color:#fff}.music-notification.warning[data-v-d40aaff3]{background:#fbbf24e6;color:#fff}.music-notification.danger[data-v-d40aaff3]{background:#ef4444e6;color:#fff}.music-notification.info[data-v-d40aaff3]{background:#3b82f6e6;color:#fff}.notification-content[data-v-d40aaff3]{display:flex;align-items:center;gap:10px}.notification-icon[data-v-d40aaff3]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.notification-message[data-v-d40aaff3]{flex:1;font-size:14px;font-weight:500;line-height:1.4}@keyframes notificationSlideIn-d40aaff3{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.recommend-song-actions[data-v-d40aaff3]{display:flex;gap:.5rem;align-items:center}.recommend-like-btn[data-v-d40aaff3]{background:transparent;border:none;color:var(--text-secondary);cursor:pointer;padding:.5rem;border-radius:50%;transition:all .2s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recommend-like-btn[data-v-d40aaff3]:hover{background:#f443361a;color:var(--danger-color);transform:scale(1.1)}.recommend-like-btn.liked[data-v-d40aaff3]{color:var(--danger-color)}.recommend-like-btn.liked[data-v-d40aaff3]:hover{background:#f4433633}.sidebar-header[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;padding:.5rem;background:#ffffff0d;border-radius:12px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1)}.create-playlist-btn[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border:none;color:#fff;width:36px;height:36px;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(var(--primary-color-rgb),.3);position:relative;overflow:hidden}.create-playlist-btn[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.create-playlist-btn[data-v-d40aaff3]:hover{transform:scale(1.05) translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb),.4)}.create-playlist-btn[data-v-d40aaff3]:hover:before{left:100%}.create-playlist-btn[data-v-d40aaff3]:active{transform:scale(.98) translateY(-1px)}.playlist-item[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.5rem;border-radius:8px;cursor:pointer;transition:all .2s ease;position:relative}.playlist-content[data-v-d40aaff3]{display:flex;align-items:center;gap:.75rem;flex:1;min-width:0}.playlist-item[data-v-d40aaff3]:hover{background:var(--bg-hover)}.playlist-actions[data-v-d40aaff3]{display:flex;gap:.25rem;opacity:0;transition:opacity .2s ease;flex-shrink:0}.playlist-item:hover .playlist-actions[data-v-d40aaff3]{opacity:1}.playlist-action-btn[data-v-d40aaff3]{background:transparent;border:none;color:var(--text-secondary);width:28px;height:28px;border-radius:4px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.playlist-action-btn[data-v-d40aaff3]:hover{background:var(--bg-hover)}.playlist-action-btn.edit[data-v-d40aaff3]:hover{color:var(--primary-color)}.playlist-action-btn.delete[data-v-d40aaff3]:hover{color:var(--danger-color)}.recommend-playlist-item[data-v-d40aaff3]{background:var(--bg-secondary);border-radius:12px;padding:1rem;cursor:pointer;transition:all .3s ease;border:1px solid var(--border-color);text-align:center;position:relative}.recommend-playlist-content[data-v-d40aaff3]{display:flex;flex-direction:column;align-items:center}.recommend-playlist-item[data-v-d40aaff3]:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001a}.recommend-playlist-subscribe-btn[data-v-d40aaff3]{position:absolute;top:.5rem;right:.5rem;background:#ffffffe6;border:none;color:var(--text-secondary);width:32px;height:32px;border-radius:50%;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.recommend-playlist-subscribe-btn[data-v-d40aaff3]:hover{background:var(--primary-color);color:#fff;transform:scale(1.1)}.recommend-playlist-subscribe-btn[data-v-d40aaff3]:has(svg[fill=currentColor]){color:var(--danger-color)}.recommend-playlist-subscribe-btn[data-v-d40aaff3]:has(svg[fill=currentColor]):hover{background:var(--danger-color);color:#fff}.playlist-modal[data-v-d40aaff3]{width:90%;max-width:520px;background:var(--bg-primary);border-radius:20px;box-shadow:0 25px 80px #0006;overflow:hidden;animation:modalSlideIn-d40aaff3 .4s cubic-bezier(.34,1.56,.64,1);border:1px solid rgba(255,255,255,.1);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}.create-playlist-modal[data-v-d40aaff3]{width:90%;max-width:800px;max-height:90vh;background:var(--bg-primary);border-radius:16px;box-shadow:0 20px 60px #0000004d,0 0 0 1px #ffffff1a;overflow:hidden;display:flex;flex-direction:column;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);position:relative}.create-playlist-header[data-v-d40aaff3]{position:absolute;top:16px;right:16px;z-index:100}.create-playlist-close[data-v-d40aaff3]{width:40px;height:40px;border-radius:50%;background:#ffffff1a;border:none;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.create-playlist-close[data-v-d40aaff3]:hover{background:#fff3;color:var(--text-primary);transform:scale(1.1)}.create-playlist-content[data-v-d40aaff3]{display:flex;padding:40px;gap:40px;flex:1;overflow-y:auto}.create-playlist-cover-section[data-v-d40aaff3]{flex-shrink:0;display:flex;flex-direction:column;align-items:center;gap:20px}.playlist-cover-preview[data-v-d40aaff3]{position:relative;width:200px;height:200px}.cover-image[data-v-d40aaff3]{width:100%;height:100%;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color, #ec4899));border-radius:12px;display:flex;align-items:center;justify-content:center;color:#fff;position:relative;overflow:hidden}.cover-image[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:#0000001a}.cover-overlay[data-v-d40aaff3]{position:absolute;bottom:10px;right:10px;width:48px;height:48px;background:#ffffffe6;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary-color);box-shadow:0 4px 12px #0003}.create-playlist-info-section[data-v-d40aaff3]{flex:1;display:flex;flex-direction:column;gap:24px}.create-playlist-title[data-v-d40aaff3]{font-size:28px;font-weight:600;color:var(--text-primary);margin:0}.create-playlist-subtitle[data-v-d40aaff3]{font-size:16px;color:var(--text-secondary);margin:0}.form-section[data-v-d40aaff3]{display:flex;flex-direction:column;gap:8px}.form-label[data-v-d40aaff3]{font-size:14px;font-weight:500;color:var(--text-primary)}.required[data-v-d40aaff3]{color:var(--danger-color)}.optional[data-v-d40aaff3]{color:var(--text-muted);font-size:12px}.input-container[data-v-d40aaff3]{position:relative}.form-input[data-v-d40aaff3]{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-input[data-v-d40aaff3]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.1)}.input-counter[data-v-d40aaff3]{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:12px;color:var(--text-muted)}.textarea-container[data-v-d40aaff3]{position:relative}.form-textarea[data-v-d40aaff3]{width:100%;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;resize:vertical;min-height:80px;font-family:inherit;transition:all .2s ease}.form-textarea[data-v-d40aaff3]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 59, 130, 246),.1)}.textarea-counter[data-v-d40aaff3]{position:absolute;right:12px;bottom:12px;font-size:12px;color:var(--text-muted)}.privacy-options[data-v-d40aaff3]{display:flex;flex-direction:column;gap:12px}.privacy-option[data-v-d40aaff3]{display:flex;align-items:center;gap:12px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background-color .2s ease}.privacy-option[data-v-d40aaff3]:hover{background:var(--bg-secondary)}.privacy-option input[type=radio][data-v-d40aaff3]{width:18px;height:18px;accent-color:var(--primary-color)}.privacy-label[data-v-d40aaff3]{font-weight:500;color:var(--text-primary)}.privacy-desc[data-v-d40aaff3]{font-size:12px;color:var(--text-muted);margin-left:auto}.create-playlist-fixed-actions[data-v-d40aaff3]{position:absolute;bottom:24px;left:24px;display:flex;gap:12px;z-index:100;opacity:.9;transition:opacity .2s ease}.create-playlist-fixed-actions[data-v-d40aaff3]:hover{opacity:1}.action-btn[data-v-d40aaff3]{padding:10px 20px;border-radius:8px;border:none;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.action-btn.secondary[data-v-d40aaff3]{background:transparent;color:var(--text-secondary);border:1px solid var(--border-color)}.action-btn.secondary[data-v-d40aaff3]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.action-btn.primary[data-v-d40aaff3]{background:var(--primary-color);color:#fff;position:relative;z-index:10}.action-btn.primary[data-v-d40aaff3]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px)}.action-btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.create-playlist-content[data-v-d40aaff3]{flex-direction:column;padding:24px 24px 80px;gap:24px}.create-playlist-cover-section[data-v-d40aaff3]{order:2}.create-playlist-info-section[data-v-d40aaff3]{order:1}.playlist-cover-preview[data-v-d40aaff3]{width:160px;height:160px}.create-playlist-fixed-actions[data-v-d40aaff3]{bottom:16px;left:16px;right:16px;justify-content:stretch}.action-btn[data-v-d40aaff3]{flex:1}}.modern-modal-header[data-v-d40aaff3]{display:flex;align-items:center;gap:16px;padding:24px 24px 20px;background:linear-gradient(135deg,rgba(var(--primary-color-rgb, 236, 72, 153),.05),transparent);border-bottom:1px solid var(--border-light);position:relative}.modal-icon[data-v-d40aaff3]{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 4px 12px rgba(var(--primary-color-rgb, 236, 72, 153),.3);flex-shrink:0}.edit-icon[data-v-d40aaff3]{background:linear-gradient(135deg,var(--secondary-color),var(--primary-color));box-shadow:0 4px 12px rgba(var(--secondary-color-rgb, 59, 130, 246),.3)}.modal-title-section[data-v-d40aaff3]{flex:1;min-width:0}.modal-title[data-v-d40aaff3]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary);line-height:1.2}.modal-subtitle[data-v-d40aaff3]{margin:4px 0 0;font-size:.875rem;color:var(--text-secondary);line-height:1.4}.modern-modal-close-btn[data-v-d40aaff3]{width:36px;height:36px;border-radius:8px;border:1px solid var(--border-light);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);flex-shrink:0}.modern-modal-close-btn[data-v-d40aaff3]:hover{background:var(--bg-hover);border-color:var(--border-color);color:var(--text-primary);transform:scale(1.05)}.modern-modal-body[data-v-d40aaff3]{padding:24px}.form-group-modern[data-v-d40aaff3]{margin-bottom:24px}.form-label-wrapper[data-v-d40aaff3]{display:flex;align-items:center;gap:4px;margin-bottom:8px}.form-label-modern[data-v-d40aaff3]{font-size:.875rem;font-weight:500;color:var(--text-primary);line-height:1.2}.required-mark[data-v-d40aaff3]{color:var(--danger-color);font-size:.75rem;font-weight:600}.optional-mark[data-v-d40aaff3]{color:var(--text-tertiary);font-size:.75rem;font-weight:400}.input-wrapper[data-v-d40aaff3],.textarea-wrapper[data-v-d40aaff3]{position:relative}.form-control-modern[data-v-d40aaff3]{width:100%;padding:12px 16px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-primary);color:var(--text-primary);font-size:.875rem;line-height:1.4;transition:all .2s cubic-bezier(.4,0,.2,1);outline:none}.form-control-modern[data-v-d40aaff3]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 236, 72, 153),.1)}.form-control-modern.has-content[data-v-d40aaff3]{border-color:var(--primary-color)}.form-control-modern[data-v-d40aaff3]::placeholder{color:var(--text-tertiary)}.textarea-modern[data-v-d40aaff3]{resize:vertical;min-height:80px;font-family:inherit}.input-counter[data-v-d40aaff3],.textarea-counter[data-v-d40aaff3]{position:absolute;bottom:8px;right:12px;font-size:.75rem;color:var(--text-tertiary);background:var(--bg-primary);padding:2px 4px;border-radius:4px;pointer-events:none}.playlist-preview[data-v-d40aaff3]{margin-top:24px;padding:16px;background:var(--bg-secondary);border-radius:12px;border:1px solid var(--border-light)}.preview-header[data-v-d40aaff3]{margin-bottom:12px}.preview-label[data-v-d40aaff3]{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.preview-content[data-v-d40aaff3]{display:flex;gap:12px;align-items:center}.preview-cover[data-v-d40aaff3]{width:48px;height:48px;border-radius:8px;background:var(--bg-primary);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.preview-info[data-v-d40aaff3]{flex:1;min-width:0}.preview-title[data-v-d40aaff3]{font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.preview-desc[data-v-d40aaff3]{font-size:.75rem;color:var(--text-secondary);margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.preview-meta[data-v-d40aaff3]{font-size:.75rem;color:var(--text-tertiary)}.modern-modal-footer[data-v-d40aaff3]{display:flex;gap:12px;justify-content:flex-end;padding:20px 24px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-light)}.modern-btn[data-v-d40aaff3]{display:inline-flex;align-items:center;gap:8px;padding:10px 20px;border-radius:10px;font-size:.875rem;font-weight:500;line-height:1.2;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);border:none;outline:none;position:relative;overflow:hidden}.modern-btn[data-v-d40aaff3]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.modern-btn-secondary[data-v-d40aaff3]{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border-color)}.modern-btn-secondary[data-v-d40aaff3]:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-dark);transform:translateY(-1px)}.modern-btn-primary[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;box-shadow:0 4px 12px rgba(var(--primary-color-rgb, 236, 72, 153),.3)}.modern-btn-primary[data-v-d40aaff3]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px rgba(var(--primary-color-rgb, 236, 72, 153),.4)}.modern-btn-primary.loading[data-v-d40aaff3]{pointer-events:none}.btn-content[data-v-d40aaff3]{display:flex;align-items:center;gap:6px}.btn-icon[data-v-d40aaff3]{flex-shrink:0}.loading-icon[data-v-d40aaff3]{flex-shrink:0;animation:spin-d40aaff3 1s linear infinite}@keyframes spin-d40aaff3{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.context-menu[data-v-d40aaff3]{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #ffffff0d;padding:4px 0;min-width:160px;z-index:10007;animation:contextMenuFadeIn-d40aaff3 .15s ease;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}@keyframes contextMenuFadeIn-d40aaff3{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item[data-v-d40aaff3]{display:flex;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;color:var(--text-primary);cursor:pointer;transition:all .15s ease;-webkit-user-select:none;user-select:none}.context-menu-item[data-v-d40aaff3]:hover{background:var(--bg-hover)}.context-menu-item.danger[data-v-d40aaff3]{color:var(--danger-color)}.context-menu-item.danger[data-v-d40aaff3]:hover{background:rgba(var(--danger-color-rgb, 239, 68, 68),.1)}.context-menu-item svg[data-v-d40aaff3]{flex-shrink:0;opacity:.7}.context-menu-divider[data-v-d40aaff3]{height:1px;background:var(--border-light);margin:4px 8px}.context-menu-submenu[data-v-d40aaff3]{position:relative}.context-menu-submenu-content[data-v-d40aaff3]{position:absolute;left:100%;top:-4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #ffffff0d;padding:4px 0;min-width:180px;max-height:300px;overflow-y:auto;opacity:0;visibility:hidden;transform:translate(-8px);transition:all .15s ease;z-index:10008}.context-menu-submenu:hover .context-menu-submenu-content[data-v-d40aaff3]{opacity:1;visibility:visible;transform:translate(0)}.submenu-arrow[data-v-d40aaff3]{margin-left:auto;flex-shrink:0}.submenu-playlist-cover[data-v-d40aaff3]{width:20px;height:20px;border-radius:4px;object-fit:cover;flex-shrink:0}[data-theme=dark] .modern-modal[data-v-d40aaff3]{box-shadow:0 20px 60px #0006,0 0 0 1px #ffffff0d}[data-theme=dark] .modern-modal-header[data-v-d40aaff3]{background:linear-gradient(135deg,rgba(var(--primary-color-rgb, 236, 72, 153),.1),transparent)}[data-theme=dark] .context-menu[data-v-d40aaff3],[data-theme=dark] .context-menu-submenu-content[data-v-d40aaff3]{box-shadow:0 4px 12px #0006,0 0 0 1px #ffffff0d}.modal-overlay[data-v-d40aaff3]{position:fixed;top:0;left:0;width:100%;height:100%;background:#000c;display:flex;justify-content:center;align-items:center;z-index:10006;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);animation:fadeIn-d40aaff3 .3s ease}@keyframes modalSlideIn-d40aaff3{0%{opacity:0;transform:translateY(-40px) scale(.85)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeIn-d40aaff3{0%{opacity:0}to{opacity:1}}.modal-header[data-v-d40aaff3]{display:flex;align-items:center;justify-content:space-between;padding:2rem 2.5rem;border-bottom:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));position:relative}.modal-header[data-v-d40aaff3]:after{content:"";position:absolute;bottom:0;left:2.5rem;right:2.5rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.modal-header h3[data-v-d40aaff3]{margin:0;font-size:1.4rem;font-weight:700;color:var(--text-primary);background:linear-gradient(135deg,var(--text-primary),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.modal-close-btn[data-v-d40aaff3]{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:var(--text-secondary);font-size:1.2rem;cursor:pointer;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.modal-close-btn[data-v-d40aaff3]:hover{background:#f4433633;border-color:#f443364d;color:var(--danger-color);transform:rotate(90deg) scale(1.1)}.modal-body[data-v-d40aaff3]{padding:2.5rem;background:var(--bg-primary)}.modal-footer[data-v-d40aaff3]{display:flex;justify-content:flex-end;gap:1rem;padding:2rem 2.5rem;border-top:1px solid rgba(255,255,255,.1);background:linear-gradient(135deg,var(--bg-secondary),var(--bg-primary));position:relative}.modal-footer[data-v-d40aaff3]:before{content:"";position:absolute;top:0;left:2.5rem;right:2.5rem;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent)}.form-group[data-v-d40aaff3]{margin-bottom:1.5rem}.form-group[data-v-d40aaff3]:last-child{margin-bottom:0}.form-label[data-v-d40aaff3]{display:block;margin-bottom:.75rem;font-weight:600;color:var(--text-primary);font-size:.95rem;letter-spacing:.025em}.form-control[data-v-d40aaff3]{width:100%;padding:1rem 1.25rem;border:2px solid rgba(255,255,255,.1);border-radius:12px;background:#ffffff0d;color:var(--text-primary);font-size:.95rem;transition:all .3s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.form-control[data-v-d40aaff3]:focus{outline:none;border-color:var(--primary-color);background:#ffffff14;box-shadow:0 0 0 4px rgba(var(--primary-color-rgb),.15);transform:translateY(-1px)}.form-control[data-v-d40aaff3]::placeholder{color:var(--text-tertiary);opacity:.7}.form-control.textarea[data-v-d40aaff3]{resize:vertical;min-height:100px;font-family:inherit;line-height:1.5}.btn[data-v-d40aaff3]{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;padding:.875rem 2rem;border:2px solid transparent;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;letter-spacing:.025em;position:relative;overflow:hidden}.btn[data-v-d40aaff3]: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 ease}.btn[data-v-d40aaff3]:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.btn[data-v-d40aaff3]:disabled:before{display:none}.btn-primary[data-v-d40aaff3]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border-color:var(--primary-color);box-shadow:0 4px 15px rgba(var(--primary-color-rgb),.3)}.btn-primary[data-v-d40aaff3]:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 25px rgba(var(--primary-color-rgb),.4)}.btn-primary[data-v-d40aaff3]:hover:not(:disabled):before{left:100%}.btn-primary[data-v-d40aaff3]:active:not(:disabled){transform:translateY(-1px)}.btn-secondary[data-v-d40aaff3]{background:#ffffff1a;color:var(--text-primary);border-color:#fff3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.btn-secondary[data-v-d40aaff3]:hover:not(:disabled){background:#ffffff26;border-color:#ffffff4d;transform:translateY(-1px)}.btn-secondary[data-v-d40aaff3]:hover:not(:disabled):before{left:100%}.btn-secondary[data-v-d40aaff3]:active:not(:disabled){transform:translateY(0)}.agent-memory[data-v-95fcabff]{width:100%;max-width:700px;margin:0 auto}.memory-header[data-v-95fcabff]{display:flex;justify-content:space-between;align-items:center;padding:0 0 16px;border-bottom:1px solid var(--border-color);margin-bottom:20px}.agent-info[data-v-95fcabff]{display:flex;align-items:center;gap:12px}.agent-avatar[data-v-95fcabff]{width:48px;height:48px;border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;justify-content:center;background:var(--primary-color);color:#fff;font-size:20px;flex-shrink:0}.avatar-image img[data-v-95fcabff]{width:100%;height:100%;object-fit:cover}.agent-details[data-v-95fcabff]{flex:1;min-width:0}.agent-name[data-v-95fcabff]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-scenario[data-v-95fcabff]{margin:0;font-size:14px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.memory-status[data-v-95fcabff]{display:flex;align-items:center}.status-indicator[data-v-95fcabff]{display:flex;align-items:center;gap:6px;padding:6px 12px;border-radius:20px;font-size:12px;font-weight:500}.status-indicator.has-memory[data-v-95fcabff]{background:var(--success-color);color:#fff}.status-indicator.no-memory[data-v-95fcabff]{background:var(--text-tertiary);color:#fff}.memory-content[data-v-95fcabff]{margin-bottom:24px}.form-group[data-v-95fcabff]{margin-bottom:20px}.form-group[data-v-95fcabff]:last-child{margin-bottom:0}.memory-label[data-v-95fcabff]{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary);margin-bottom:8px;font-size:14px}.memory-textarea-wrapper[data-v-95fcabff]{position:relative}.memory-textarea[data-v-95fcabff]{width:100%;padding:12px;border:1px solid var(--border-color);border-radius:var(--radius);font-size:14px;line-height:1.5;resize:vertical;min-height:200px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:all var(--duration-fast) ease}.memory-textarea[data-v-95fcabff]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #ec48991a}.memory-textarea[data-v-95fcabff]::placeholder{color:var(--text-tertiary)}.textarea-info[data-v-95fcabff]{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:var(--text-secondary)}.memory-tips[data-v-95fcabff]{background:var(--bg-secondary);border-radius:var(--radius);padding:16px;margin-top:16px;border:1px solid var(--border-light)}.tips-header[data-v-95fcabff]{display:flex;align-items:center;gap:8px;font-weight:500;color:var(--text-primary);margin-bottom:8px;font-size:14px}.tips-list[data-v-95fcabff]{margin:0;padding-left:20px;color:var(--text-secondary)}.tips-list li[data-v-95fcabff]{margin-bottom:6px;line-height:1.4;font-size:13px}.tips-list li[data-v-95fcabff]:last-child{margin-bottom:0}.memory-actions[data-v-95fcabff]{display:flex;justify-content:space-between;align-items:center;padding-top:20px;border-top:1px solid var(--border-color)}.right-actions[data-v-95fcabff]{display:flex;gap:12px}.action-btn[data-v-95fcabff]{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border:none;border-radius:var(--radius);font-size:14px;font-weight:500;cursor:pointer;transition:all var(--duration-fast) ease;-webkit-user-select:none;user-select:none;position:relative;overflow:hidden}.action-btn[data-v-95fcabff]:focus-visible{outline:2px solid var(--primary-color);outline-offset:2px}.action-btn[data-v-95fcabff]:disabled{opacity:.6;cursor:not-allowed;transform:none!important}.clear-btn[data-v-95fcabff]{background:var(--danger-color);color:#fff}.clear-btn[data-v-95fcabff]:hover:not(:disabled){background:#dc2626;transform:translateY(-1px);box-shadow:var(--shadow)}.cancel-btn[data-v-95fcabff]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.cancel-btn[data-v-95fcabff]:hover{background:var(--bg-hover);border-color:var(--border-color);transform:translateY(-1px);box-shadow:var(--shadow)}.save-btn[data-v-95fcabff]{background:var(--primary-color);color:#fff}.save-btn[data-v-95fcabff]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow)}[data-color-mode=gradient] .save-btn[data-v-95fcabff]{background:var(--gradient-primary);border-color:transparent}[data-color-mode=gradient] .save-btn[data-v-95fcabff]:hover:not(:disabled){background:var(--gradient-primary);filter:brightness(1.1)}.loading-spinner.small[data-v-95fcabff]{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin-95fcabff 1s linear infinite}@keyframes spin-95fcabff{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.confirm-overlay[data-v-95fcabff]{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,var(--modal-backdrop-opacity, .5));display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(var(--modal-backdrop-blur, 8px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 8px))}.confirm-dialog[data-v-95fcabff]{background:var(--bg-primary);border-radius:var(--radius);padding:24px;min-width:400px;max-width:500px;box-shadow:var(--shadow-lg);border:1px solid var(--border-color);animation:slideUp-95fcabff .3s ease}.confirm-header h4[data-v-95fcabff]{margin:0 0 16px;color:var(--text-primary);font-size:16px;font-weight:600}.confirm-content p[data-v-95fcabff]{margin:0 0 8px;color:var(--text-secondary);font-size:14px;line-height:1.5}.confirm-content p[data-v-95fcabff]:last-child{margin-bottom:0}.warning-text[data-v-95fcabff]{color:var(--danger-color)!important;font-weight:500}.confirm-actions[data-v-95fcabff]{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}@keyframes slideUp-95fcabff{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.agent-memory[data-v-95fcabff]{max-width:100%}.memory-header[data-v-95fcabff]{flex-direction:column;align-items:flex-start;gap:12px}.memory-actions[data-v-95fcabff]{flex-direction:column;gap:12px;align-items:stretch}.right-actions[data-v-95fcabff]{justify-content:flex-end}.confirm-dialog[data-v-95fcabff]{min-width:300px;margin:20px}}.tavern-sidebar[data-v-94c7d4a5]{display:flex;flex-direction:column;width:400px;min-width:320px;max-width:500px;background:var(--bg-secondary);border-left:1px solid var(--border-color);overflow:hidden;flex-shrink:0}.sidebar-content[data-v-94c7d4a5]{flex:1;display:flex;flex-direction:column;overflow:hidden}.sidebar-tabs[data-v-94c7d4a5]{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;padding:1px;background:var(--border-color);border-bottom:1px solid var(--border-color)}.tab-btn[data-v-94c7d4a5]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-secondary);border:none;cursor:pointer;transition:all .3s ease}.tab-btn[data-v-94c7d4a5]:hover{background:var(--bg-tertiary)}.tab-btn.active[data-v-94c7d4a5]{background:var(--primary-color);color:#fff}.tab-icon[data-v-94c7d4a5]{font-size:20px}.tab-label[data-v-94c7d4a5]{font-size:11px;font-weight:500}.tab-content[data-v-94c7d4a5]{flex:1;overflow-y:auto;padding:16px}.tab-panel[data-v-94c7d4a5]{display:block}.panel-section[data-v-94c7d4a5]{margin-bottom:24px}.section-title[data-v-94c7d4a5]{font-size:16px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.section-hint[data-v-94c7d4a5]{font-size:12px;color:var(--text-secondary);margin:0 0 12px}.panel-header[data-v-94c7d4a5]{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.add-btn[data-v-94c7d4a5]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-color);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease}.add-btn[data-v-94c7d4a5]:hover{opacity:.9;transform:translateY(-1px)}.empty-state[data-v-94c7d4a5]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;text-align:center;color:var(--text-secondary)}.empty-icon[data-v-94c7d4a5]{font-size:48px;margin-bottom:12px;opacity:.5}.characters-list[data-v-94c7d4a5]{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.section-divider[data-v-94c7d4a5]{height:1px;background:var(--border-color);margin:16px 0 24px}.user-persona-section[data-v-94c7d4a5]{margin-top:24px;padding-top:24px;border-top:2px dashed var(--border-color)}.character-item[data-v-94c7d4a5]{display:flex;align-items:center;gap:12px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.character-item[data-v-94c7d4a5]:hover{border-color:var(--primary-color)}.character-avatar[data-v-94c7d4a5]{font-size:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden}.character-avatar-img[data-v-94c7d4a5]{width:100%;height:100%;object-fit:cover}.character-info[data-v-94c7d4a5]{flex:1;min-width:0}.character-name[data-v-94c7d4a5]{font-size:14px;font-weight:600;margin:0 0 4px;color:var(--text-primary)}.character-role[data-v-94c7d4a5]{font-size:12px;color:var(--text-secondary);margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.character-actions[data-v-94c7d4a5]{display:flex;gap:6px}.action-btn[data-v-94c7d4a5]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.action-btn[data-v-94c7d4a5]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.action-btn.delete[data-v-94c7d4a5]:hover{background:var(--danger-color);border-color:var(--danger-color)}.memories-list[data-v-94c7d4a5]{display:flex;flex-direction:column;gap:12px}.memory-item[data-v-94c7d4a5]{position:relative;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.memory-item[data-v-94c7d4a5]:hover{border-color:var(--primary-color)}.memory-type[data-v-94c7d4a5]{font-size:11px;font-weight:600;color:var(--primary-color);margin-bottom:6px;text-transform:uppercase}.memory-content[data-v-94c7d4a5]{font-size:13px;color:var(--text-primary);line-height:1.5;padding-right:24px}.memory-delete[data-v-94c7d4a5]{position:absolute;top:8px;right:8px;width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;opacity:0;transition:all .3s ease}.memory-item:hover .memory-delete[data-v-94c7d4a5]{opacity:1}.memory-delete[data-v-94c7d4a5]:hover{color:var(--danger-color)}.info-grid[data-v-94c7d4a5]{display:grid;grid-template-columns:1fr 1fr;gap:12px}.info-item[data-v-94c7d4a5]{display:flex;flex-direction:column;gap:6px}.info-item.full-width[data-v-94c7d4a5]{grid-column:span 2}.info-item label[data-v-94c7d4a5]{font-size:12px;font-weight:500;color:var(--text-secondary)}.sidebar-footer[data-v-94c7d4a5]{padding:16px;border-top:1px solid var(--border-color)}.save-btn[data-v-94c7d4a5]{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;background:var(--primary-color);border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease}.save-btn[data-v-94c7d4a5]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.shine-effect[data-v-94c7d4a5]{position:relative;overflow:hidden}.shine-effect[data-v-94c7d4a5]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.shine-effect[data-v-94c7d4a5]:hover:before{left:100%}.form-group[data-v-94c7d4a5]{margin-bottom:16px}.form-group label[data-v-94c7d4a5]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.form-control[data-v-94c7d4a5]{width:100%;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;transition:all .3s ease}.form-control[data-v-94c7d4a5]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0000001a}.textarea[data-v-94c7d4a5]{resize:vertical;min-height:60px;font-family:inherit}.form-hint[data-v-94c7d4a5]{margin:4px 0 0;font-size:11px;color:var(--text-secondary);font-style:italic}select.form-control[data-v-94c7d4a5]{cursor:pointer}@media (max-width: 768px){.tavern-sidebar[data-v-94c7d4a5]{position:fixed;top:56px;right:0;bottom:0;left:0;width:100%;max-width:none;z-index:101;transform:translate(100%);transition:transform .3s ease}.tavern-sidebar.mobile-open[data-v-94c7d4a5]{transform:translate(0)}.sidebar-tabs[data-v-94c7d4a5]{grid-template-columns:repeat(4,1fr)}.tab-btn[data-v-94c7d4a5]{padding:8px 4px}}.confirm-overlay[data-v-94c7d4a5]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-94c7d4a5 .2s ease}@keyframes fadeIn-94c7d4a5{0%{opacity:0}to{opacity:1}}.confirm-modal[data-v-94c7d4a5]{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;width:90%;animation:slideIn-94c7d4a5 .3s ease}@keyframes slideIn-94c7d4a5{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header[data-v-94c7d4a5]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirm-header h3[data-v-94c7d4a5]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-94c7d4a5]{background:transparent;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}.close-btn[data-v-94c7d4a5]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-body[data-v-94c7d4a5]{padding:20px}.confirm-body p[data-v-94c7d4a5]{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.confirm-footer[data-v-94c7d4a5]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}.confirm-btn[data-v-94c7d4a5]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn.cancel[data-v-94c7d4a5]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn.cancel[data-v-94c7d4a5]:hover{background:var(--bg-hover)}.confirm-btn.danger[data-v-94c7d4a5]{background:var(--danger-color);color:#fff}.confirm-btn.danger[data-v-94c7d4a5]:hover{background:#c0392b}.tab-icon[data-v-94c7d4a5]{font-size:18px}.tab-label[data-v-94c7d4a5]{font-size:10px}.tab-content[data-v-94c7d4a5]{padding:12px}.character-item[data-v-94c7d4a5]{padding:10px}.character-avatar[data-v-94c7d4a5]{font-size:28px}.character-name[data-v-94c7d4a5]{font-size:13px}.sidebar-footer[data-v-94c7d4a5]{padding:12px}.ai-generate-section[data-v-94c7d4a5],.ai-create-character-section[data-v-94c7d4a5]{margin-top:12px;padding-top:12px;border-top:1px solid var(--border-color)}.ai-generate-input-group[data-v-94c7d4a5]{display:flex;gap:8px;width:100%;box-sizing:border-box;align-items:center}.ai-hint-input[data-v-94c7d4a5]{flex:1;font-size:12px;padding:6px 10px;min-width:0}.ai-generate-btn[data-v-94c7d4a5],.ai-fill-btn[data-v-94c7d4a5]{display:flex;align-items:center;justify-content:center;gap:6px;padding:6px 12px;background:var(--primary-color);border:none;border-radius:6px;color:#fff;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;white-space:nowrap;height:32px;flex-shrink:0}.ai-generate-btn[data-v-94c7d4a5]:hover,.ai-fill-btn[data-v-94c7d4a5]:hover{opacity:.9}.ai-generate-btn[data-v-94c7d4a5]:disabled,.ai-fill-btn[data-v-94c7d4a5]:disabled{opacity:.6;cursor:not-allowed}.ai-generate-btn.loading[data-v-94c7d4a5],.ai-fill-btn.loading[data-v-94c7d4a5]{opacity:.8}.loading-spinner[data-v-94c7d4a5]{animation:spin-94c7d4a5 1s linear infinite}@keyframes spin-94c7d4a5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.custom-dropdown[data-v-5395d9ac]{position:relative;width:100%}.dropdown-trigger[data-v-5395d9ac]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .3s ease;min-height:28px;height:28px}.dropdown-trigger[data-v-5395d9ac]:hover{border-color:var(--primary-color)}.dropdown-trigger.open[data-v-5395d9ac]{border-color:var(--primary-color);box-shadow:0 0 0 2px #0000001a}.dropdown-value[data-v-5395d9ac]{flex:1;font-size:12px;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1}.dropdown-arrow[data-v-5395d9ac]{transition:transform .3s ease;flex-shrink:0;color:var(--text-secondary)}.dropdown-arrow.open[data-v-5395d9ac]{transform:rotate(180deg)}.dropdown-menu[data-v-5395d9ac]{position:absolute;bottom:calc(100% + 4px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;max-height:300px;overflow-y:auto;opacity:0;visibility:hidden;transform:translateY(10px);transition:all .2s ease}.dropdown-menu.open[data-v-5395d9ac]{opacity:1;visibility:visible;transform:translateY(0)}.dropdown-item[data-v-5395d9ac]{display:flex;align-items:center;gap:8px;padding:8px 12px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-light)}.dropdown-item[data-v-5395d9ac]:last-child{border-bottom:none}.dropdown-item[data-v-5395d9ac]:hover{background:var(--bg-hover)}.dropdown-item.selected[data-v-5395d9ac]{background:var(--bg-tertiary);color:var(--primary-color)}.item-icon[data-v-5395d9ac]{font-size:12px;font-weight:600;flex-shrink:0}.item-text[data-v-5395d9ac]{font-size:12px;color:var(--text-primary);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-menu[data-v-5395d9ac]::-webkit-scrollbar{width:6px}.dropdown-menu[data-v-5395d9ac]::-webkit-scrollbar-track{background:var(--bg-secondary)}.dropdown-menu[data-v-5395d9ac]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.dropdown-menu[data-v-5395d9ac]::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.tavern-memory[data-v-c3a836c9]{position:fixed;top:0;right:0;bottom:0;width:500px;background:var(--bg-primary);border-left:1px solid var(--border-color);display:flex;flex-direction:column;z-index:1001;box-shadow:-4px 0 20px #00000026}.memory-header[data-v-c3a836c9]{display:flex;align-items:center;justify-content:space-between;padding:20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.header-left[data-v-c3a836c9]{flex:1}.header-title[data-v-c3a836c9]{margin:0 0 4px;font-size:18px;font-weight:600;color:var(--text-primary)}.header-subtitle[data-v-c3a836c9]{margin:0;font-size:13px;color:var(--text-secondary)}.close-btn[data-v-c3a836c9]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.close-btn[data-v-c3a836c9]:hover{background:var(--danger-color);color:#fff;border-color:var(--danger-color)}.tavern-memory[data-v-c3a836c9]>*:not(.memory-header){flex:1;overflow-y:auto;padding:20px}.memory-section[data-v-c3a836c9]{margin-bottom:0}.empty-state[data-v-c3a836c9]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;text-align:center;color:var(--text-secondary)}.empty-icon[data-v-c3a836c9]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state p[data-v-c3a836c9]{margin:4px 0}.empty-hint[data-v-c3a836c9]{font-size:12px;color:var(--text-tertiary)}.characters-grid[data-v-c3a836c9]{display:grid;gap:16px}.character-card[data-v-c3a836c9]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:all .3s ease}.character-card[data-v-c3a836c9]:hover{border-color:var(--primary-color)}.character-header[data-v-c3a836c9]{display:flex;align-items:center;justify-content:space-between;padding:16px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary);flex-wrap:nowrap}.character-info[data-v-c3a836c9]{display:flex;align-items:center;gap:12px;flex:1;min-width:0;overflow:hidden}.character-avatar[data-v-c3a836c9]{font-size:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;overflow:hidden}.character-avatar-img[data-v-c3a836c9]{width:100%;height:100%;object-fit:cover}.character-details[data-v-c3a836c9]{flex:1;min-width:0;overflow:hidden}.character-name[data-v-c3a836c9]{margin:0 0 4px;font-size:15px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.character-role[data-v-c3a836c9]{margin:0;font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical}.character-actions[data-v-c3a836c9]{display:flex;gap:8px;flex-shrink:0;margin-left:12px}.action-btn[data-v-c3a836c9]{display:flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .3s ease;background:var(--bg-primary);color:var(--text-primary)}.action-btn[data-v-c3a836c9]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.action-btn[data-v-c3a836c9]:disabled{opacity:.5;cursor:not-allowed}.summarize-btn[data-v-c3a836c9]{color:var(--primary-color);border-color:var(--primary-color)}.add-btn[data-v-c3a836c9]{color:var(--success-color);border-color:var(--success-color)}.character-memories[data-v-c3a836c9]{padding:16px;max-height:250px;overflow-y:auto}.character-empty[data-v-c3a836c9]{text-align:center;color:var(--text-tertiary);font-size:13px;padding:30px 0}.character-memories-list[data-v-c3a836c9]{display:flex;flex-direction:column;gap:10px}.memory-item[data-v-c3a836c9]{padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;transition:all .3s ease}.memory-item[data-v-c3a836c9]:hover{border-color:var(--primary-color)}.memory-content[data-v-c3a836c9]{font-size:13px;color:var(--text-primary);line-height:1.6;margin-bottom:8px}.memory-footer[data-v-c3a836c9]{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px solid var(--border-color)}.memory-time[data-v-c3a836c9]{font-size:11px;color:var(--text-tertiary)}.memory-delete[data-v-c3a836c9]{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;color:var(--text-tertiary);cursor:pointer;border-radius:4px;transition:all .2s ease}.memory-delete[data-v-c3a836c9]:hover{background:var(--danger-color);color:#fff}.confirm-overlay[data-v-c3a836c9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-c3a836c9 .2s ease}@keyframes fadeIn-c3a836c9{0%{opacity:0}to{opacity:1}}.confirm-modal[data-v-c3a836c9]{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:500px;width:90%;animation:slideIn-c3a836c9 .3s ease}@keyframes slideIn-c3a836c9{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header[data-v-c3a836c9]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirm-header h3[data-v-c3a836c9]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-c3a836c9]{background:transparent;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}.close-btn[data-v-c3a836c9]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-body[data-v-c3a836c9]{padding:20px}.form-group[data-v-c3a836c9]{margin-bottom:16px}.form-group[data-v-c3a836c9]:last-child{margin-bottom:0}.form-group label[data-v-c3a836c9]{display:block;margin-bottom:8px;font-size:13px;font-weight:500;color:var(--text-primary)}.character-selector[data-v-c3a836c9]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px}.selected-character-avatar[data-v-c3a836c9]{font-size:24px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;overflow:hidden}.selected-character-avatar-img[data-v-c3a836c9]{width:100%;height:100%;object-fit:cover}.selected-character-name[data-v-c3a836c9]{font-size:14px;font-weight:500;color:var(--text-primary)}.form-control[data-v-c3a836c9]{width:100%;padding:10px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .3s ease}.form-control[data-v-c3a836c9]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0000001a}.textarea[data-v-c3a836c9]{resize:vertical;min-height:120px;font-family:inherit}.confirm-footer[data-v-c3a836c9]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}.confirm-btn[data-v-c3a836c9]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn.cancel[data-v-c3a836c9]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn.cancel[data-v-c3a836c9]:hover{background:var(--bg-hover)}.confirm-btn.primary[data-v-c3a836c9]{background:var(--primary-color);color:#fff}.confirm-btn.primary[data-v-c3a836c9]:hover:not(:disabled){background:var(--primary-hover)}.confirm-btn[data-v-c3a836c9]:disabled{opacity:.5;cursor:not-allowed}.loading-overlay[data-v-c3a836c9]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:3000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.loading-content[data-v-c3a836c9]{text-align:center;color:#fff}.loading-spinner[data-v-c3a836c9]{width:48px;height:48px;border:4px solid rgba(255,255,255,.3);border-top:4px solid white;border-radius:50%;margin:0 auto 16px;animation:spin-c3a836c9 1s linear infinite}.loading-content p[data-v-c3a836c9]{margin:0;font-size:14px}@keyframes spin-c3a836c9{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.tavern-memory[data-v-c3a836c9]{width:100%;max-width:100%}.characters-grid[data-v-c3a836c9]{grid-template-columns:1fr}.character-header[data-v-c3a836c9]{padding:12px}.character-info[data-v-c3a836c9]{gap:8px}.character-avatar[data-v-c3a836c9]{font-size:28px}.character-name[data-v-c3a836c9]{font-size:14px}.character-role[data-v-c3a836c9]{font-size:11px}.character-actions[data-v-c3a836c9]{gap:6px}.action-btn[data-v-c3a836c9]{padding:6px 10px;font-size:11px}.action-btn span[data-v-c3a836c9]{display:none}.action-btn svg[data-v-c3a836c9]{margin:0}.character-memories[data-v-c3a836c9]{padding:12px}}.tavern-chat[data-v-7cf9b331]{display:flex;flex-direction:column;flex:1;min-width:0;height:100%;background:var(--bg-primary);overflow:hidden}.chat-header[data-v-7cf9b331]{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);height:52px;min-height:52px}.scene-info[data-v-7cf9b331]{flex:1;min-width:0}.scene-title[data-v-7cf9b331]{font-size:16px;font-weight:600;margin:0;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-description[data-v-7cf9b331]{display:none}.ai-status[data-v-7cf9b331]{display:block;font-size:12px;color:var(--primary-color);margin-top:4px;animation:pulse-7cf9b331 1.5s ease-in-out infinite}@keyframes pulse-7cf9b331{0%,to{opacity:1}50%{opacity:.6}}.chat-controls[data-v-7cf9b331]{display:flex;gap:6px;align-items:center}.control-btn[data-v-7cf9b331]{display:flex;align-items:center;gap:4px;padding:6px 10px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:all .3s ease}.control-btn[data-v-7cf9b331]:hover,.control-btn.active[data-v-7cf9b331]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.sidebar-toggle[data-v-7cf9b331]{display:flex}.shine-effect[data-v-7cf9b331]{position:relative;overflow:hidden}.shine-effect[data-v-7cf9b331]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.shine-effect[data-v-7cf9b331]:hover:before{left:100%}.chat-messages[data-v-7cf9b331]{flex:1;overflow-y:auto;padding:0;display:flex;flex-direction:column;position:relative}.system-notifications-fixed[data-v-7cf9b331]{position:absolute;top:0;left:0;right:0;z-index:10;display:flex;flex-direction:column;gap:8px;align-items:center;padding:16px 24px;box-shadow:0 2px 8px #0000000d;pointer-events:none}.system-notifications-fixed .system-notification[data-v-7cf9b331]{pointer-events:auto}.messages-container[data-v-7cf9b331]{flex:1;padding:24px;overflow-y:auto}.empty-state[data-v-7cf9b331]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:24px;text-align:center;color:var(--text-secondary)}.empty-icon[data-v-7cf9b331]{font-size:64px;margin-bottom:16px;opacity:.5}.empty-state h3[data-v-7cf9b331]{font-size:20px;margin:0 0 8px;color:var(--text-primary)}.empty-state p[data-v-7cf9b331]{font-size:14px;margin:0 0 24px}.characters-preview[data-v-7cf9b331]{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.character-preview-item[data-v-7cf9b331]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;cursor:pointer;transition:all .3s ease}.character-preview-item[data-v-7cf9b331]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px)}.character-avatar[data-v-7cf9b331]{font-size:20px;display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;overflow:hidden}.character-avatar-img[data-v-7cf9b331]{width:100%;height:100%;object-fit:cover}.character-name[data-v-7cf9b331]{font-size:13px;font-weight:500}.messages-container[data-v-7cf9b331]{display:flex;flex-direction:column;gap:20px;max-width:100%;width:100%;padding:0 16px}.system-notification[data-v-7cf9b331]{display:flex;align-items:center;justify-content:center;padding:10px 20px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:20px;color:var(--text-secondary);font-size:13px;box-shadow:0 2px 8px #0000001a;animation:notificationFadeIn-7cf9b331 .3s ease;max-width:80%;text-align:center}@keyframes notificationFadeIn-7cf9b331{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.message[data-v-7cf9b331]{display:flex;gap:12px;margin-bottom:24px;animation:messageSlideIn-7cf9b331 .3s ease}.message.user[data-v-7cf9b331]{flex-direction:row-reverse}.message-avatar[data-v-7cf9b331]{flex-shrink:0}.avatar[data-v-7cf9b331]{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.avatar.user[data-v-7cf9b331]{background:var(--primary-color)}.avatar.assistant[data-v-7cf9b331]{background:var(--secondary-color)}.avatar-img[data-v-7cf9b331]{width:100%;height:100%;object-fit:cover;border-radius:50%}.message-content-wrapper[data-v-7cf9b331]{flex:1;max-width:min(70%,600px);min-width:0}.message.user .message-content-wrapper[data-v-7cf9b331]{display:flex;flex-direction:column;align-items:flex-end}.message-content[data-v-7cf9b331]{padding:16px 20px;border-radius:var(--radius);background:transparent;border:1px solid var(--border-light);color:var(--text-primary);line-height:1.5;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word;animation:messageAppear-7cf9b331 .3s ease;max-width:100%;box-sizing:border-box}.message-sender[data-v-7cf9b331]{font-weight:600;color:var(--secondary-color);margin-bottom:8px;font-size:14px}.message-text[data-v-7cf9b331]{color:var(--text-primary)}.message.user .message-content[data-v-7cf9b331]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.message.user .message-text[data-v-7cf9b331]{color:#fff}.message-time[data-v-7cf9b331]{font-size:11px;color:var(--text-tertiary);margin-top:4px;padding:0 4px}.message.user .message-time[data-v-7cf9b331]{text-align:right}.message-actions[data-v-7cf9b331]{display:flex;gap:8px;align-items:center;opacity:0;transition:opacity .3s ease;margin-top:8px}.message:hover .message-actions[data-v-7cf9b331]{opacity:1}.action-btn[data-v-7cf9b331]{background:transparent;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}.action-btn[data-v-7cf9b331]:hover{background:var(--bg-hover);color:var(--text-primary)}.action-divider[data-v-7cf9b331]{color:var(--text-tertiary);font-size:12px}.system-message-content[data-v-7cf9b331]{text-align:center;padding:12px 20px;background:var(--bg-tertiary);border-radius:var(--radius);color:var(--text-secondary);font-size:14px;margin:16px 0}.typing-indicator[data-v-7cf9b331]{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.typing-dots[data-v-7cf9b331]{display:flex;gap:4px}.typing-dot[data-v-7cf9b331]{width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;animation:typingBounce-7cf9b331 1.4s ease-in-out infinite both}.typing-dot[data-v-7cf9b331]:nth-child(1){animation-delay:-.32s}.typing-dot[data-v-7cf9b331]:nth-child(2){animation-delay:-.16s}@keyframes messageSlideIn-7cf9b331{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageAppear-7cf9b331{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes fadeInUp-7cf9b331{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.system-message[data-v-7cf9b331]{justify-content:center}.typing[data-v-7cf9b331]{display:flex;align-items:center;gap:4px;padding:12px 16px}.typing-indicator span[data-v-7cf9b331]{width:8px;height:8px;background:var(--text-secondary);border-radius:50%;animation:typingBounce-7cf9b331 1.4s infinite ease-in-out both}.typing-indicator span[data-v-7cf9b331]:nth-child(1){animation-delay:-.32s}.typing-indicator span[data-v-7cf9b331]:nth-child(2){animation-delay:-.16s}@keyframes typingBounce-7cf9b331{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.chat-input-area[data-v-7cf9b331]{padding:16px 24px;background:var(--bg-secondary);border-top:1px solid var(--border-color);position:relative}.input-header[data-v-7cf9b331]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.target-selector[data-v-7cf9b331]{display:flex;align-items:center;gap:8px}.target-selector label[data-v-7cf9b331]{font-size:12px;color:var(--text-secondary)}.action-link[data-v-7cf9b331]{padding:4px 8px;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--primary-color);font-size:12px;cursor:pointer;transition:all .3s ease}.action-link[data-v-7cf9b331]:hover{background:var(--primary-color);color:#fff}.input-wrapper[data-v-7cf9b331]{display:flex;gap:12px;align-items:flex-end}.chat-input[data-v-7cf9b331]{flex:1;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;color:var(--text-primary);font-size:14px;resize:none;min-height:44px;max-height:120px;transition:all .3s ease}.chat-input[data-v-7cf9b331]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0000001a}.send-btn[data-v-7cf9b331]{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--primary-color);border:none;border-radius:12px;cursor:pointer;transition:all .3s ease;flex-shrink:0;padding:0}.send-btn .send-icon[data-v-7cf9b331]{width:20px;height:20px;display:flex;align-items:center;justify-content:center}.send-btn .send-icon svg[data-v-7cf9b331]{width:100%;height:100%;color:#fff;stroke:#fff}.send-btn[data-v-7cf9b331]:hover:not(:disabled){transform:scale(1.05);box-shadow:0 4px 12px #0003}.send-btn[data-v-7cf9b331]:disabled{opacity:.5;cursor:not-allowed}.send-btn:disabled .send-icon svg[data-v-7cf9b331]{opacity:.7}.confirm-overlay[data-v-7cf9b331]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-7cf9b331 .2s ease}@keyframes fadeIn-7cf9b331{0%{opacity:0}to{opacity:1}}.confirm-modal[data-v-7cf9b331]{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;width:90%;animation:slideIn-7cf9b331 .3s ease}@keyframes slideIn-7cf9b331{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header[data-v-7cf9b331]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirm-header h3[data-v-7cf9b331]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-7cf9b331]{background:transparent;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}.close-btn[data-v-7cf9b331]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-body[data-v-7cf9b331]{padding:20px}.confirm-body p[data-v-7cf9b331]{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.confirm-footer[data-v-7cf9b331]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}.confirm-btn[data-v-7cf9b331]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn.cancel[data-v-7cf9b331]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn.cancel[data-v-7cf9b331]:hover{background:var(--bg-hover)}.confirm-btn.danger[data-v-7cf9b331]{background:var(--danger-color);color:#fff}.confirm-btn.danger[data-v-7cf9b331]:hover{background:#c0392b}@media (max-width: 768px){.chat-header[data-v-7cf9b331]{padding:8px 12px;height:48px;min-height:48px}.scene-title[data-v-7cf9b331]{font-size:14px}.chat-controls[data-v-7cf9b331]{gap:4px}.control-btn[data-v-7cf9b331]{padding:4px 8px;font-size:11px}.chat-messages[data-v-7cf9b331]{padding:16px 12px}.messages-container[data-v-7cf9b331]{gap:16px}.message-avatar[data-v-7cf9b331]{width:36px;height:36px}.avatar-emoji[data-v-7cf9b331]{font-size:20px}.message-content[data-v-7cf9b331]{padding:10px 14px;font-size:14px}.character-preview-item[data-v-7cf9b331]{padding:6px 12px;font-size:12px}.character-avatar[data-v-7cf9b331]{font-size:18px}.chat-input-area[data-v-7cf9b331]{padding:12px 16px}.input-header[data-v-7cf9b331]{margin-bottom:8px;flex-wrap:wrap;gap:8px}.target-select[data-v-7cf9b331]{padding:4px 6px;font-size:11px}.action-link[data-v-7cf9b331]{padding:4px 8px;font-size:11px}.chat-input[data-v-7cf9b331]{padding:10px 14px;font-size:14px;min-height:40px}.send-btn[data-v-7cf9b331]{width:40px;height:40px}.input-hint[data-v-7cf9b331]{max-height:200px}}.input-hint[data-v-7cf9b331]{position:absolute;bottom:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);max-height:300px;overflow-y:auto;z-index:1000;margin-bottom:8px;animation:fadeIn-7cf9b331 .2s ease}.hint-item[data-v-7cf9b331]{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;transition:all .2s ease;border-bottom:1px solid var(--border-color)}.hint-item[data-v-7cf9b331]:last-child{border-bottom:none}.hint-item[data-v-7cf9b331]:hover,.hint-item.selected[data-v-7cf9b331]{background:var(--bg-hover)}.hint-icon[data-v-7cf9b331]{font-size:20px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;overflow:hidden}.hint-icon-img[data-v-7cf9b331]{width:100%;height:100%;object-fit:cover}.hint-text[data-v-7cf9b331]{flex:1;font-size:14px;font-weight:500;color:var(--text-primary)}.hint-description[data-v-7cf9b331]{font-size:12px;color:var(--text-secondary);flex-shrink:0}.tavern-container[data-v-e0e02f1e]{position:fixed;top:0;left:0;right:0;bottom:0;display:flex;flex-direction:column;height:100vh;width:100vw;background:var(--bg-primary);color:var(--text-primary);z-index:1000}.tavern-container[data-v-e0e02f1e] *{color:var(--text-primary)}.tavern-header[data-v-e0e02f1e]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:0 2px 8px #0000001a;z-index:100;height:56px;min-height:56px}.tavern-title[data-v-e0e02f1e]{display:flex;align-items:center;gap:12px;margin:0;font-size:20px;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.tavern-title[data-v-e0e02f1e]:hover{opacity:.8}.title-icon[data-v-e0e02f1e]{font-size:24px}.title-text[data-v-e0e02f1e]{background:var(--gradient-primary, linear-gradient(135deg, var(--primary-color), var(--secondary-color)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.back-hint[data-v-e0e02f1e]{font-size:12px;color:var(--text-secondary);font-weight:400;opacity:0;transition:opacity .3s ease}.tavern-action-btn[data-v-e0e02f1e]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);font-size:13px;cursor:pointer;transition:all .3s ease}.tavern-configs-view[data-v-e0e02f1e]{height:100%;padding:32px;overflow-y:auto}.tavern-empty-state[data-v-e0e02f1e]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;text-align:center}.empty-icon[data-v-e0e02f1e]{font-size:80px;margin-bottom:24px;opacity:.5}.tavern-empty-state h3[data-v-e0e02f1e]{font-size:24px;margin-bottom:8px;color:var(--text-primary)}.tavern-empty-state p[data-v-e0e02f1e]{color:var(--text-secondary);margin-bottom:32px}.create-config-btn[data-v-e0e02f1e]{display:flex;align-items:center;gap:8px;padding:12px 24px;background:var(--gradient-primary, linear-gradient(135deg, var(--primary-color), var(--secondary-color)));border:none;border-radius:12px;color:#fff;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.create-config-btn[data-v-e0e02f1e]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.tavern-configs-grid[data-v-e0e02f1e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;max-width:1200px;margin:0 auto}.tavern-config-card[data-v-e0e02f1e]{display:flex;align-items:flex-start;gap:16px;padding:20px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .3s ease;text-align:left;position:relative}.tavern-config-card[data-v-e0e02f1e]:hover{border-color:var(--primary-color);transform:translateY(-4px);box-shadow:0 8px 24px #00000026}.tavern-config-card.create-new[data-v-e0e02f1e]{border-style:dashed;opacity:.7}.tavern-config-card.create-new[data-v-e0e02f1e]:hover{opacity:1;border-color:var(--primary-color)}.config-card-icon[data-v-e0e02f1e]{font-size:48px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;overflow:hidden}.config-card-icon-img[data-v-e0e02f1e]{width:100%;height:100%;object-fit:cover}.config-card-info[data-v-e0e02f1e]{flex:1;min-width:0}.config-card-title[data-v-e0e02f1e]{font-size:18px;font-weight:600;margin:0 0 8px;color:var(--text-primary)}.config-card-description[data-v-e0e02f1e]{font-size:14px;color:var(--text-secondary);margin:0 0 12px;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.config-card-meta[data-v-e0e02f1e]{display:flex;gap:16px;flex-wrap:wrap}.meta-item[data-v-e0e02f1e]{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary)}.config-card-actions[data-v-e0e02f1e]{display:flex;flex-direction:column;gap:8px}.config-action-btn[data-v-e0e02f1e]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-secondary);cursor:pointer;transition:all .3s ease}.config-action-btn[data-v-e0e02f1e]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.config-action-btn.delete[data-v-e0e02f1e]:hover{background:var(--danger-color);border-color:var(--danger-color)}.config-action-btn.export[data-v-e0e02f1e]:hover{background:var(--success-color);border-color:var(--success-color)}.configs-header[data-v-e0e02f1e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding:0 8px}.configs-title[data-v-e0e02f1e]{font-size:24px;font-weight:600;margin:0;color:var(--text-primary)}.import-btn[data-v-e0e02f1e]{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--primary-color);border:none;border-radius:12px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #0003}.import-btn[data-v-e0e02f1e]:hover{transform:translateY(-2px);box-shadow:0 6px 16px #0000004d}.shine-effect[data-v-e0e02f1e]{position:relative;overflow:hidden}.shine-effect[data-v-e0e02f1e]:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.shine-effect[data-v-e0e02f1e]:hover:before{left:100%}.confirm-overlay[data-v-e0e02f1e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn-e0e02f1e .2s ease}@keyframes fadeIn-e0e02f1e{0%{opacity:0}to{opacity:1}}.confirm-modal[data-v-e0e02f1e]{background:var(--bg-primary);border-radius:12px;box-shadow:var(--shadow-lg);max-width:400px;width:90%;animation:slideIn-e0e02f1e .3s ease}@keyframes slideIn-e0e02f1e{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.confirm-header[data-v-e0e02f1e]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color)}.confirm-header h3[data-v-e0e02f1e]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.close-btn[data-v-e0e02f1e]{background:transparent;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}.close-btn[data-v-e0e02f1e]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.confirm-body[data-v-e0e02f1e]{padding:20px}.confirm-body p[data-v-e0e02f1e]{font-size:14px;color:var(--text-secondary);margin:0;line-height:1.5}.confirm-footer[data-v-e0e02f1e]{display:flex;gap:12px;padding:16px 20px;border-top:1px solid var(--border-color);justify-content:flex-end}.confirm-btn[data-v-e0e02f1e]{padding:8px 16px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.confirm-btn.cancel[data-v-e0e02f1e]{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.confirm-btn.cancel[data-v-e0e02f1e]:hover{background:var(--bg-hover)}.confirm-btn.danger[data-v-e0e02f1e]{background:var(--danger-color);color:#fff}.confirm-btn.danger[data-v-e0e02f1e]:hover{background:#c0392b}.tavern-main-view[data-v-e0e02f1e]{position:relative;display:flex;height:100%;overflow:hidden}.tavern-title:hover .back-hint[data-v-e0e02f1e]{opacity:1}.tavern-header-left[data-v-e0e02f1e]{display:flex;align-items:center;gap:12px}.back-to-configs-btn[data-v-e0e02f1e]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:13px;cursor:pointer;transition:all .3s ease}.back-to-configs-btn[data-v-e0e02f1e]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.config-name-display[data-v-e0e02f1e]{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px}.config-icon[data-v-e0e02f1e]{font-size:20px;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;overflow:hidden}.config-icon-img[data-v-e0e02f1e]{width:100%;height:100%;object-fit:cover}.config-name[data-v-e0e02f1e]{font-size:15px;font-weight:600;color:var(--text-primary)}.tavern-header-actions[data-v-e0e02f1e]{display:flex;gap:12px;align-items:center}.tavern-action-btn[data-v-e0e02f1e]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #0003}.tavern-content[data-v-e0e02f1e]{flex:1;overflow:hidden}.tavern-main-view[data-v-e0e02f1e]{display:flex;height:100%;overflow:hidden}.form-group[data-v-e0e02f1e]{margin-bottom:20px}.form-group label[data-v-e0e02f1e]{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary)}.form-control[data-v-e0e02f1e]{width:100%;padding:10px 14px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);font-size:14px;transition:all .3s ease}.form-control[data-v-e0e02f1e]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #0000001a}.textarea[data-v-e0e02f1e]{resize:vertical;min-height:80px;font-family:inherit}@media (max-width: 768px){.tavern-header[data-v-e0e02f1e]{padding:10px 16px;height:52px;min-height:52px}.tavern-title[data-v-e0e02f1e]{font-size:16px}.title-icon[data-v-e0e02f1e]{font-size:20px}.back-hint[data-v-e0e02f1e]{display:none}.tavern-header-left[data-v-e0e02f1e]{gap:8px}.back-to-configs-btn[data-v-e0e02f1e]{padding:4px 8px;font-size:12px}.config-name-display[data-v-e0e02f1e]{padding:4px 8px}.config-icon[data-v-e0e02f1e]{font-size:16px}.config-name[data-v-e0e02f1e]{font-size:13px}.tavern-header-actions[data-v-e0e02f1e]{gap:6px}.tavern-action-btn[data-v-e0e02f1e]{padding:4px 8px;font-size:11px}.tavern-configs-view[data-v-e0e02f1e]{padding:16px}.configs-header[data-v-e0e02f1e]{flex-direction:column;gap:16px;align-items:flex-start}.configs-title[data-v-e0e02f1e]{font-size:20px}.import-btn[data-v-e0e02f1e]{width:100%;justify-content:center}.tavern-configs-grid[data-v-e0e02f1e]{grid-template-columns:1fr;gap:12px}.tavern-config-card[data-v-e0e02f1e]{padding:16px}.config-card-icon[data-v-e0e02f1e]{font-size:40px}.config-card-title[data-v-e0e02f1e]{font-size:16px}.empty-icon[data-v-e0e02f1e]{font-size:60px}.create-config-btn[data-v-e0e02f1e]{padding:10px 20px;font-size:14px}.tavern-main-view[data-v-e0e02f1e]{position:relative}}.mobile-sidebar-overlay[data-v-e0e02f1e]{position:fixed;top:56px;left:0;right:0;bottom:0;background:#00000080;z-index:99}.file-display[data-v-5f74cf8e]{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .2s ease;margin:8px 0}.file-display[data-v-5f74cf8e]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.file-display-icon[data-v-5f74cf8e]{font-size:18px;flex-shrink:0}.file-display-info[data-v-5f74cf8e]{flex:1;min-width:0}.file-display-name[data-v-5f74cf8e]{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-display-meta[data-v-5f74cf8e]{font-size:11px;color:var(--text-secondary);margin-top:2px}.file-display-arrow[data-v-5f74cf8e]{flex-shrink:0;color:var(--text-secondary);transition:transform .2s ease}.file-display:hover .file-display-arrow[data-v-5f74cf8e]{color:var(--primary-color);transform:translate(2px)}[data-theme=dark] .file-display[data-v-5f74cf8e]{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .file-display[data-v-5f74cf8e]:hover{background:var(--bg-secondary);border-color:var(--primary-color)}.file-viewer-modal[data-v-45ce118e]{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:9999;padding:20px}.file-viewer-container[data-v-45ce118e]{width:100%;max-width:900px;max-height:80vh;background:var(--bg-primary);border-radius:12px;box-shadow:0 8px 32px #0000004d;display:flex;flex-direction:column;overflow:hidden}.file-viewer-header[data-v-45ce118e]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color)}.file-viewer-title[data-v-45ce118e]{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.file-viewer-icon[data-v-45ce118e]{font-size:24px;flex-shrink:0}.file-viewer-name[data-v-45ce118e]{font-size:16px;font-weight:600;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-viewer-actions[data-v-45ce118e]{display:flex;align-items:center;gap:8px;flex-shrink:0}.action-btn[data-v-45ce118e]{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-btn[data-v-45ce118e]:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.action-btn svg[data-v-45ce118e]{flex-shrink:0}.close-btn[data-v-45ce118e]{padding:8px}.close-btn svg[data-v-45ce118e]{margin:0}.file-viewer-content[data-v-45ce118e]{flex:1;overflow-y:auto;padding:20px;background:var(--bg-primary)}.file-viewer-content pre[data-v-45ce118e]{margin:0;font-size:14px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word;font-family:Consolas,Monaco,Courier New,monospace}.file-viewer-footer[data-v-45ce118e]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-secondary);border-top:1px solid var(--border-color);font-size:12px;color:var(--text-secondary)}[data-theme=dark] .file-viewer-modal[data-v-45ce118e]{background:#000000b3}[data-theme=dark] .file-viewer-container[data-v-45ce118e]{background:var(--bg-secondary);border:1px solid var(--border-color)}[data-theme=dark] .file-viewer-header[data-v-45ce118e]{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .action-btn[data-v-45ce118e]{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .action-btn[data-v-45ce118e]:hover{background:var(--bg-tertiary)}[data-theme=dark] .file-viewer-content[data-v-45ce118e]{background:var(--bg-secondary)}[data-theme=dark] .file-viewer-footer[data-v-45ce118e]{background:var(--bg-tertiary);border-color:var(--border-color)}.file-viewer-content[data-v-45ce118e]::-webkit-scrollbar{width:8px}.file-viewer-content[data-v-45ce118e]::-webkit-scrollbar-track{background:var(--bg-primary);border-radius:4px}.file-viewer-content[data-v-45ce118e]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.file-viewer-content[data-v-45ce118e]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}@media (max-width: 768px){.file-viewer-modal[data-v-45ce118e]{padding:10px}.file-viewer-container[data-v-45ce118e]{max-height:90vh}.file-viewer-header[data-v-45ce118e]{padding:12px 16px}.file-viewer-content[data-v-45ce118e]{padding:16px}.file-viewer-footer[data-v-45ce118e]{padding:10px 16px}.file-viewer-name[data-v-45ce118e]{font-size:14px}.action-btn[data-v-45ce118e]{padding:6px 10px;font-size:12px}.file-viewer-content pre[data-v-45ce118e]{font-size:13px}}:root{--bg-primary: #ffffff;--bg-secondary: #f8f9fa;--bg-tertiary: #e9ecef;--bg-hover: #f1f3f4;--text-primary: #1a1a1a;--text-secondary: #6c757d;--text-tertiary: #adb5bd;--border-color: #dee2e6;--border-light: #e9ecef;--primary-color: #ec4899;--secondary-color: #3b82f6;--gradient-color1: #ec4899;--gradient-color2: #3b82f6;--title-color: var(--primary-color);--component-color: var(--primary-color);--avatar-color: var(--primary-color);--primary-hover: #db2777;--success-color: #28a745;--warning-color: #ffc107;--danger-color: #dc3545;--shadow: 0 2px 10px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, var(--gradient-color1) 0%, var(--gradient-color2) 100%);--gradient-secondary: linear-gradient(135deg, #f9a8d4 0%, #fbcfe8 100%);--text-base: 16px;--radius: 8px;--duration-normal: .3s;--animation-enabled: 1}[data-theme=dark]{--bg-primary: #121212;--bg-secondary: #1e1e1e;--bg-tertiary: #2d2d2d;--bg-hover: #2a2a2a;--text-primary: #ffffff;--text-secondary: #b0b0b0;--text-tertiary: #808080;--border-color: #404040;--border-light: #4d4d4d;--primary-color: #f472b6;--secondary-color: #60a5fa;--gradient-color1: #f472b6;--gradient-color2: #60a5fa;--title-color: var(--primary-color);--component-color: var(--primary-color);--avatar-color: var(--primary-color);--primary-hover: #ec4899;--success-color: #10b981;--warning-color: #f59e0b;--danger-color: #ef4444;--shadow: 0 2px 10px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 40px rgba(0, 0, 0, .6);--gradient-primary: linear-gradient(135deg, var(--gradient-color1) 0%, var(--gradient-color2) 100%);--gradient-secondary: linear-gradient(135deg, #ec4899 0%, #f97316 100%);--text-base: 16px;--radius: 8px;--duration-normal: .3s;--animation-enabled: 1}*{margin:0;padding:0;box-sizing:border-box;transition-duration:calc(var(--animation-enabled, 1) * var(--duration-normal, .3s))}ul,ol{list-style:initial}.message-content ul,.message-content ol{list-style:initial;margin:8px 0;padding-left:24px;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content li{margin:6px 0;line-height:1.6;color:var(--text-primary);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}body{font-family:var(--font-family);background:var(--bg-primary);color:var(--text-primary);transition:background-color .3s ease,color .3s ease;overflow:hidden;font-size:var(--text-base);min-width:0;max-width:100vw}.app{display:flex;height:100vh;width:100vw;position:relative;overflow:hidden;min-height:100vh;min-width:0;max-width:100vw}.theme-toggle{position:fixed;top:20px;right:20px;z-index:1000}.theme-btn{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:50%;width:44px;height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-primary);transition:all .3s ease;box-shadow:var(--shadow)}.theme-btn:hover{background:var(--bg-hover);transform:scale(1.05);box-shadow:var(--shadow-lg)}.sidebar{width:320px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;z-index:10}.sidebar-header{padding:20px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.app-title{display:flex;align-items:center;gap:8px;margin-bottom:12px;font-size:20px;font-weight:700;color:var(--text-primary);cursor:pointer;transition:opacity .2s ease}.title-text{background:var(--title-color);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;letter-spacing:-.5px}.title-dot{width:6px;height:6px;background:var(--primary-color);border-radius:50%;animation:blink 2s ease-in-out infinite;flex-shrink:0}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:.3}}.neon-glow{position:relative}.neon-glow:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:var(--gradient-primary);opacity:.05;border-radius:8px;z-index:-1}.create-agent-btn{width:100%;background:var(--component-color);color:#fff;border:none;padding:10px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;justify-content:center;position:relative;overflow:hidden}.create-agent-btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.create-agent-btn:active{transform:translateY(0)}.btn-icon{font-size:16px;font-weight:600;line-height:1}.agents-list{flex:1;overflow-y:auto;padding:12px}.agent-item{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;margin-bottom:6px;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--bg-primary);border:1px solid transparent;position:relative;min-height:60px}.agent-item:hover{background:var(--bg-hover);border-color:var(--border-color);transform:translate(2px)}.agent-item.active{background:var(--bg-hover);border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color)}.agent-avatar{flex-shrink:0}.avatar-icon{width:36px;height:36px;background:var(--avatar-color);border-radius:10px;display:flex;align-items:center;justify-content:center;color:#fff;font-size:14px;font-weight:600;flex-shrink:0}.avatar-image{width:36px;height:36px;border-radius:10px;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-image img{width:100%;height:100%;object-fit:cover}.agent-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.agent-name{font-weight:600;color:var(--text-primary);margin-bottom:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;line-height:1.4}.agent-scenario{font-size:12px;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.4;opacity:.85}.agent-actions{display:flex;align-items:center;gap:6px;opacity:0;transition:opacity .2s ease;height:100%;margin-top:0!important}.agent-item:hover .agent-actions{opacity:1}.agent-btn{width:32px;height:32px;min-width:32px;min-height:32px;border:none;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease;background:var(--bg-tertiary);color:var(--text-secondary);flex-shrink:0;padding:0}.agent-btn svg{width:16px;height:16px;display:block}.agent-btn:hover{background:var(--bg-hover);transform:scale(1.05)}.agent-btn.edit:hover{color:var(--primary-color);background:#3b82f61a}.agent-btn.delete:hover{color:var(--danger-color);background:#ef44441a}.main-content{flex:1;display:flex;flex-direction:column;background:var(--bg-primary);position:relative;min-width:0;max-width:100%;overflow:hidden}.global-buttons-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;padding:12px 16px;border-top:1px solid var(--border-color);background:var(--bg-primary)}.global-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:12px 10px;background:var(--bg-secondary);border:1px solid transparent;border-radius:12px;color:var(--text-primary);font-size:12px;font-weight:500;cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);white-space:nowrap;position:relative;overflow:hidden}.global-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary-color);opacity:0;transition:opacity .25s ease;border-radius:12px}.global-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.global-btn:hover:before{opacity:.05}.global-btn:active{transform:translateY(0) scale(.98);box-shadow:0 2px 6px #0000000f}.global-btn svg{width:16px;height:16px;flex-shrink:0;transition:transform .25s ease}.global-btn:hover svg{transform:scale(1.1)}.sidebar.collapsed{width:72px}.sidebar.collapsed .sidebar-header{padding:16px 12px;text-align:center}.sidebar.collapsed .app-title{font-size:14px;justify-content:center;margin-bottom:8px}.sidebar.collapsed .title-text{display:none}.sidebar.collapsed .title-dot{margin:0}.sidebar.collapsed .create-agent-btn{padding:10px;border-radius:8px;height:36px;min-height:36px;max-height:36px}.sidebar.collapsed .create-agent-btn .btn-icon{font-size:14px}.sidebar.collapsed .create-agent-btn span:not(.btn-icon){display:none}.sidebar.collapsed .agents-list{padding:8px}.sidebar.collapsed .agent-item{justify-content:center;padding:10px;margin-bottom:4px}.sidebar.collapsed .agent-info,.sidebar.collapsed .agent-actions{display:none}.sidebar.collapsed .agent-avatar{margin:0}.sidebar.collapsed .avatar-icon,.sidebar.collapsed .avatar-image{width:32px;height:32px;font-size:12px}.sidebar.collapsed .global-buttons-grid{display:none}.sidebar-toggle-btn{position:absolute;top:50%;right:-14px;transform:translateY(-50%);width:28px;height:28px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:100;transition:all .2s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 8px #0000001a}.sidebar-toggle-btn:hover{background:var(--primary-color);border-color:var(--primary-color);transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px #ec48994d}.toggle-icon{transition:transform .3s cubic-bezier(.4,0,.2,1);color:var(--text-secondary);width:14px;height:14px}.sidebar-toggle-btn:hover .toggle-icon{color:#fff}.toggle-icon.collapsed{transform:rotate(180deg)}.chat-header{padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-primary);display:flex;justify-content:space-between;align-items:center;max-height:120px;overflow:hidden}.chat-header-info{flex:1;display:flex;align-items:center;gap:16px}.chat-avatar{flex-shrink:0}.chat-avatar .avatar-icon{width:48px;height:48px;font-size:18px}.chat-avatar .avatar-image{width:48px;height:48px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center}.chat-avatar .avatar-image img{width:100%;height:100%;object-fit:cover}.chat-info{flex:1}.chat-title{font-size:20px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.chat-scenario{font-size:14px;color:var(--text-secondary)}.chat-controls{display:flex;gap:8px}.control-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 12px;border-radius:6px;font-size:12px;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:6px;position:relative;overflow:hidden}.control-btn:hover{background:var(--bg-hover);transform:translateY(-1px)}.control-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 .4s ease}.control-btn:hover:before{left:100%}.control-btn.primary{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.control-btn.primary:hover{background:var(--primary-hover)}.chat-messages{flex:1;overflow-y:auto;padding:0 16px 16px;background:var(--bg-primary);min-width:0;max-width:100%;width:100%}.messages-container{max-width:100%;margin:0 auto;padding:0 16px;overflow:hidden}.message{display:flex;gap:12px;margin-bottom:16px;animation:messageSlideIn .3s ease;max-width:100%;min-width:0}.message.user{flex-direction:row-reverse}.message-avatar{flex-shrink:0}.avatar{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#fff}.avatar.user,.avatar.assistant{background:var(--avatar-color)}.message-content-wrapper{flex:1;max-width:min(70%,600px);min-width:0;overflow:hidden}.message.user .message-content-wrapper{display:flex;flex-direction:column;align-items:flex-end}.message-content{padding:16px 20px;border-radius:var(--radius);background:transparent;border:1px solid var(--border-light);color:var(--text-primary);line-height:1.4;word-wrap:break-word;word-break:break-word;white-space:pre-wrap;overflow-wrap:break-word;animation:messageAppear .3s ease;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}.message.user .message-content{background:transparent;color:var(--text-primary);border-color:var(--primary-color)}.reasoning-content{opacity:.7;padding:12px 16px;margin-bottom:16px;background:var(--bg-tertiary);border-left:3px solid var(--primary-color);border-radius:4px;font-size:.95em;line-height:1.6}.reasoning-content:before{content:"💭 思考过程";display:block;font-weight:600;margin-bottom:8px;color:var(--primary-color);font-size:.9em}.normal-content{opacity:1}.message-time{font-size:11px;color:var(--text-tertiary);margin-top:4px;padding:0 4px}.message.user .message-time{text-align:right}.message-metadata{margin-left:8px;display:inline-flex;gap:8px;align-items:center}.metadata-item{font-size:10px;color:var(--text-tertiary);background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;border:1px solid var(--border-light);white-space:nowrap}.message.user .metadata-item{background:#ffffff1a;border-color:#fff3}.chat-input-area{padding:20px 24px;border-top:1px solid var(--border-color);background:var(--bg-primary);min-width:0;max-width:100%;width:100%}.input-wrapper{max-width:800px;margin:0 auto;position:relative;transition:all .4s cubic-bezier(.4,0,.2,1);min-width:0;width:100%}.input-container{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--bg-secondary);border:2px solid var(--border-color);border-radius:20px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 12px #0000000f;min-width:0;max-width:100%;width:100%}.input-wrapper.focused .input-container{border-color:var(--primary-color);box-shadow:0 4px 24px #007bff1f,0 2px 8px #00000014;transform:translateY(-2px)}.chat-input:focus{outline:none;border-color:transparent;box-shadow:none}.input-wrapper.has-content .input-container{border-color:var(--primary-color)}.action-btn{width:36px;height:36px;border:none;border-radius:10px;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s cubic-bezier(.4,0,.2,1);flex-shrink:0;position:relative;overflow:hidden}.action-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,var(--primary-color) 0%,transparent 70%);opacity:0;transform:scale(0);transition:all .4s cubic-bezier(.4,0,.2,1)}.action-btn:hover:not(:disabled):before{opacity:.12;transform:scale(1)}.action-btn:active:not(:disabled){transform:scale(.92)}.action-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.action-btn svg{flex-shrink:0;transition:transform .3s cubic-bezier(.4,0,.2,1)}.suggest-btn{order:1}.suggest-btn:hover:not(:disabled){color:var(--primary-color);background:#007bff14;transform:translateY(-1px)}.suggest-btn:hover:not(:disabled) svg{transform:scale(1.1)}.ai-assistant-container{position:relative;order:1}.ai-assistant-btn{position:relative}.ai-assistant-btn.active{color:var(--primary-color);background:#007bff14}.ai-assistant-btn:hover:not(:disabled){color:var(--primary-color);background:#007bff14;transform:translateY(-1px)}.ai-assistant-btn:hover:not(:disabled) svg{transform:scale(1.1)}.ai-assistant-menu{position:fixed;min-width:160px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius);box-shadow:var(--shadow-lg);z-index:1000;overflow:hidden;animation:slideUp .2s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.ai-assistant-option{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--text-primary);border-bottom:1px solid var(--border-light)}.ai-assistant-option:last-child{border-bottom:none}.ai-assistant-option:hover{background:var(--bg-hover);color:var(--primary-color)}.ai-assistant-option:active{background:var(--bg-secondary);transform:scale(.98)}.ai-assistant-option svg{flex-shrink:0;opacity:.7;transition:all .2s ease}.ai-assistant-option:hover svg{opacity:1;transform:scale(1.1)}.chat-input{flex:1;border:none;background:transparent;padding:10px 0;font-size:15px;line-height:1.6;color:var(--text-primary);resize:none;min-height:36px;max-height:200px;font-family:inherit;transition:all .3s ease;order:2;min-width:0}.chat-input::placeholder{color:var(--text-secondary);opacity:.65;transition:opacity .3s ease}.input-wrapper.focused .chat-input::placeholder{opacity:.4}.chat-input:focus{outline:none}.char-count{font-size:11px;color:var(--text-secondary);opacity:0;transform:translate(8px);transition:all .3s cubic-bezier(.4,0,.2,1);order:3;padding-bottom:2px;flex-shrink:0;font-weight:500}.input-wrapper.has-content .char-count{opacity:.5;transform:translate(0)}.send-btn{order:4;background:var(--bg-tertiary);color:var(--text-secondary);transition:all .4s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center;padding:0;margin:0;border:none;outline:none}.send-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px #007bff40;transform:translateY(-1px)}.send-btn.active:hover{background:var(--primary-hover);box-shadow:0 4px 12px #007bff59;transform:translateY(-2px)}.send-btn.active:hover:before{opacity:.2}.send-btn.active:hover svg{transform:translate(1px) scale(1.05)}.send-btn.loading{background:var(--bg-tertiary);color:var(--primary-color);animation:pulse 2s ease-in-out infinite}.send-btn.loading:before{animation:ripple 1.5s ease-in-out infinite}.send-btn>*{display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0}.send-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%;margin:0;padding:0}.send-icon svg{display:block;margin:0;padding:0}.loading-spinner{margin:0;padding:0;display:flex;align-items:center;justify-content:center}.loading-spinner{width:18px;height:18px;border:2px solid transparent;border-top-color:currentColor;border-radius:50%;animation:spin .8s cubic-bezier(.4,0,.2,1) infinite}.icon-fade-enter-active,.icon-fade-leave-active{transition:all .25s cubic-bezier(.4,0,.2,1)}.icon-fade-enter-from,.icon-fade-leave-to{opacity:0;transform:scale(.85) rotate(-8deg)}.icon-fade-enter-to,.icon-fade-leave-from{opacity:1;transform:scale(1) rotate(0)}.send-btn>*{margin:0;padding:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center}.typing-indicator{display:flex;align-items:center;gap:8px;color:var(--text-secondary)}.typing-dots{display:flex;gap:4px}.typing-dot{width:6px;height:6px;background:var(--text-tertiary);border-radius:50%;animation:typingBounce 1.4s ease-in-out infinite both}.typing-dot:nth-child(1){animation-delay:-.32s}.typing-dot:nth-child(2){animation-delay:-.16s}@keyframes typingBounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary)}.empty-icon{font-size:48px;margin-bottom:16px;opacity:.6}.empty-state h3{font-size:18px;margin-bottom:8px;color:var(--text-primary)}.empty-state p{font-size:14px}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:6px;font-weight:500;color:var(--text-primary);font-size:14px}.form-control{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-control:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.form-control.textarea{resize:vertical;min-height:80px;font-family:inherit}.form-hint{font-size:12px;color:var(--text-secondary);margin-top:6px;line-height:1.4}.checkbox-label{display:flex;align-items:center;gap:8px;cursor:pointer;font-weight:500;color:var(--text-primary);font-size:14px;margin-bottom:0}.checkbox-input{width:16px;height:16px;border:2px solid var(--border-color);border-radius:4px;background:var(--bg-primary);cursor:pointer;transition:all .2s ease;position:relative}.checkbox-input:checked{background:var(--primary-color);border-color:var(--primary-color)}.checkbox-input:checked:after{content:"✓";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#fff;font-size:12px;font-weight:700}.checkbox-input:hover{border-color:var(--primary-color)}.checkbox-text{flex:1}.section-title{font-size:16px;font-weight:600;color:var(--text-primary);margin:24px 0 16px;padding-bottom:8px;border-bottom:2px solid var(--component-color)}.avatar-upload-section{display:flex;flex-direction:column;gap:16px;width:100%}.avatar-selection-hint{margin-top:8px}.avatar-selection-hint p{font-size:12px;color:var(--text-secondary);margin-bottom:8px}.avatar-selection{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin-top:8px;width:100%}.avatar-option{width:40px;height:40px;border:2px solid var(--border-color);border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;background:var(--bg-secondary)}.avatar-option:hover{border-color:var(--primary-color);transform:scale(1.1)}.avatar-option.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.avatar-preview{font-size:16px;line-height:1}[data-theme=dark] .form-control{background:var(--bg-secondary);border-color:var(--border-color)}[data-theme=dark] .form-control:focus{background:var(--bg-primary)}.btn{padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease}.btn.primary{background:var(--primary-color);color:#fff}.btn.primary:hover{background:var(--primary-hover)}[data-color-mode=gradient] .btn.primary,[data-color-mode=advanced-gradient] .btn.primary{background:var(--gradient-primary);color:#fff}[data-color-mode=gradient] .btn.primary:hover,[data-color-mode=advanced-gradient] .btn.primary:hover{background:var(--gradient-primary);filter:brightness(1.1)}.btn.secondary{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.btn.secondary:hover{background:var(--bg-hover)}[data-color-mode=gradient] .btn.secondary,[data-color-mode=advanced-gradient] .btn.secondary{background:transparent;color:#fff;border:1px solid var(--primary-color);background:var(--gradient-primary)}[data-color-mode=gradient] .btn.secondary:hover,[data-color-mode=advanced-gradient] .btn.secondary:hover{filter:brightness(1.1);border-color:var(--primary-hover);border-color:var(--gradient-color2)}.notifications{position:fixed;top:20px;left:50%;transform:translate(-50%);z-index:2000;display:flex;flex-direction:column;gap:8px;max-width:400px;width:90%}.notification{padding:12px 16px;border-radius:8px;background:var(--bg-primary);box-shadow:var(--shadow-lg);animation:notificationSlideIn .3s ease;display:flex;align-items:center;gap:12px}.notification.success,.notification.warning,.notification.danger{border:none}[data-notification-border=left] .notification{border-left:4px solid}[data-notification-border=left] .notification.success{border-left-color:var(--success-color)}[data-notification-border=left] .notification.warning{border-left-color:var(--warning-color)}[data-notification-border=left] .notification.danger{border-left-color:var(--danger-color)}[data-notification-border=right] .notification{border-right:4px solid}[data-notification-border=right] .notification.success{border-right-color:var(--success-color)}[data-notification-border=right] .notification.warning{border-right-color:var(--warning-color)}[data-notification-border=right] .notification.danger{border-right-color:var(--danger-color)}[data-notification-border=full] .notification{border:4px solid}[data-notification-border=full] .notification.success{border-color:var(--success-color)}[data-notification-border=full] .notification.warning{border-color:var(--warning-color)}[data-notification-border=full] .notification.danger{border-color:var(--danger-color)}[data-notification-border=none] .notification{border:none}.notification-content{flex:1}.notification-message{font-size:14px;color:var(--text-primary)}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes messageAppear{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes notificationSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}@media (max-width: 768px){.app{flex-direction:column}.sidebar{width:100%;height:auto;max-height:40vh}.agents-list{max-height:30vh}.message-content-wrapper{max-width:95%}.message-content{padding:12px 16px;font-size:14px}.input-wrapper{padding:0 16px}.theme-toggle{top:10px;right:10px}.theme-btn{width:36px;height:36px}.chat-messages{padding:16px 0}.messages-container{max-width:100%;padding:0 12px}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.agents-list::-webkit-scrollbar{width:4px}.agents-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.agents-list::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}::selection{background:#007bff33}::-moz-selection{background:#007bff33}.message-content *{max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:.9em;color:var(--text-primary);border:1px solid var(--border-light);line-height:1.4;max-width:100%;word-break:break-all;overflow-wrap:break-word}.message-content .code-block-container{position:relative;margin:12px 0;border-radius:8px;border:1px solid var(--border-color);box-shadow:var(--shadow);overflow:hidden}.message-content .code-block-header{display:flex;align-items:center;padding:8px 16px;background:#0000000d;border-bottom:1px solid var(--border-color)}.message-content .code-block-container pre{background:var(--bg-tertiary);padding:0;margin:0;border-radius:0;overflow-x:auto;overflow-y:hidden;font-family:var(--font-mono);font-size:.85em;line-height:1;border:none;box-shadow:none;white-space:pre;word-wrap:normal;word-break:normal;overflow-wrap:normal;position:relative;max-width:100%;width:100%;min-width:0;box-sizing:border-box;display:block}.message-content .code-block-language{font-size:.75em;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.message-content .code-block-container pre::-webkit-scrollbar{height:8px}.message-content .code-block-container pre::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.message-content .code-block-container pre::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px;transition:background .2s ease}.message-content .code-block-container pre::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.message-content .code-block-container pre code{background:none;padding:12px 16px;border:none;border-radius:0;box-shadow:none;font-family:inherit;font-size:inherit;line-height:1.5;display:inline-block;white-space:pre;word-wrap:normal;word-break:normal;overflow-wrap:normal;width:100%;min-width:0;max-width:100%;box-sizing:border-box}.message-content .code-block-container pre p{margin:0;line-height:1.5;color:inherit}.message-content .code-block-container pre .syntax-comment{color:#6a9955;font-style:italic}.message-content .code-block-container pre .syntax-string{color:#ce9178}.message-content .code-block-container pre .syntax-number{color:#b5cea8}.message-content .code-block-container pre .syntax-keyword{color:#569cd6;font-weight:600}.message-content .code-block-container pre .syntax-builtin{color:#4ec9b0}.message-content .code-block-container pre .syntax-function{color:#dcdcaa}.message-content .code-block-container pre .syntax-operator{color:#d4d4d4}.message-content .code-block-container pre .syntax-class{color:#4ec9b0;font-weight:600}.message-content .code-block-container pre .syntax-identifier{color:#9cdcfe}.message-content .code-block-container .copy-button{position:absolute;top:8px;right:8px;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 8px;border-radius:4px;font-size:.75em;cursor:pointer;transition:all .2s;font-family:var(--font-family);z-index:10;opacity:.8}.message-content .code-block-container .copy-button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color);opacity:1}.message-content pre .copy-button:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.message-content pre .copy-button:active{transform:scale(.95)}.message-content pre .copy-button.copied{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.message-content strong,.message-content b{font-weight:700;color:var(--text-primary);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content em,.message-content i{font-style:italic;color:var(--text-secondary);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content strong em,.message-content em strong{font-weight:700;font-style:italic;color:var(--text-primary)}.message-content hr{border:none;border-top:1px solid var(--border-color);margin:16px 0;height:1px}.message-content blockquote{border-left:4px solid var(--primary-color);margin:12px 0;padding:8px 16px;background:var(--bg-secondary);border-radius:0 8px 8px 0;color:var(--text-secondary);font-style:italic;position:relative;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content ul,.message-content ol{margin:8px 0;padding-left:24px}.message-content ul{list-style-type:disc}.message-content ol{list-style-type:decimal}.message-content li{margin:6px 0;line-height:1.6;color:var(--text-primary)}.message-content ol>li{display:list-item;list-style-position:outside}.message-content li ul,.message-content li ol{margin:4px 0}.message-content table{border-collapse:collapse;width:100%;margin:12px 0;font-size:.85em;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);border:1px solid var(--border-color);max-width:100%;table-layout:fixed}.message-content th,.message-content td{border:1px solid var(--border-color);padding:8px 12px;text-align:left;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content th{background:var(--bg-tertiary);font-weight:600;color:var(--text-primary);text-align:center}.message-content td{background:var(--bg-secondary);color:var(--text-primary)}.message-content h1,.message-content h2,.message-content h3,.message-content h4,.message-content h5,.message-content h6{margin:20px 0 12px;font-weight:700;line-height:1.3;color:var(--text-primary);padding-bottom:4px}.message-content h1{font-size:1.5em;border-bottom:2px solid var(--primary-color)}.message-content h2{font-size:1.4em;border-bottom:1px solid var(--border-color)}.message-content h3{font-size:1.3em}.message-content h4{font-size:1.2em}.message-content h5{font-size:1.1em}.message-content h6{font-size:1em;color:var(--text-secondary)}.message-content a{color:var(--primary-color);text-decoration:none;border-bottom:1px dotted var(--primary-color);transition:all .2s ease;max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-all;display:inline-block}.message-content a:hover{text-decoration:none;border-bottom:1px solid var(--primary-color);background:var(--bg-secondary);padding:1px 3px;border-radius:3px}.message-content p{margin:2px 0;line-height:1.4;color:var(--text-primary);max-width:100%;word-wrap:break-word;overflow-wrap:break-word;word-break:break-word}.message-content p+p{margin-top:4px}.message-content .command-format{background:var(--bg-tertiary);border:1px solid var(--border-color);padding:4px 8px;border-radius:4px;font-family:var(--font-mono);font-size:.85em;color:var(--text-primary);margin:4px 0;display:inline-block;box-shadow:var(--shadow)}.message-content img{max-width:100%;height:auto;display:block;margin:8px 0}.message-content.user-message code{background:#fff3;color:#ffffffe6;border:1px solid rgba(255,255,255,.3)}[data-theme=dark] .message-content code{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}[data-theme=dark] .message-content pre .syntax-comment{color:#6a9955}[data-theme=dark] .message-content pre .syntax-string{color:#ce9178}[data-theme=dark] .message-content pre .syntax-number{color:#b5cea8}[data-theme=dark] .message-content pre .syntax-keyword{color:#569cd6}[data-theme=dark] .message-content pre .syntax-builtin{color:#4ec9b0}[data-theme=dark] .message-content pre .syntax-function{color:#dcdcaa}[data-theme=dark] .message-content pre .syntax-operator{color:#d4d4d4}[data-theme=dark] .message-content pre .syntax-class{color:#4ec9b0;font-weight:600}[data-theme=dark] .message-content pre .syntax-identifier{color:#9cdcfe}[data-theme=dark] .message-content .code-block-container .code-block-header{background:#ffffff0d;border-bottom-color:var(--border-color)}[data-theme=dark] .message-content .code-block-container .code-block-language{color:var(--text-secondary)}[data-theme=dark] .message-content .code-block-container pre .syntax-comment{color:#6a9955}[data-theme=dark] .message-content .code-block-container pre .syntax-string{color:#ce9178}[data-theme=dark] .message-content .code-block-container pre .syntax-number{color:#b5cea8}[data-theme=dark] .message-content .code-block-container pre .syntax-keyword{color:#569cd6}[data-theme=dark] .message-content .code-block-container pre .syntax-builtin{color:#4ec9b0}[data-theme=dark] .message-content .code-block-container pre .syntax-function{color:#dcdcaa}[data-theme=dark] .message-content .code-block-container pre .syntax-operator{color:#d4d4d4}[data-theme=dark] .message-content .code-block-container pre .syntax-class{color:#4ec9b0;font-weight:600}[data-theme=dark] .message-content .code-block-container pre .syntax-identifier{color:#9cdcfe}[data-theme=dark] .message-content blockquote{border-left-color:var(--primary-color);color:var(--text-secondary);background:var(--bg-tertiary);box-shadow:var(--shadow)}[data-theme=dark] .message-content .reasoning-content{opacity:.6;background:var(--bg-tertiary);border-left-color:var(--primary-color)}[data-theme=dark] .message-content table{border-color:var(--border-color)}[data-theme=dark] .message-content table th{background:var(--bg-tertiary);color:var(--text-primary)}[data-theme=dark] .message-content table td{background:var(--bg-secondary);color:var(--text-primary)}[data-theme=dark] .message-content .command-format{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-primary);box-shadow:var(--shadow)}[data-theme=dark] .message-content hr{border-top-color:var(--border-color)}[data-theme=dark] .message-content a:hover{background:#ffffff1a}.suggestions-container{display:flex;flex-direction:column;gap:20px;min-height:280px;padding:8px 0}.suggestions-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--text-secondary)}.suggestions-loading .loading-spinner{width:40px;height:40px;border:3px solid transparent;border-top:3px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.suggestions-loading p{font-size:15px;margin:0;font-weight:500}.suggestions-empty{text-align:center;padding:60px 20px;color:var(--text-secondary);font-size:15px}.suggestions-list{display:flex;flex-direction:column;gap:12px;max-height:320px;overflow-y:auto;padding:4px}.suggestions-list::-webkit-scrollbar{width:6px}.suggestions-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.suggestions-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.suggestions-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.suggestion-item{padding:16px 20px;border:2px solid var(--border-color);border-radius:12px;background:var(--bg-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.suggestion-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--primary-color);opacity:0;transition:opacity .3s ease}.suggestion-item:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translate(4px);box-shadow:0 4px 12px #0000001a}.suggestion-item:hover:before{opacity:1}.suggestion-item.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-color:var(--primary-color);color:#fff;transform:translate(4px);box-shadow:0 6px 16px #00000026}.suggestion-item.active:before{opacity:1;background:#fff}.suggestion-item.active .suggestion-content{color:#fff}.suggestion-content{font-size:15px;line-height:1.6;color:var(--text-primary);word-wrap:break-word;word-break:break-word;font-weight:400}.suggestions-actions{display:flex;gap:12px;justify-content:flex-end;padding-top:20px;border-top:1px solid var(--border-color);margin-top:8px}.suggestions-actions .btn{min-width:120px;padding:10px 24px;font-size:14px;font-weight:500}.translate-preview{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;line-height:1.6;color:var(--text-primary);max-height:200px;overflow-y:auto;word-wrap:break-word;word-break:break-word}.translate-preview::-webkit-scrollbar{width:6px}.translate-preview::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.translate-preview::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.translate-preview::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.custom-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000;animation:fadeIn .2s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.custom-modal{background:var(--bg-primary);border-radius:12px;box-shadow:0 20px 60px #0000004d;max-width:500px;width:90%;max-height:80vh;display:flex;flex-direction:column;animation:slideUpModal .3s ease-out;border:1px solid var(--border-color)}@keyframes slideUpModal{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.custom-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);border-radius:12px 12px 0 0}.custom-modal-title{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:600;color:var(--text-primary)}.custom-modal-title svg{color:var(--primary-color)}.custom-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;background:transparent;border-radius:6px;cursor:pointer;color:var(--text-secondary);transition:all .2s ease}.custom-modal-close:hover{background:var(--bg-hover);color:var(--text-primary)}.custom-modal-body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:16px}.custom-modal-body::-webkit-scrollbar{width:6px}.custom-modal-body::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.custom-modal-body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.custom-modal-body::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.custom-modal-footer{display:flex;gap:12px;justify-content:flex-end;padding:16px 20px;border-top:1px solid var(--border-color);background:var(--bg-secondary);border-radius:0 0 12px 12px}.custom-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap}.custom-btn:disabled{opacity:.5;cursor:not-allowed}.custom-btn.primary{background:var(--primary-color);color:#fff}.custom-btn.primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.custom-btn.secondary{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color)}.custom-btn.secondary:hover:not(:disabled){background:var(--bg-hover);border-color:var(--border-dark)}.suggestions-modal{min-height:400px}.suggestions-modal .suggestions-list{gap:8px}.suggestions-modal .suggestion-item{display:flex;align-items:center;gap:12px;padding:12px 16px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease}.suggestions-modal .suggestion-item:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translate(4px)}.suggestions-modal .suggestion-item.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.suggestions-modal .suggestion-icon{flex-shrink:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:6px;color:var(--text-secondary);transition:all .2s ease}.suggestions-modal .suggestion-item:hover .suggestion-icon{color:var(--primary-color);background:var(--bg-primary)}.suggestions-modal .suggestion-item.active .suggestion-icon{color:#fff;background:#fff3}.suggestions-modal .suggestion-content{flex:1;font-size:14px;line-height:1.5;color:var(--text-primary)}.suggestions-modal .suggestion-item.active .suggestion-content{color:#fff}.suggestions-modal .suggestion-check{flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center}.suggestions-modal .suggestions-loading,.suggestions-modal .suggestions-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;color:var(--text-secondary)}.suggestions-modal .suggestions-empty svg{opacity:.5}.translate-modal{min-height:auto}.translate-field{display:flex;flex-direction:column;gap:12px}.translate-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.translate-label svg{color:var(--primary-color)}.language-options{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}.language-option{display:flex;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;position:relative}.language-option:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.language-option.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.language-icon{font-size:20px;flex-shrink:0}.language-name{flex:1;font-size:14px;font-weight:400}.language-check{flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center}.translate-modal .translate-preview{padding:14px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;font-size:14px;line-height:1.6;color:var(--text-primary);max-height:150px;overflow-y:auto;word-wrap:break-word;word-break:break-word}[data-theme=dark] .suggestion-item{background:var(--bg-tertiary);border-color:var(--border-color)}[data-theme=dark] .suggestion-item:hover{background:var(--bg-hover);border-color:var(--primary-color)}[data-theme=dark] .suggestion-item.active{background:var(--primary-color);border-color:var(--primary-color)}.select-with-button{display:flex;gap:8px;align-items:stretch;width:100%}.select-with-button .form-control{flex:1}.refresh-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);padding:0 16px;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;white-space:nowrap;min-width:60px;display:flex;align-items:center;justify-content:center}.refresh-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.refresh-btn:disabled{opacity:.6;cursor:not-allowed}.loading-spinner.small{width:16px;height:16px;border:2px solid transparent;border-top:2px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite}.input-with-ai{position:relative;display:flex;align-items:stretch;gap:8px;width:100%}.input-with-ai .form-control{flex:1;padding-right:50px}.ai-fill-btn{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-secondary);padding:0 12px;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:12px;font-weight:500;white-space:nowrap;min-width:60px;display:flex;align-items:center;gap:4px;position:absolute;right:4px;top:50%;transform:translateY(-50%);height:calc(100% - 8px)}.ai-fill-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color)}.ai-fill-btn:disabled{opacity:.6;cursor:not-allowed;transform:translateY(-50%)}.ai-fill-btn.loading{background:var(--bg-tertiary);color:var(--text-secondary)}.message-image-actions{display:flex;gap:8px;margin-top:8px;align-items:center}.image-action-btn{width:36px;height:36px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;position:relative;overflow:hidden}.image-action-btn:hover:not(:disabled){background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.image-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.image-action-btn.generate{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.image-action-btn.generate:hover:not(:disabled){background:var(--primary-hover);border-color:var(--primary-hover);transform:translateY(-2px) scale(1.05);box-shadow:0 6px 16px #ec489966}.image-action-btn.regenerate:hover:not(:disabled){background:var(--success-color);border-color:var(--success-color);color:#fff}.image-action-btn.hide:hover:not(:disabled),.image-action-btn.expand:hover:not(:disabled){background:var(--warning-color);border-color:var(--warning-color);color:#fff}.progress-bar{width:100%;height:4px;background:var(--bg-tertiary);border-radius:2px;overflow:hidden;margin-top:8px}.progress-fill{height:100%;background:var(--primary-color);border-radius:2px;transition:width .3s ease;width:0%}.generated-image{margin-top:12px;border-radius:8px;overflow:hidden;border:1px solid var(--border-color);max-width:100%}.generated-image img{width:100%;height:auto;display:block}.image-controls{display:flex;gap:8px;margin-top:8px;align-items:center;justify-content:center;padding:8px;background:var(--bg-secondary);border-radius:0 0 8px 8px;border-top:1px solid var(--border-color)}.context-menu{position:fixed;z-index:3000;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:var(--shadow-lg);min-width:180px;animation:contextMenuAppear .2s ease}.context-menu-content{padding:8px 0}.context-menu-item{display:flex;align-items:center;gap:8px;padding:8px 16px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--text-primary)}@keyframes contextMenuAppear{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}[data-bubble-style=rounded] .message-content{border-radius:var(--radius)}[data-bubble-style=minimal] .message-content{border-radius:4px;background:transparent;border:1px solid transparent;padding:12px 16px}[data-bubble-style=default] .message-content{border-radius:var(--radius)}[data-chat-layout=compact] .message-content{padding:12px 16px;max-width:80%}[data-chat-layout=expanded] .message-content-wrapper{max-width:90%}[data-chat-layout=standard] .message-content-wrapper{max-width:min(70%,600px)}[data-theme=dark][data-bubble-style=minimal] .message-content{background:transparent;border:1px solid transparent}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}:root{--shine-duration-fast: .3s;--shine-duration-normal: .6s;--shine-duration-slow: 1s;--shine-duration: .6s;--shine-color: var(--primary-color);--shine-opacity: .4}[data-theme=dark]{--shine-duration-fast: .3s;--shine-duration-normal: .6s;--shine-duration-slow: 1s}@keyframes gradient-flow{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes border-flow{0%{background-position:0% 0}to{background-position:200% 0}}@keyframes text-shine{0%{background-position:-100% 0}to{background-position:100% 0}}.shine-effect{position:relative;overflow:hidden;transition:all .3s ease}.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,var(--shine-opacity, .4)),transparent);transition:left var(--shine-duration, .6s) ease}.shine-effect-colorful:before{background:linear-gradient(90deg,transparent,var(--shine-color, var(--primary-color)),transparent)}[data-shine-enabled=true] .shine-effect:hover:before{left:100%}[data-shine-enabled=false] .shine-effect:before{display:none!important}.border-shine{position:relative;background:var(--bg-primary);border:2px solid transparent;background-clip:padding-box;transition:all .3s ease}.border-shine:before{content:"";position:absolute;top:-2px;left:-2px;right:-2px;bottom:-2px;background:linear-gradient(45deg,var(--shine-color, var(--primary-color)),var(--success-color),var(--warning-color),var(--shine-color, var(--primary-color)));background-size:400%;border-radius:var(--radius);z-index:-1;animation:border-flow 3s linear infinite;opacity:0;transition:opacity .3s ease}[data-shine-enabled=true] .border-shine:hover:before,.border-shine:hover:before{opacity:1}[data-shine-enabled=false] .border-shine:before{display:none}.bg-shine{background:linear-gradient(-45deg,var(--shine-color, var(--primary-color)),var(--primary-hover),var(--success-color),var(--warning-color));background-size:400% 400%;animation:gradient-flow 4s ease infinite;transition:all .3s ease}.bg-shine:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}[data-shine-enabled=false] .bg-shine{animation:none;background:var(--primary-color)}.text-shine{background:linear-gradient(to right,var(--shine-color, var(--primary-color)),var(--success-color),var(--warning-color),var(--shine-color, var(--primary-color)));background-size:200% auto;color:transparent;-webkit-background-clip:text;background-clip:text;animation:text-shine 3s linear infinite}[data-shine-enabled=false] .text-shine{animation:none;background:var(--text-primary);-webkit-background-clip:initial;background-clip:initial;color:var(--text-primary)}.agent-item.shine-effect{position:relative;overflow:hidden;transition:all .3s ease}.agent-item.shine-effect:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,var(--shine-color, var(--primary-color)),transparent);transition:left var(--shine-duration, .6s) ease}[data-shine-enabled=true] .agent-item.shine-effect:hover:before{left:100%}[data-shine-enabled=false] .agent-item.shine-effect:before{display:none!important}.btn.shine-btn{position:relative;overflow:hidden;transition:all .3s ease}.btn.shine-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.btn.shine-btn:hover:before{left:100%}.control-btn.shine-control{position:relative;overflow:hidden}.control-btn.shine-control: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 .4s ease}.control-btn.shine-control:hover:before{left:100%}.send-btn.shine-send{position:relative;overflow:hidden}.send-btn.shine-send:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.send-btn.shine-send:hover:before{left:100%}.create-agent-btn.shine-create{position:relative;overflow:hidden}.create-agent-btn.shine-create:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s ease}.create-agent-btn.shine-create:hover:before{left:100%}.action-btn.generate-img-btn{opacity:.7}.action-btn.generate-img-btn:hover{opacity:1;background-color:var(--bg-hover)}.action-btn.regenerate-img-btn{opacity:.7}.action-btn.regenerate-img-btn:hover{opacity:1;background-color:var(--bg-hover)}.action-btn.hide-img-btn{opacity:.7}.action-btn.hide-img-btn:hover{opacity:1;background-color:var(--bg-hover)}.action-btn.expand-img-btn{opacity:.7}.action-btn.expand-img-btn:hover{opacity:1;background-color:var(--bg-hover)}.theme-dark .action-btn.generate-img-btn:hover,.theme-dark .action-btn.regenerate-img-btn:hover,.theme-dark .action-btn.hide-img-btn:hover,.theme-dark .action-btn.expand-img-btn:hover{background-color:#ffffff1a}.shine-animation{animation:shimmer 2s infinite linear;background:linear-gradient(to right,#fff0,#ffffff4d,#fff0)}.mode-transition-overlay{position:fixed;top:0;left:0;right:0;bottom:0;z-index:9999;overflow:hidden;pointer-events:none}.wave-mask{position:absolute;top:0;right:-100vw;width:100vw;height:100vh;background:var(--gradient-primary, linear-gradient(135deg, var(--primary-color), var(--secondary-color)));animation:waveSlideIn .5s ease-out forwards}.wave-mask.exiting{animation:waveSlideOut .5s ease-in forwards}@keyframes waveSlideIn{0%{right:-100vw}to{right:0}}@keyframes waveSlideOut{0%{left:0}to{left:-100vw}}.app-title{cursor:pointer;transition:all .3s ease;-webkit-user-select:none;user-select:none}.app-title:hover{opacity:.8}.app-title:active{transform:scale(.98)}:root{--danger-color: #dc3545}[data-theme=dark]{--danger-color: #ef4444;background-size:1000px 100%}.context-menu{position:fixed;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:180px;z-index:3000;overflow:hidden;animation:fadeIn .15s ease-out}.context-menu-item{display:flex;align-items:center;gap:10px;padding:10px 14px;cursor:pointer;transition:all .2s ease;font-size:14px;color:var(--text-primary)}.context-menu-item:hover{background:var(--bg-hover);color:var(--primary-color)}.context-menu-item:active{background:var(--bg-secondary)}.context-menu-item svg{flex-shrink:0;opacity:.7;transition:all .2s ease}.context-menu-item:hover svg{opacity:1;transform:scale(1.1)}.context-menu-divider{height:1px;background:var(--border-color);margin:4px 0}.export-modal{min-height:auto}.export-field{display:flex;flex-direction:column;gap:12px}.export-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.export-label svg{color:var(--primary-color)}.format-options{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.format-option{display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-secondary);cursor:pointer;transition:all .2s ease;position:relative}.format-option:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.format-option.active{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.format-icon{font-size:24px;flex-shrink:0}.format-name{flex:1;font-size:13px;font-weight:400}.format-check{flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center}.export-preview{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;max-height:300px;overflow-y:auto;font-size:13px;line-height:1.6;color:var(--text-primary);word-wrap:break-word;word-break:break-word}.export-preview::-webkit-scrollbar{width:6px}.export-preview::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.export-preview::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.export-preview::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.export-preview-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:40px 20px;color:var(--text-secondary);text-align:center}.export-preview-placeholder svg{opacity:.5}.export-preview-placeholder p{margin:0;font-size:14px}.html-preview{display:flex;flex-direction:column;gap:16px}.html-message{padding:12px;border-radius:8px;background:var(--bg-tertiary);border-left:3px solid var(--primary-color)}.html-message.user{border-left-color:var(--success-color)}.html-header{font-size:12px;color:var(--text-secondary);margin-bottom:8px;font-weight:500}.html-content{font-size:14px;line-height:1.6}.json-preview{margin:0;font-family:Courier New,monospace;font-size:12px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-wrap:break-word}.multi-select-modal{min-height:500px;max-width:600px}.multi-select-modal .custom-modal-title{display:flex;align-items:center;gap:10px;flex:1}.selected-count{margin-left:auto;font-size:13px;color:var(--text-secondary);font-weight:400;padding:4px 12px;background:var(--bg-tertiary);border-radius:12px}.multi-select-list{display:flex;flex-direction:column;gap:10px;max-height:400px;overflow-y:auto;padding:4px}.multi-select-list::-webkit-scrollbar{width:6px}.multi-select-list::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.multi-select-list::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.multi-select-list::-webkit-scrollbar-thumb:hover{background:var(--border-dark)}.multi-select-item{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;border:2px solid var(--border-color);border-radius:10px;background:var(--bg-secondary);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.multi-select-item:before{content:"";position:absolute;left:0;top:0;height:100%;width:3px;background:var(--primary-color);opacity:0;transition:opacity .25s ease}.multi-select-item:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translate(4px);box-shadow:0 4px 12px #0000001a}.multi-select-item:hover:before{opacity:1}.multi-select-item.active{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-color:var(--primary-color);color:#fff;transform:translate(4px);box-shadow:0 6px 16px #00000026}.multi-select-item.active:before{opacity:1;background:#fff}.multi-select-checkbox{flex-shrink:0;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border:2px solid var(--border-color);border-radius:6px;background:var(--bg-tertiary);transition:all .25s ease;margin-top:2px}.multi-select-item:hover .multi-select-checkbox{border-color:var(--primary-color);transform:scale(1.05)}.multi-select-item.active .multi-select-checkbox{border-color:#fff;background:#fff3;transform:scale(1.05)}.multi-select-avatar{flex-shrink:0;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border-radius:50%;font-size:14px;font-weight:600;color:var(--text-primary);margin-top:2px}.multi-select-item.active .multi-select-avatar{background:#fff3;color:#fff}.multi-select-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}.multi-select-role{font-size:12px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.multi-select-item.active .multi-select-role{color:#ffffffe6}.multi-select-text{font-size:14px;line-height:1.6;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;word-wrap:break-word;word-break:break-word}.multi-select-item.active .multi-select-text{color:#fff}.multi-select-time{font-size:12px;color:var(--text-secondary);font-weight:500}.multi-select-item.active .multi-select-time{color:#fffc}.custom-btn.danger{background:var(--danger-color);color:#fff}.custom-btn.danger:hover:not(:disabled){background:#c82333;transform:translateY(-1px);box-shadow:0 4px 12px #dc35454d}.custom-btn.danger:disabled{opacity:.5;cursor:not-allowed}.agent-item.dragging{opacity:.3;transform:scale(.95);box-shadow:none;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:grabbing}.agent-item.drag-placeholder{border-left:3px solid var(--primary-color, #ec4899);margin-left:-3px;transition:all .2s ease}#drag-clone{border-radius:8px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background-color:#fffffff2}.theme-dark #drag-clone{background-color:#1e1e1ef2}.agent-item{transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s ease,box-shadow .2s ease,border-left .2s ease}.message-actions{display:flex;opacity:0;margin-top:8px;padding:4px 8px;background:transparent;border-radius:4px;align-items:center;transition:opacity .2s ease}.message:hover .message-actions{opacity:1}.action-btn{background:transparent;border:none;cursor:pointer;padding:4px;border-radius:4px;opacity:.7;transition:all .2s ease;color:#666}.action-btn:hover{opacity:1;background-color:#0000000d}.theme-dark .action-btn{color:#ffffffb3}.theme-dark .action-btn:hover{background-color:#ffffff1a}@media (hover: none) and (pointer: coarse){.action-btn{min-height:44px;min-width:44px;padding:8px}.action-btn:active{opacity:1;background-color:var(--bg-hover);transform:scale(.95)}}.message-actions .action-divider{margin:0 4px;opacity:.5;-webkit-user-select:none;user-select:none}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.generated-image{animation:fadeIn .3s ease-out forwards}.generated-image img{border-radius:8px;box-shadow:0 4px 12px #0000001a;max-width:100%;height:auto;display:block;margin-top:8px;transition:box-shadow .2s ease}.generated-image img:hover{box-shadow:0 6px 16px #00000026}.global-buttons-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px;border-top:1px solid var(--border-color)}.global-btn{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-primary);border-radius:var(--border-radius-medium);cursor:pointer;transition:all .2s ease;font-size:13px;white-space:nowrap}.global-btn:hover{background:var(--bg-hover);border-color:var(--primary-color);color:var(--primary-color);transform:translateY(-1px);box-shadow:0 4px 8px #00000026}.global-btn svg{flex-shrink:0}.dynamic-island{display:inline-flex;flex-direction:column;justify-content:flex-start;min-height:40px;background:var(--chat-header-bg, #f8f9fa);border-radius:var(--dynamic-island-radius, 20px);padding:5px 15px;box-shadow:0 2px 8px #0000001a;transition:width .4s cubic-bezier(.25,.46,.45,.94),transform .3s cubic-bezier(.25,.8,.25,1),max-width .3s cubic-bezier(.25,.8,.25,1);background:var(--primary-color, #ec4899);color:#fff;position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:1000;overflow:hidden;max-width:calc(100vw - 352px);min-width:0;width:auto;white-space:nowrap;border:var(--dynamic-island-border-width, 0px) solid var(--dynamic-island-border-color, transparent);backface-visibility:hidden;transform:translate(-50%) translateZ(0)}.sidebar.collapsed~.main-content .dynamic-island{max-width:calc(100vw - 112px)}body[data-color-mode=single] .dynamic-island{background:var(--primary-color, #ec4899)}body[data-color-mode=dual] .dynamic-island{background:linear-gradient(135deg,var(--primary-color, #ec4899),var(--secondary-color, #3b82f6))}body[data-color-mode=gradient] .dynamic-island,body[data-color-mode=advanced-gradient] .dynamic-island{background:var(--gradient-primary, linear-gradient(135deg, #ec4899 0%, #3b82f6 100%))}.dynamic-island:hover{box-shadow:0 4px 16px #0003;transform:translate(-50%) translateY(-2px);min-height:60px;padding:10px 20px;transition:all .5s cubic-bezier(.25,.8,.25,1)}.dynamic-island:hover .dynamic-island-avatar{width:40px;height:40px;transition:all .5s cubic-bezier(.25,.8,.25,1)}.dynamic-island:hover .dynamic-island-btn{width:80px;padding:0 10px;justify-content:flex-start;transition:all .5s cubic-bezier(.25,.8,.25,1)}.dynamic-island:hover .dynamic-island-btn svg{margin-right:6px;transition:all .5s cubic-bezier(.25,.8,.25,1)}.dynamic-island-content{display:flex;align-items:center;width:auto;min-width:0}.dynamic-island-avatar{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:#fff3;margin-right:12px;overflow:hidden;flex-shrink:0;transition:all .5s cubic-bezier(.25,.8,.25,1)}.dynamic-island-avatar .avatar-image,.dynamic-island-avatar .avatar-icon{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:16px}.dynamic-island-avatar .avatar-image img{width:100%;height:100%;object-fit:cover}.dynamic-island-main-content{flex:1;display:flex;flex-direction:column;overflow:hidden;min-width:0;width:auto}.dynamic-island-name{font-weight:600;font-size:14px;white-space:nowrap;margin-bottom:2px}.dynamic-island-description{font-size:12px;opacity:0;overflow:hidden;white-space:nowrap;line-height:1.3;transition:opacity var(--dynamic-island-animation-speed, .5s) cubic-bezier(.25,.8,.25,1);margin-top:4px;transform:none}.dynamic-island:hover .dynamic-island-description{opacity:.9;transition:opacity var(--dynamic-island-animation-speed, .5s) cubic-bezier(.25,.8,.25,1) .3s}.dynamic-island-description.long-text{white-space:nowrap;text-overflow:ellipsis}.dynamic-island-controls{display:flex;align-items:center;gap:6px;height:30px;flex-shrink:0;margin-left:10px}.dynamic-island-controls.show-text{gap:10px}.dynamic-island-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:14px;background:#fff3;border:none;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);color:#fff;position:relative;padding:0;overflow:hidden;white-space:nowrap;flex-shrink:0}.dynamic-island-btn:hover{background:#ffffff4d;transform:scale(1.08)}.dynamic-island-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.dynamic-island-btn svg{width:14px;height:14px;fill:currentColor;transition:all .3s cubic-bezier(.25,.8,.25,1)}.dynamic-island-btn .btn-text{margin-left:0;font-size:12px;opacity:0;transition:all .3s cubic-bezier(.25,.8,.25,1);width:0;overflow:hidden;flex-shrink:0}.dynamic-island:hover .dynamic-island-btn{width:90px;padding:0 12px;justify-content:flex-start}.dynamic-island:hover .dynamic-island-btn .btn-text{margin-left:6px;opacity:1;width:auto;transition-delay:.1s}.theme-dark .dynamic-island,.theme-dark body[data-color-mode=single] .dynamic-island{background:var(--primary-color-dark, #c0399d)}.theme-dark body[data-color-mode=dual] .dynamic-island{background:linear-gradient(135deg,var(--primary-color-dark, #c0399d),var(--secondary-color-dark, #2c6cb0))}.theme-dark body[data-color-mode=gradient] .dynamic-island,.theme-dark body[data-color-mode=advanced-gradient] .dynamic-island{background:var(--gradient-primary-dark, linear-gradient(135deg, #c0399d 0%, #2c6cb0 100%))}.theme-dark .dynamic-island-btn:hover{background:#fff3}.dynamic-island-music-info{display:flex;align-items:center;padding:8px 15px 12px;border-top:1px solid rgba(0,0,0,.1);gap:10px;overflow:hidden;opacity:1;max-height:80px;transition:max-height .5s cubic-bezier(.25,.8,.25,1),padding .5s cubic-bezier(.25,.8,.25,1),opacity .5s ease}.dynamic-island:hover .dynamic-island-music-info{max-height:80px}.dynamic-island:not(.has-music) .dynamic-island-music-info{max-height:0;padding:0 15px;opacity:0;overflow:hidden;transition:max-height .5s cubic-bezier(.25,.8,.25,1),padding .5s cubic-bezier(.25,.8,.25,1),opacity .3s ease}.music-progress-container{margin-top:6px;width:100%}.music-progress-bar{width:100%;height:4px;background:#0000001a;border-radius:2px;overflow:hidden;margin-bottom:4px}.music-progress-controls{display:flex;justify-content:space-between;align-items:center;gap:8px}.theme-dark .music-progress-bar{background:#ffffff4d}.music-progress-fill{height:100%;background:var(--primary-color-dark, #ffffff);border-radius:2px;transition:width .1s linear}.theme-dark .music-progress-fill{background:var(--primary-color-dark, #1b1b1b)}.music-progress-text{font-size:10px;color:#fffc;text-align:right}.music-controls{display:flex;align-items:center;gap:8px;margin-left:8px;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.music-controls.show{opacity:1;visibility:visible}.music-control-btn{width:24px;height:24px;border-radius:50%;background:#fff3;border:none;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.music-control-btn:hover{background:#ffffff4d;transform:scale(1.1)}.music-cover{width:30px;height:30px;border-radius:4px;overflow:hidden;flex-shrink:0;transition:all .3s ease}.music-cover img{width:100%;height:100%;object-fit:cover;transition:all .3s ease}.dynamic-island:hover .music-cover{width:45px;height:45px}.dynamic-island:hover .music-cover img{transform:scale(1.05)}.music-info{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center}.music-title-row{display:flex;align-items:center;gap:8px;margin-bottom:2px;min-width:0;white-space:nowrap}.music-title{font-size:11px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;flex:0 1 auto;min-width:0}.music-artist{font-size:10px;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:#fff;margin-bottom:4px}.music-lyrics{font-size:10px;opacity:.9;color:#fff;font-style:italic;animation:lyricFadeIn .5s ease-in-out;flex:1 1 auto;min-width:0;line-height:1.3;max-height:40px;overflow:hidden;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;transition:max-height .3s ease-in-out,opacity .3s ease-in-out}@keyframes lyricFadeIn{0%{opacity:0;transform:translateY(5px)}to{opacity:.9;transform:translateY(0)}}@keyframes lyricFadeOut{0%{opacity:.9;transform:translateY(0)}to{opacity:0;transform:translateY(-5px)}}.theme-dark .dynamic-island-music-info{border-top:1px solid rgba(255,255,255,.1)}.theme-dark .music-title{color:#fff}.theme-dark .music-artist{color:#fffc}.theme-dark .music-lyrics{color:#ffffffe6}.theme-dark .music-progress-text{color:#fffc}.quick-chat-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,var(--modal-backdrop-opacity, .5));display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(var(--modal-backdrop-blur, 0px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 0px));transform:scale(.8)}.quick-chat-modal-overlay.show{opacity:1;visibility:visible;transform:scale(1)}.quick-chat-modal-content{width:90%;max-width:600px;height:80%;max-height:700px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px rgba(var(--primary-color-rgb, 236, 72, 153),.1);overflow:hidden;transform:translateY(30px) scale(.95);opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent;background-clip:padding-box;position:relative;animation:quickChatModalEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards}.quick-chat-modal-overlay.show .quick-chat-modal-content{transform:translateY(0) scale(1);opacity:1}.theme-dark .quick-chat-modal-content{background:var(--bg-secondary);color:var(--text-primary)}.quick-chat-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-radius:20px 20px 0 0;position:relative;overflow:hidden;animation:headerGradientShift 4s ease-in-out infinite}.theme-dark .quick-chat-header{border-bottom:1px solid var(--border-color)}.quick-chat-header h3{margin:0;font-size:1.2em;color:#fff}.close-btn{background:#fff3;border:none;color:#fff;font-size:1.5em;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.close-btn:hover{background:#ffffff4d;transform:scale(1.1) rotate(90deg);box-shadow:0 2px 8px #0003}.quick-chat-messages-container{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:16px;background:var(--bg-secondary);position:relative;background-image:radial-gradient(circle at 20% 50%,rgba(var(--primary-color-rgb, 236, 72, 153),.05) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(var(--secondary-color-rgb, 59, 130, 246),.05) 0%,transparent 50%)}.theme-dark .quick-chat-messages-container{background:var(--bg-tertiary)}.quick-chat-messages-container .message{max-width:80%;padding:14px 18px;border-radius:18px;line-height:1.5;position:relative;box-shadow:0 2px 8px #0000001a;animation:messageSlideIn .4s cubic-bezier(.25,.8,.25,1);transition:all .2s ease}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.quick-chat-messages-container .message.user{align-self:flex-end;background:var(--primary-color);color:#fff;border-bottom-right-radius:4px}.theme-dark .quick-chat-messages-container .message.user{background:var(--primary-hover)}.quick-chat-messages-container .message.assistant{align-self:flex-start;background:var(--bg-tertiary);color:var(--text-primary);border-bottom-left-radius:4px}.theme-dark .quick-chat-messages-container .message.assistant{background:var(--bg-tertiary);color:var(--text-primary)}.message-info{font-size:.75em;margin-top:5px;display:flex;gap:10px;opacity:.7}.token-info,.time-info{background:#0000001a;padding:2px 6px;border-radius:var(--radius)}.quick-chat-input-container{display:flex;padding:20px;background:linear-gradient(135deg,var(--bg-primary),var(--bg-secondary));border-top:1px solid var(--border-color);gap:12px;border-radius:0 0 20px 20px;position:relative;overflow:hidden}.theme-dark .quick-chat-input-container{background:var(--bg-secondary);border-top:1px solid var(--border-color)}.quick-chat-textarea{flex:1;padding:14px 18px;border:1px solid var(--border-color);border-radius:16px;resize:none;min-height:50px;max-height:150px;font-family:inherit;font-size:1em;outline:none;transition:all .3s cubic-bezier(.25,.8,.25,1);background:var(--bg-primary);box-shadow:0 2px 8px #0000000d;color:var(--text-primary)}.quick-chat-textarea:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 236, 72, 153),.15),0 4px 12px rgba(var(--primary-color-rgb, 236, 72, 153),.1);transform:translateY(-1px)}.theme-dark .quick-chat-textarea{background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.quick-chat-send-btn{width:50px;height:50px;border-radius:16px;border:none;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;align-self:flex-end}.quick-chat-send-btn:hover:not(:disabled){transform:scale(1.05);background:var(--primary-hover);box-shadow:0 4px 12px #ec489966}.quick-chat-send-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;background:var(--text-tertiary)}.theme-dark .quick-chat-send-btn{background:var(--primary-color)}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.notepad-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,var(--modal-backdrop-opacity, .5));display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(var(--modal-backdrop-blur, 0px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 0px));transform:scale(.8)}.notepad-modal-overlay.show{opacity:1;visibility:visible;transform:scale(1)}.notepad-modal-content{width:90%;max-width:800px;height:80%;max-height:700px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px rgba(var(--primary-color-rgb, 236, 72, 153),.1);overflow:hidden;transform:translateY(30px) scale(.95);opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent;background-clip:padding-box;position:relative;animation:modalEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards}.notepad-modal-content:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;z-index:-1;margin:-1px;border-radius:inherit;background:linear-gradient(45deg,var(--primary-color),var(--secondary-color));opacity:0;transition:opacity .3s ease}.notepad-modal-overlay.show .notepad-modal-content{transform:translateY(0) scale(1);opacity:1}.notepad-modal-overlay.show .notepad-modal-content:before{opacity:.1}.notepad-modal-content:hover{transform:translateY(-2px) scale(1.005);box-shadow:0 30px 60px -15px #0000004d}.notepad-modal-content:hover:before{opacity:.2}.theme-dark .notepad-modal-content{background:var(--bg-secondary);color:var(--text-primary)}.notepad-tools{display:flex;align-items:center;padding:12px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);gap:8px;border-radius:20px 20px 0 0;position:relative;overflow:hidden;opacity:.85;transition:opacity .3s ease}.notepad-tools:hover{opacity:1}.theme-dark .notepad-tools{background:var(--bg-tertiary);opacity:.75}.theme-dark .notepad-tools:hover{opacity:.9}.tools-group{display:flex;align-items:center;gap:6px}.tools-divider{width:1px;height:24px;background:var(--border-color);opacity:.5}.tool-btn{width:36px;height:36px;border-radius:8px;border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .25s cubic-bezier(.25,.8,.25,1);position:relative}.tool-btn:hover{background:var(--bg-tertiary);color:var(--text-primary);transform:translateY(-1px)}.tool-btn:active{transform:translateY(0)}.tool-btn.active{background:var(--primary-color);color:#fff;box-shadow:0 2px 8px rgba(var(--primary-color-rgb, 236, 72, 153),.3)}.tool-btn.clear-btn:hover{background:var(--danger-color, #ef4444);color:#fff;border-color:transparent}.color-picker{width:32px;height:32px;border:2px solid var(--border-color);border-radius:50%;cursor:pointer;background:none;transition:all .25s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.color-picker:hover{transform:scale(1.05);border-color:var(--primary-color);box-shadow:0 4px 12px #0003}.color-picker:active{transform:scale(.95)}.color-picker::-webkit-color-swatch-wrapper{padding:0}.color-picker::-webkit-color-swatch{border:none;border-radius:50%}.color-changed{animation:colorPulse .6s ease-in-out}@keyframes colorPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.size-slider{width:80px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-tertiary);border-radius:2px;outline:none;transition:all .25s ease}.size-slider:hover{background:var(--border-color)}.size-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:var(--primary-color);cursor:pointer;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000026}.size-slider::-webkit-slider-thumb:hover{transform:scale(1.15);box-shadow:0 3px 6px #0003}.size-slider::-webkit-slider-thumb:active{transform:scale(1)}.size-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--primary-color);cursor:pointer;border:none;transition:all .25s cubic-bezier(.4,0,.2,1);box-shadow:0 2px 4px #00000026}.size-slider::-moz-range-thumb:hover{transform:scale(1.15);box-shadow:0 3px 6px #0003}.size-value{min-width:18px;text-align:center;font-size:.8em;font-weight:500;color:var(--text-secondary);padding:2px 6px;border-radius:6px;background:var(--bg-tertiary);transition:all .25s ease}.size-value.updated{animation:valueUpdate .3s ease}@keyframes valueUpdate{0%{transform:scale(1)}50%{transform:scale(1.15);color:var(--primary-color)}to{transform:scale(1)}}.notepad-canvas{flex:1;width:100%;background:#fff;cursor:crosshair;touch-action:none;transition:all .3s cubic-bezier(.25,.8,.25,1);position:relative;border-radius:0 0 20px 20px;box-shadow:inset 0 0 20px #0000000d;background-image:repeating-linear-gradient(0deg,transparent,transparent 20px,rgba(0,0,0,.01) 20px,rgba(0,0,0,.01) 21px),repeating-linear-gradient(90deg,transparent,transparent 20px,rgba(0,0,0,.01) 20px,rgba(0,0,0,.01) 21px);animation:canvasFadeIn .6s ease-out}@keyframes canvasFadeIn{0%{opacity:0;transform:scale(.98)}to{opacity:1;transform:scale(1)}}.notepad-canvas.clearing{animation:canvasClear .4s ease-in-out}@keyframes canvasClear{0%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.notepad-canvas.drawing{cursor:crosshair}.notepad-canvas.erasing{cursor:grab}.notepad-canvas:hover{background:var(--bg-secondary)}.notepad-canvas:active{cursor:grabbing}.theme-dark .notepad-canvas{background:var(--bg-primary)}.tool-indicator{position:absolute;bottom:-2px;left:50%;transform:translate(-50%);width:6px;height:6px;background:var(--primary-color);border-radius:50%;animation:toolIndicator 1.5s ease-in-out infinite}@keyframes toolIndicator{0%,to{opacity:1;transform:translate(-50%) scale(1)}50%{opacity:.6;transform:translate(-50%) scale(1.2)}}.color-picker-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.color-preview{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:20px;height:20px;border-radius:50%;border:2px solid var(--bg-primary);box-shadow:0 1px 3px #00000026;pointer-events:none}.size-slider-wrapper{display:flex;align-items:center;gap:6px}.clear-btn:hover{background:var(--danger-color, #ef4444)!important;border-color:transparent!important;color:#fff!important}.status-indicator{margin-left:auto;padding:4px 10px;background:var(--bg-tertiary);border-radius:12px;font-size:11px;color:var(--text-secondary);opacity:0;transform:translateY(10px);transition:all .3s ease}.status-indicator.show{opacity:1;transform:translateY(0)}.status-text{font-weight:500}[data-tooltip]{position:relative}[data-tooltip]:before{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);padding:6px 10px;background:var(--color-gray-900);color:var(--color-white);font-size:12px;font-weight:500;border-radius:6px;white-space:nowrap;opacity:0;pointer-events:none;transition:all .3s ease;z-index:1000}[data-tooltip]:after{content:"";position:absolute;bottom:100%;left:50%;transform:translate(-50%) translateY(-4px);border:4px solid transparent;border-top-color:var(--color-gray-900);opacity:0;pointer-events:none;transition:all .3s ease;z-index:1000}[data-tooltip]:hover:before,[data-tooltip]:hover:after{opacity:1;transform:translate(-50%) translateY(-8px)}.notepad-tools{animation:toolbarSlideIn .5s ease-out}@keyframes toolbarSlideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes modalEntrance{0%{transform:translateY(30px) scale(.95);opacity:0}50%{transform:translateY(-5px) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes toolbarShine{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}@keyframes quickChatModalEntrance{0%{transform:translateY(30px) scale(.95);opacity:0}50%{transform:translateY(-5px) scale(1.02)}to{transform:translateY(0) scale(1);opacity:1}}@keyframes headerGradientShift{0%,to{background-position:0% 50%}50%{background-position:100% 50%}}.tool-btn:focus,.color-picker:focus,.size-slider:focus{outline:2px solid var(--primary-color);outline-offset:2px}@media (hover: none) and (pointer: coarse){.tool-btn:active{transform:scale(.9);background:var(--primary-color);color:#fff}.color-picker:active{transform:scale(.9)}}.image-generator-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,var(--modal-backdrop-opacity, .5));display:flex;justify-content:center;align-items:center;z-index:10000;opacity:0;visibility:hidden;transition:all .4s cubic-bezier(.4,0,.2,1);backdrop-filter:blur(var(--modal-backdrop-blur, 0px));-webkit-backdrop-filter:blur(var(--modal-backdrop-blur, 0px));transform:scale(.8)}.image-generator-modal-overlay.show{opacity:1;visibility:visible;transform:scale(1)}.image-generator-modal-content{width:95%;max-width:1200px;height:85%;max-height:800px;background:var(--bg-primary);border-radius:20px;display:flex;flex-direction:column;box-shadow:0 25px 50px -12px #00000040,0 0 0 1px rgba(var(--primary-color-rgb, 236, 72, 153),.1);overflow:hidden;transform:translateY(30px) scale(.95);opacity:0;transition:all .5s cubic-bezier(.34,1.56,.64,1);border:1px solid transparent;background-clip:padding-box;position:relative;animation:imageGenModalEntrance .6s cubic-bezier(.34,1.56,.64,1) forwards}.image-generator-modal-overlay.show .image-generator-modal-content{transform:translateY(0) scale(1);opacity:1}.image-generator-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid var(--border-color);background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:#fff;border-radius:20px 20px 0 0;position:relative;overflow:hidden;animation:headerGradientShift 4s ease-in-out infinite}.image-generator-header h3{margin:0;font-size:1.5em;font-weight:600}.image-generator-header .close-btn{background:#fff3;border:none;color:#fff;font-size:1.5em;cursor:pointer;width:30px;height:30px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.image-generator-header .close-btn:hover{background:#ffffff4d;transform:scale(1.1) rotate(90deg);box-shadow:0 2px 8px #0003}.image-generator-body{flex:1;display:flex;overflow:hidden}.image-generator-input-section{width:40%;padding:24px;border-right:1px solid var(--border-color);overflow-y:auto;background:var(--bg-secondary)}.image-generator-preview-section{width:60%;padding:24px;overflow-y:auto;background:var(--bg-primary);position:relative}.image-generator-textarea{width:100%;padding:12px 16px;border:1px solid var(--border-color);border-radius:12px;resize:vertical;min-height:100px;font-family:inherit;font-size:14px;line-height:1.5;background:var(--bg-primary);color:var(--text-primary);transition:all .3s cubic-bezier(.25,.8,.25,1);box-shadow:0 2px 8px #0000000d}.image-generator-textarea:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-color-rgb, 236, 72, 153),.15),0 4px 12px rgba(var(--primary-color-rgb, 236, 72, 153),.1);transform:translateY(-1px)}.image-generator-textarea{position:relative}.image-generator-textarea:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;border-radius:12px;background:linear-gradient(45deg,transparent,rgba(var(--primary-color-rgb, 236, 72, 153),.1),transparent);opacity:0;transition:opacity .3s ease;pointer-events:none}.image-generator-textarea:focus:after{opacity:1;animation:shimmer 2s ease-in-out infinite}@keyframes shimmer{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}.image-generator-textarea.negative{min-height:60px}.image-generator-controls{margin-top:20px}.control-row{display:flex;gap:16px;margin-bottom:16px}.control-item{flex:1}.control-item label{display:block;margin-bottom:8px;font-weight:500;color:var(--text-primary);font-size:14px}.control-item input[type=range]{width:100%;margin-bottom:4px}.control-item select{width:100%;padding:8px 12px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);color:var(--text-primary);font-size:14px}.control-value{font-size:12px;color:var(--text-secondary)}.image-generator-actions{display:flex;gap:12px;margin-top:24px}.generate-btn{flex:1;padding:12px 20px;background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);display:flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 4px 12px rgba(var(--primary-color-rgb, 236, 72, 153),.3)}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px rgba(var(--primary-color-rgb, 236, 72, 153),.4)}.generate-btn.generating{animation:pulse 2s infinite}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.clear-btn{padding:12px 20px;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:12px;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.clear-btn:hover:not(:disabled){background:var(--bg-hover);transform:translateY(-1px)}.clear-btn{position:relative;overflow:visible}.tooltip{position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:#000c;color:#fff;padding:6px 12px;border-radius:6px;font-size:12px;white-space:nowrap;opacity:0;visibility:hidden;transition:all .3s ease;z-index:1000;margin-bottom:8px}.tooltip:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border:4px solid transparent;border-top-color:#000c}.clear-btn:hover .tooltip{opacity:1;visibility:visible}.preview-container{height:400px;border:2px dashed var(--border-color);border-radius:16px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;background:var(--bg-secondary);margin-bottom:24px;transition:all .3s cubic-bezier(.25,.8,.25,1)}.preview-container.success-animation{animation:successPulse 1s ease-out;border-color:var(--secondary-color);background:rgba(var(--secondary-color-rgb, 59, 130, 246),.1)}@keyframes successPulse{0%{transform:scale(1);box-shadow:0 0 rgba(var(--secondary-color-rgb, 59, 130, 246),.4)}50%{transform:scale(1.02);box-shadow:0 0 0 20px rgba(var(--secondary-color-rgb, 59, 130, 246),0)}to{transform:scale(1);box-shadow:0 0 rgba(var(--secondary-color-rgb, 59, 130, 246),0)}}.generating-status{display:flex;flex-direction:column;align-items:center;gap:16px;text-align:center}.progress-info{width:200px}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color));transition:width .3s ease;position:relative;overflow:hidden}.progress-fill:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progressShimmer 1.5s ease-in-out infinite}@keyframes progressShimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.progress-text{font-size:14px;color:var(--text-secondary)}.generating-text{color:var(--text-secondary);margin:0}.generated-image-container{position:relative;width:100%;height:100%;overflow:hidden;border-radius:12px}.image-viewer{width:100%;height:100%;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;background:var(--bg-tertiary);border-radius:12px;cursor:grab;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;z-index:1}.image-viewer:active{cursor:grabbing}.generated-image{max-width:none;max-height:none;width:auto;height:auto;border-radius:8px;box-shadow:0 4px 20px #0003;transition:transform .1s ease-out;-webkit-user-select:none;user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.image-controls{position:absolute;bottom:12px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px;background:#000000b3;padding:8px 12px;border-radius:20px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);opacity:0;transition:opacity .3s ease}.generated-image-container:hover .image-controls{opacity:1}.zoom-btn{width:32px;height:32px;border-radius:50%;border:none;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.zoom-btn:hover{background:#ffffff4d;transform:scale(1.1)}.zoom-btn:active{transform:scale(.95)}.zoom-level{color:#fff;font-size:12px;font-weight:500;min-width:40px;text-align:center}.generated-image-container.reset-animation{animation:viewReset .3s ease-out}@keyframes viewReset{0%{transform:scale(1)}50%{transform:scale(.95)}to{transform:scale(1)}}.image-actions{position:absolute;top:12px;right:12px;display:flex;gap:8px;opacity:0;transition:opacity .3s ease}.generated-image-container:hover .image-actions{opacity:1}.image-actions .action-btn{width:36px;height:36px;border-radius:50%;border:none;background:transparent;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.image-actions .action-btn:hover{transform:scale(1.1)}.image-actions .action-btn.download:hover{transform:scale(1.1) rotate(5deg)}.image-actions .action-btn.save:hover{transform:scale(1.1) rotate(-5deg)}.image-actions .action-btn.copy:hover{transform:scale(1.1) rotate(5deg)}.image-actions .action-btn.download.download-success{animation:downloadSuccess .8s ease-out}@keyframes downloadSuccess{0%{transform:scale(1) rotate(0)}50%{transform:scale(1.2) rotate(180deg)}to{transform:scale(1) rotate(360deg)}}.empty-preview{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-muted)}.empty-icon{font-size:48px;opacity:.5}.history-section h4{margin:0 0 16px;color:var(--text-primary);font-size:16px;font-weight:600}.history-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:12px}.history-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.25,.8,.25,1);border:2px solid transparent;transform-style:preserve-3d;perspective:1000px}.history-item:hover{transform:scale(1.05) translateY(-2px);border-color:var(--primary-color);box-shadow:0 8px 24px rgba(var(--primary-color-rgb, 236, 72, 153),.3);z-index:10}.history-item img{width:100%;height:100%;object-fit:cover}.history-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);color:#fff;padding:8px;opacity:0;transition:opacity .3s ease}.history-item:hover .history-overlay{opacity:1}.history-prompt{font-size:11px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@keyframes imageGenModalEntrance{0%{transform:translateY(30px) scale(.95);opacity:0;filter:blur(10px)}50%{transform:translateY(-5px) scale(1.02);opacity:.8;filter:blur(2px)}to{transform:translateY(0) scale(1);opacity:1;filter:blur(0)}}.loading-spinner.large{width:48px;height:48px;border:4px solid var(--border-color);border-top:4px solid var(--primary-color);border-radius:50%;animation:spin 1s linear infinite;position:relative}.loading-spinner.large:after{content:"";position:absolute;top:-4px;left:-4px;right:-4px;bottom:-4px;border:4px solid transparent;border-top:4px solid var(--secondary-color);border-radius:50%;animation:spin .8s linear reverse infinite}.skills-wrapper{max-height:400px;overflow-y:auto;padding:4px}.skills-wrapper::-webkit-scrollbar{width:6px}.skills-wrapper::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:3px}.skills-wrapper::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:3px}.skills-wrapper::-webkit-scrollbar-thumb:hover{background:var(--text-tertiary)}.skill-section{margin-bottom:20px}.skill-section:last-child{margin-bottom:0}.skill-section-title{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-secondary);border-radius:6px;margin-bottom:12px;font-size:14px;font-weight:600;color:var(--text-primary)}.section-icon{font-size:16px}.section-name{flex:1}.skill-items{display:flex;flex-wrap:wrap;gap:8px}.skill-option{display:flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid var(--border-color);border-radius:8px;background:var(--bg-primary);cursor:pointer;transition:all .2s ease;min-width:120px;flex:1 0 calc(33.333% - 8px)}.skill-option:hover{border-color:var(--primary-color);background:var(--bg-secondary);transform:translateY(-1px)}.skill-option.active{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.skill-emoji{font-size:18px;flex-shrink:0}.skill-text{flex:1;font-size:13px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skill-check{flex-shrink:0;font-weight:700;font-size:14px}[data-theme=dark] .skill-option{border-color:var(--border-color);background:var(--bg-secondary)}[data-theme=dark] .skill-option:hover{background:var(--bg-tertiary)}[data-theme=dark] .skill-option.active{background:var(--primary-color)}@media (max-width: 600px){.skill-option{flex:1 0 calc(50% - 8px);min-width:100px}}.uploaded-files-area{margin-bottom:12px;padding:12px;background:var(--bg-secondary);border-radius:8px;border:1px solid var(--border-color)}.files-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px}.file-item{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-primary);border-radius:6px;border:1px solid var(--border-light);transition:all .2s ease}.file-item:hover{border-color:var(--primary-color);background:var(--bg-hover)}.file-icon{font-size:20px;flex-shrink:0}.file-info{flex:1;min-width:0}.file-name{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-size{font-size:11px;color:var(--text-secondary);margin-top:2px}.file-remove-btn{flex-shrink:0;width:28px;height:28px;border:none;background:transparent;border-radius:4px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--text-secondary);transition:all .2s ease}.custom-api-section{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin-top:12px}.custom-api-section .form-group{margin-bottom:16px}.custom-api-section .form-group:last-child{margin-bottom:0}.custom-api-section label{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:6px;display:block}.custom-api-section input{font-size:14px}.file-remove-btn:hover{background:var(--danger-color);color:#fff}[data-theme=dark] .file-item{border-color:var(--border-color)}[data-theme=dark] .file-item:hover{background:var(--bg-tertiary)}
