.notification-container[data-v-1e3d5288]{position:fixed;top:20px;right:20px;z-index:9999;display:flex;flex-direction:column;gap:12px;max-width:420px;pointer-events:none}.notification[data-v-1e3d5288]{display:flex;align-items:flex-start;gap:12px;padding:16px 20px;background:#fffffffa;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f,0 0 0 1px #0000000d;border-left:4px solid;pointer-events:auto;min-width:320px;transition:all .3s cubic-bezier(.4,0,.2,1)}.notification[data-v-1e3d5288]:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d,0 0 0 1px #0000000d}.notification-success[data-v-1e3d5288]{border-left-color:#10b981}.notification-error[data-v-1e3d5288]{border-left-color:#ef4444}.notification-info[data-v-1e3d5288]{border-left-color:#3b82f6}.notification-warning[data-v-1e3d5288]{border-left-color:#f59e0b}.theme-dark{background:#1f2937fa;box-shadow:0 4px 6px -1px #0000004d,0 2px 4px -1px #0003,0 0 0 1px #ffffff1a}.theme-dark{box-shadow:0 10px 15px -3px #0006,0 4px 6px -2px #0000004d,0 0 0 1px #ffffff1a}.theme-dark{color:#f3f4f6}.theme-dark{color:#e5e7eb;border-color:#ffffff26}.theme-dark{background:#ffffff1a;border-color:#ffffff40}.theme-dark{color:#9ca3af}.theme-dark{color:#d1d5db;background:#ffffff1a}.notification-icon[data-v-1e3d5288]{flex-shrink:0;display:flex;align-items:center;justify-content:center}.notification-icon .icon[data-v-1e3d5288]{width:22px;height:22px;stroke-width:2}.notification-success .notification-icon[data-v-1e3d5288]{color:#10b981}.notification-error .notification-icon[data-v-1e3d5288]{color:#ef4444}.notification-info .notification-icon[data-v-1e3d5288]{color:#3b82f6}.notification-warning .notification-icon[data-v-1e3d5288]{color:#f59e0b}.notification-content[data-v-1e3d5288]{flex:1;display:flex;flex-direction:column;gap:8px}.notification-message[data-v-1e3d5288]{margin:0;font-size:var(--font-size-base);font-weight:500;color:#1f2937;line-height:1.5;word-break:break-word}.notification-action[data-v-1e3d5288]{align-self:flex-start;padding:6px 12px;font-size:var(--font-size-sm);font-weight:500;background:transparent;border:1px solid rgba(0,0,0,.1);border-radius:6px;color:#374151;cursor:pointer;transition:all .2s ease}.notification-action[data-v-1e3d5288]:hover{background:#0000000d;border-color:#0003}.notification-action[data-v-1e3d5288]:active{transform:scale(.98)}.notification-close[data-v-1e3d5288]{flex-shrink:0;padding:4px;margin:-4px -4px -4px 0;background:transparent;border:none;cursor:pointer;color:#9ca3af;transition:color .2s ease;border-radius:4px}.notification-close[data-v-1e3d5288]:hover{color:#6b7280;background:#0000000d}.notification-close[data-v-1e3d5288]:active{transform:scale(.95)}.notification-close .icon[data-v-1e3d5288]{width:18px;height:18px}.notification-enter-active[data-v-1e3d5288]{animation:slideIn-1e3d5288 .3s cubic-bezier(.4,0,.2,1)}.notification-leave-active[data-v-1e3d5288]{animation:slideOut-1e3d5288 .3s cubic-bezier(.4,0,.2,1)}@keyframes slideIn-1e3d5288{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideOut-1e3d5288{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100%)}}@media(max-width:640px){.notification-container[data-v-1e3d5288]{top:10px;right:10px;left:10px;max-width:none}.notification[data-v-1e3d5288]{min-width:unset;padding:14px 16px}.notification-message[data-v-1e3d5288]{font-size:var(--font-size-sm)}}.modal-overlay[data-v-80569814]{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000bf;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:10000;padding:20px}.modal-container[data-v-80569814]{background:linear-gradient(135deg,#1f1f23fa,#19191efa);border-radius:16px;box-shadow:0 20px 60px #00000080,0 0 0 1px #ffffff1a,inset 0 1px #ffffff0d;max-width:440px;width:100%;padding:32px;display:flex;flex-direction:column;align-items:center;gap:24px;animation:modalSlideIn-80569814 .3s cubic-bezier(.4,0,.2,1)}.modal-icon[data-v-80569814]{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;position:relative}.modal-icon[data-v-80569814]:before{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:50%;padding:2px;background:linear-gradient(135deg,currentColor 0%,transparent 100%);-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.3}.modal-icon .icon[data-v-80569814]{width:32px;height:32px;stroke-width:2;color:currentColor;filter:drop-shadow(0 0 8px currentColor)}.modal-icon-warning[data-v-80569814]{background:#f59e0b26;color:#f59e0b}.modal-icon-danger[data-v-80569814]{background:#ef444426;color:#ef4444}.modal-icon-info[data-v-80569814]{background:#3b82f626;color:#3b82f6}.modal-content[data-v-80569814]{text-align:center;display:flex;flex-direction:column;gap:12px}.modal-title[data-v-80569814]{margin:0;font-size:22px;font-weight:700;color:#fff;letter-spacing:-.02em;line-height:1.3}.modal-message[data-v-80569814]{margin:0;font-size:15px;font-weight:400;color:#ffffffb3;line-height:1.6;max-width:360px}.modal-actions[data-v-80569814]{display:flex;gap:12px;width:100%}.modal-btn[data-v-80569814]{flex:1;padding:14px 24px;font-size:15px;font-weight:600;border-radius:10px;border:none;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);letter-spacing:.01em;position:relative;overflow:hidden}.modal-btn[data-v-80569814]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(135deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .2s}.modal-btn[data-v-80569814]:hover:before{opacity:1}.modal-btn[data-v-80569814]:active{transform:scale(.98)}.modal-btn-cancel[data-v-80569814]{background:#ffffff14;color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}.modal-btn-cancel[data-v-80569814]:hover{background:#ffffff1f;border-color:#ffffff40;color:#fff}.modal-btn-confirm[data-v-80569814]{position:relative;color:#fff;font-weight:700;box-shadow:0 4px 12px #0003}.modal-btn-confirm-warning[data-v-80569814]{background:linear-gradient(135deg,#f59e0b,#d97706);border:1px solid rgba(245,158,11,.3)}.modal-btn-confirm-warning[data-v-80569814]:hover{box-shadow:0 6px 20px #f59e0b66;transform:translateY(-1px)}.modal-btn-confirm-danger[data-v-80569814]{background:linear-gradient(135deg,#ef4444,#dc2626);border:1px solid rgba(239,68,68,.3)}.modal-btn-confirm-danger[data-v-80569814]:hover{box-shadow:0 6px 20px #ef444466;transform:translateY(-1px)}.modal-btn-confirm-info[data-v-80569814]{background:linear-gradient(135deg,#3b82f6,#2563eb);border:1px solid rgba(59,130,246,.3)}.modal-btn-confirm-info[data-v-80569814]:hover{box-shadow:0 6px 20px #3b82f666;transform:translateY(-1px)}.modal-enter-active[data-v-80569814],.modal-leave-active[data-v-80569814]{transition:opacity .3s cubic-bezier(.4,0,.2,1)}.modal-enter-from[data-v-80569814],.modal-leave-to[data-v-80569814]{opacity:0}.modal-enter-active .modal-container[data-v-80569814]{animation:modalSlideIn-80569814 .3s cubic-bezier(.4,0,.2,1)}.modal-leave-active .modal-container[data-v-80569814]{animation:modalSlideOut-80569814 .3s cubic-bezier(.4,0,.2,1)}@keyframes modalSlideIn-80569814{0%{opacity:0;transform:scale(.95) translateY(20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideOut-80569814{0%{opacity:1;transform:scale(1) translateY(0)}to{opacity:0;transform:scale(.95) translateY(20px)}}@media(max-width:640px){.modal-container[data-v-80569814]{padding:24px;max-width:calc(100% - 32px)}.modal-icon[data-v-80569814]{width:56px;height:56px}.modal-icon .icon[data-v-80569814]{width:28px;height:28px}.modal-title[data-v-80569814]{font-size:20px}.modal-message[data-v-80569814]{font-size:14px}.modal-actions[data-v-80569814]{flex-direction:column-reverse}.modal-btn[data-v-80569814]{padding:12px 20px}}.modal-btn[data-v-80569814]:focus-visible{outline:2px solid rgba(59,130,246,.6);outline-offset:2px}.feedback-widget[data-v-6ecf187d]{position:fixed;bottom:24px;right:24px;z-index:1050}.feedback-fab[data-v-6ecf187d]{width:48px;height:48px;border-radius:50%;border:none;background:var(--color-brand-primary);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-lg, 0 10px 15px -3px rgba(0,0,0,.1), 0 4px 6px -4px rgba(0,0,0,.1));transition:transform .15s ease,box-shadow .15s ease}.feedback-fab[data-v-6ecf187d]:hover{transform:scale(1.05);box-shadow:var(--shadow-xl, 0 20px 25px -5px rgba(0,0,0,.1), 0 8px 10px -6px rgba(0,0,0,.1))}.feedback-fab.is-open[data-v-6ecf187d]{background:var(--bg-tertiary);color:var(--text-secondary)}.fab-icon[data-v-6ecf187d]{width:22px;height:22px}.feedback-popover[data-v-6ecf187d]{position:absolute;bottom:56px;right:0;width:320px;background:var(--bg-secondary, #fff);border:1px solid var(--border-default);border-radius:var(--radius-xl, 12px);box-shadow:var(--shadow-2xl, 0 25px 50px -12px rgba(0,0,0,.25));padding:16px}.feedback-form[data-v-6ecf187d]{display:flex;flex-direction:column;gap:10px}.feedback-title[data-v-6ecf187d]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.feedback-textarea[data-v-6ecf187d]{width:100%;padding:10px 12px;border:1px solid var(--border-default);border-radius:var(--radius-lg);background:var(--bg-tertiary);color:var(--text-primary);font-size:13px;font-family:inherit;resize:vertical;min-height:80px;box-sizing:border-box}.feedback-textarea[data-v-6ecf187d]:focus{outline:none;border-color:var(--color-brand-primary)}.feedback-textarea[data-v-6ecf187d]::placeholder{color:var(--text-secondary)}.feedback-actions[data-v-6ecf187d]{display:flex;align-items:center;justify-content:space-between}.char-count[data-v-6ecf187d]{font-size:11px;color:var(--text-secondary)}.submit-btn[data-v-6ecf187d]{padding:6px 16px;border:none;border-radius:var(--radius-lg);background:var(--color-brand-primary);color:#fff;font-size:13px;font-weight:500;cursor:pointer;transition:opacity .15s}.submit-btn[data-v-6ecf187d]:hover{opacity:.9}.submit-btn[data-v-6ecf187d]:disabled{opacity:.5;cursor:not-allowed}.feedback-thanks[data-v-6ecf187d]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:20px 0;text-align:center}.thanks-icon[data-v-6ecf187d]{width:32px;height:32px;color:var(--color-success)}.feedback-thanks p[data-v-6ecf187d]{margin:0;font-size:14px;color:var(--text-primary)}.feedback-pop-enter-active[data-v-6ecf187d],.feedback-pop-leave-active[data-v-6ecf187d]{transition:opacity .2s ease,transform .2s ease}.feedback-pop-enter-from[data-v-6ecf187d],.feedback-pop-leave-to[data-v-6ecf187d]{opacity:0;transform:translateY(8px)}#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;width:100%;height:100vh;margin:0;padding:0}*{box-sizing:border-box}body{margin:0;padding:0}.oauth-loading-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#2b2b2b;display:flex;align-items:center;justify-content:center;z-index:10000}.oauth-loading-content{text-align:center;color:#fff}.oauth-spinner{width:50px;height:50px;margin:0 auto 20px;border:4px solid rgba(255,255,255,.1);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.oauth-loading-content p{font-size:var(--font-size-lg);color:#ccc;margin:0}.oauth-error-overlay{position:fixed;top:0;left:0;width:100%;height:100vh;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000}.oauth-error-content{background:#3a3a3a;border-radius:12px;padding:40px;max-width:400px;text-align:center;box-shadow:0 15px 35px #00000080}.oauth-error-icon{font-size:48px;margin-bottom:20px}.oauth-error-content h3{color:#fff;margin:0 0 16px;font-size:24px}.oauth-error-content p{color:#ccc;margin:0 0 24px;font-size:var(--font-size-lg);line-height:1.5}.oauth-error-button{padding:12px 32px;background:#2d2d2dcc;color:var(--text-primary, #ffffff);border:1px solid var(--border-strong, #555555);border-radius:8px;font-size:var(--font-size-lg);font-weight:600;cursor:pointer;transition:all .2s ease}.oauth-error-button:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea4d}:root{--color-black: #000000;--color-white: #FFFFFF;--color-gray-900: #111827;--color-gray-800: #1F2937;--color-gray-700: #374151;--color-gray-600: #4B5563;--color-gray-500: #6B7280;--color-gray-400: #9CA3AF;--color-gray-300: #D1D5DB;--color-gray-200: #E5E7EB;--color-gray-100: #F3F4F6;--color-gray-50: #F9FAFB;--color-success: #10B981;--color-error: #EF4444;--color-warning: #F59E0B;--color-info: #3B82F6;--color-recording: #DC2626;--color-brand-primary: #6366F1;--color-brand-secondary: #8B5CF6;--bg-primary: #FFFFFF;--bg-secondary: #FAFAFA;--bg-tertiary: #F5F5F5;--bg-hover: #F0F0F0;--bg-active: #E8E8E8;--bg-overlay: rgba(0, 0, 0, .4);--text-primary: #0A0A0A;--text-secondary: #525252;--text-tertiary: #A3A3A3;--text-inverse: #FAFAFA;--border-subtle: #F5F5F5;--border-default: #E5E5E5;--border-strong: #D4D4D4;--border-interactive-default: var(--border-default);--border-interactive-hover: var(--border-strong);--border-interactive-focus: var(--color-black);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .08), 0 1px 2px 0 rgba(0, 0, 0, .04);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .08), 0 2px 4px -1px rgba(0, 0, 0, .04);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .08), 0 10px 10px -5px rgba(0, 0, 0, .04);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .15);--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Helvetica Neue", Arial, sans-serif;--font-mono: "Geist Mono", "SF Mono", "Monaco", "Inconsolata", "Fira Code", monospace;--font-size-xs: .6875rem;--font-size-sm: .75rem;--font-size-base: .875rem;--font-size-md: .9375rem;--font-size-lg: 1rem;--font-size-xl: 1.125rem;--font-size-2xl: 1.25rem;--font-size-3xl: 1.5rem;--font-size-4xl: 2rem;--font-size-5xl: 2.5rem;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--line-height-tight: 1.25;--line-height-snug: 1.375;--line-height-normal: 1.5;--line-height-relaxed: 1.625;--line-height-loose: 2;--letter-spacing-tight: -.025em;--letter-spacing-normal: 0;--letter-spacing-wide: .025em;--letter-spacing-wider: .05em;--space-0: 0;--space-px: 1px;--space-0-5: .125rem;--space-1: .25rem;--space-1-5: .375rem;--space-2: .5rem;--space-2-5: .625rem;--space-3: .75rem;--space-3-5: .875rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-7: 1.75rem;--space-8: 2rem;--space-9: 2.25rem;--space-10: 2.5rem;--space-12: 3rem;--space-14: 3.5rem;--space-16: 4rem;--space-20: 5rem;--space-24: 6rem;--radius-none: 0;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-2xl: 1rem;--radius-3xl: 1.5rem;--radius-full: 9999px;--duration-instant: 0ms;--duration-fast: .1s;--duration-normal: .2s;--duration-slow: .3s;--duration-slower: .5s;--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.68, -.55, .265, 1.55);--transition-fast: all var(--duration-fast) var(--ease-out);--transition-base: all var(--duration-normal) var(--ease-in-out);--transition-slow: all var(--duration-slow) var(--ease-in-out);--transform-hover-lift: translateY(-2px);--transform-hover-slight: translateY(-1px);--transform-active: translateY(0);--z-index-base: 0;--z-index-dropdown: 1000;--z-index-sticky: 1100;--z-index-modal-backdrop: 1200;--z-index-modal: 1300;--z-index-popover: 1400;--z-index-tooltip: 1500;--z-index-toast: 1600;--waveform-fill: var(--color-gray-400);--waveform-progress: var(--color-brand-primary);--waveform-bg: var(--bg-secondary);--focus-ring-width: 2px;--focus-ring-offset: 2px;--focus-ring-color: var(--color-black);--focus-ring: 0 0 0 var(--focus-ring-width) var(--focus-ring-color);--media-group-header-bg: rgba(76, 175, 80, .08);--media-group-header-border: rgba(76, 175, 80, .5);--media-group-header-border-bottom: rgba(76, 175, 80, .2);--media-group-footer-bg: rgba(76, 175, 80, .05);--media-group-footer-border: rgba(76, 175, 80, .3);--media-row-bg: transparent;--media-row-hover-bg: rgba(255, 255, 255, .03);--media-row-border: rgba(255, 255, 255, .08);--media-row-border-left: rgba(76, 175, 80, .4);--media-row-source-bg: rgba(76, 175, 80, .05);--media-row-playing-border: rgba(76, 175, 80, .6);--media-tag-generated-bg: rgba(76, 175, 80, .15);--media-tag-generated-text: rgba(76, 175, 80, .9);--media-tag-generated-border: rgba(76, 175, 80, .3);--media-tag-stem-bg: rgba(156, 39, 176, .15);--media-tag-stem-text: rgba(156, 39, 176, .9);--media-tag-stem-border: rgba(156, 39, 176, .3);--media-tag-uploaded-bg: rgba(33, 150, 243, .15);--media-tag-uploaded-text: rgba(33, 150, 243, .9);--media-tag-uploaded-border: rgba(33, 150, 243, .3);--media-tag-source-bg: rgba(255, 152, 0, .15);--media-tag-source-text: rgba(255, 152, 0, .9);--media-tag-source-border: rgba(255, 152, 0, .3);--media-source-link-text: rgba(76, 175, 80, .9);--media-source-link-hover-text: rgba(76, 175, 80, 1);--media-source-link-hover-bg: rgba(76, 175, 80, .15);--media-action-btn-text: rgba(255, 255, 255, .4);--media-action-btn-hover-text: rgba(255, 255, 255, .9);--media-action-btn-hover-bg: rgba(255, 255, 255, .1);--media-action-btn-delete-text: rgba(239, 68, 68, .8);--media-action-btn-delete-hover-text: rgba(239, 68, 68, 1);--media-action-btn-confirm-text: rgba(76, 175, 80, .8);--media-action-btn-confirm-hover-text: rgba(76, 175, 80, 1);--media-action-btn-confirm-hover-bg: rgba(76, 175, 80, .15);--media-menu-bg: rgba(30, 30, 35, .98);--media-menu-border: rgba(255, 255, 255, .15);--media-menu-shadow: 0 8px 24px rgba(0, 0, 0, .5);--media-menu-item-hover-bg: rgba(255, 255, 255, .1);--media-menu-item-hover-text: rgba(255, 255, 255, 1);--media-menu-item-delete-hover-text: rgba(239, 68, 68, 1);--media-menu-separator: rgba(255, 255, 255, .08);--media-prompt-text: rgba(255, 255, 255, .5);--media-prompt-toggle-text: rgba(76, 175, 80, .8);--media-prompt-toggle-hover-text: rgba(76, 175, 80, 1);--media-filename-text: rgba(255, 255, 255, .9);--media-filename-hover-text: rgba(255, 255, 255, 1);--media-duration-text: rgba(255, 255, 255, .65);--media-input-bg: rgba(255, 255, 255, .05);--media-input-border: rgba(255, 255, 255, .2);--media-input-focus-border: rgba(76, 175, 80, .6);--media-input-text: rgba(255, 255, 255, .95);--overlay-white-subtle: rgba(255, 255, 255, .03);--overlay-white-light: rgba(255, 255, 255, .05);--overlay-white-medium: rgba(255, 255, 255, .1);--overlay-white-strong: rgba(255, 255, 255, .15);--overlay-white-heavy: rgba(255, 255, 255, .25);--overlay-black-subtle: rgba(0, 0, 0, .03);--overlay-black-light: rgba(0, 0, 0, .05);--overlay-black-medium: rgba(0, 0, 0, .1);--overlay-black-strong: rgba(0, 0, 0, .15);--overlay-black-heavy: rgba(0, 0, 0, .25);--overlay-black-darker: rgba(0, 0, 0, .4);--overlay-black-darkest: rgba(0, 0, 0, .6);--scrollbar-track: var(--bg-secondary);--scrollbar-thumb: var(--border-strong);--scrollbar-thumb-hover: var(--text-tertiary)}:root.theme-dark{--bg-primary: #0A0A0A;--bg-secondary: #141414;--bg-tertiary: #1E1E1E;--bg-hover: #252525;--bg-active: #2D2D2D;--bg-overlay: rgba(0, 0, 0, .8);--text-primary: #FAFAFA;--text-secondary: #A1A1A1;--text-tertiary: #737373;--text-inverse: #0A0A0A;--border-subtle: #262626;--border-default: #404040;--border-strong: #525252;--border-interactive-focus: var(--color-white);--shadow-xs: 0 1px 2px 0 rgba(0, 0, 0, .5);--shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, .6), 0 1px 2px 0 rgba(0, 0, 0, .4);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .7), 0 2px 4px -1px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .8), 0 4px 6px -2px rgba(0, 0, 0, .6);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .9), 0 10px 10px -5px rgba(0, 0, 0, .7);--shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, .95);--focus-ring-color: var(--color-white);--media-group-header-bg: rgba(76, 175, 80, .08);--media-group-header-border: rgba(76, 175, 80, .5);--media-group-header-border-bottom: rgba(76, 175, 80, .2);--media-group-footer-bg: rgba(76, 175, 80, .05);--media-group-footer-border: rgba(76, 175, 80, .3);--media-row-hover-bg: rgba(255, 255, 255, .03);--media-row-border: rgba(255, 255, 255, .08);--media-row-border-left: rgba(76, 175, 80, .4);--media-row-source-bg: rgba(76, 175, 80, .05);--media-row-playing-border: rgba(76, 175, 80, .6);--media-menu-bg: rgba(30, 30, 35, .98);--media-menu-border: rgba(255, 255, 255, .15);--media-menu-shadow: 0 8px 24px rgba(0, 0, 0, .5);--media-menu-item-hover-bg: rgba(255, 255, 255, .1);--media-menu-separator: rgba(255, 255, 255, .08);--media-input-bg: rgba(255, 255, 255, .05);--media-input-border: rgba(255, 255, 255, .2);--scrollbar-track: var(--bg-secondary);--scrollbar-thumb: var(--border-strong);--scrollbar-thumb-hover: var(--text-tertiary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);line-height:var(--line-height-tight);cursor:pointer;transition:var(--transition-base);border:1px solid transparent;-webkit-user-select:none;user-select:none;white-space:nowrap;outline:none}.btn-primary{background:var(--color-black);border-color:var(--color-black);color:var(--color-white)}.btn-primary:hover:not(:disabled){background:var(--color-gray-800);border-color:var(--color-gray-800);box-shadow:var(--shadow-sm)}.btn-primary:active:not(:disabled){background:var(--color-gray-900);box-shadow:none}.btn-secondary{background:transparent;border-color:var(--border-default);color:var(--text-primary)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--border-strong)}.btn-secondary:active:not(:disabled){background:var(--bg-hover)}.btn-ghost{background:transparent;border-color:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-danger{background:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.btn-danger:hover:not(:disabled){background:#dc2626;border-color:#dc2626}.btn-success{background:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.btn-success:hover:not(:disabled){background:#059669;border-color:#059669}.btn-sm{padding:var(--space-1-5) var(--space-3);font-size:var(--font-size-sm);gap:var(--space-1-5)}.btn-lg{padding:var(--space-3) var(--space-6);font-size:var(--font-size-lg);gap:var(--space-2-5)}.btn:disabled{opacity:.4;cursor:not-allowed;transform:none!important}.btn:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.btn .icon,.btn svg{width:16px;height:16px;flex-shrink:0}.btn-sm .icon,.btn-sm svg{width:14px;height:14px}.btn-lg .icon,.btn-lg svg{width:20px;height:20px}.text-primary{color:var(--text-primary)}.text-secondary{color:var(--text-secondary)}.text-tertiary{color:var(--text-tertiary)}.text-success{color:var(--color-success)}.text-error{color:var(--color-error)}.text-warning{color:var(--color-warning)}.bg-primary{background-color:var(--bg-primary)}.bg-secondary{background-color:var(--bg-secondary)}.bg-tertiary{background-color:var(--bg-tertiary)}.border-default{border:1px solid var(--border-default)}.border-strong{border:1px solid var(--border-strong)}.border-subtle{border:1px solid var(--border-subtle)}.shadow-sm{box-shadow:var(--shadow-sm)}.shadow-md{box-shadow:var(--shadow-md)}.shadow-lg{box-shadow:var(--shadow-lg)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.card{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-lg);padding:var(--space-6);transition:var(--transition-base)}.card-hover:hover{border-color:var(--border-strong);box-shadow:var(--shadow-sm)}.card-interactive{cursor:pointer}.card-interactive:hover{border-color:var(--border-strong);box-shadow:var(--shadow-md);transform:var(--transform-hover-slight)}.card-interactive:active{transform:var(--transform-active)}.card-secondary{background:var(--bg-secondary);border:1px solid var(--border-subtle)}.card-header{margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}.card-footer{margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.input,.textarea,.select{width:100%;background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal);padding:var(--space-2) var(--space-3);transition:var(--transition-base);outline:none}.input:hover,.textarea:hover,.select:hover{border-color:var(--border-strong)}.input:focus,.textarea:focus,.select:focus{border-color:var(--border-interactive-focus);box-shadow:0 0 0 var(--focus-ring-width) #0000000d}.input::placeholder,.textarea::placeholder{color:var(--text-tertiary)}.input:disabled,.textarea:disabled,.select:disabled{background:var(--bg-tertiary);cursor:not-allowed;opacity:.6}.textarea{min-height:100px;resize:vertical}.select{cursor:pointer;padding-right:var(--space-8);background-image:url("data:image/svg+xml,%3Csvg width='12' height='8' viewBox='0 0 12 8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%23525252' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;-webkit-appearance:none;-moz-appearance:none;appearance:none}.input-sm,.select-sm{padding:var(--space-1-5) var(--space-2-5);font-size:var(--font-size-sm)}.input-lg,.select-lg{padding:var(--space-3) var(--space-4);font-size:var(--font-size-lg)}.input-with-icon{padding-left:var(--space-10)}.badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap;background:var(--bg-tertiary);border:1px solid var(--border-default);color:var(--text-secondary)}.badge-primary{background:var(--color-black);border-color:var(--color-black);color:var(--color-white)}.badge-success{background:var(--color-success);border-color:var(--color-success);color:var(--color-white)}.badge-error{background:var(--color-error);border-color:var(--color-error);color:var(--color-white)}.badge-warning{background:var(--color-warning);border-color:var(--color-warning);color:var(--color-white)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:var(--z-index-modal-backdrop);animation:fadeIn var(--duration-normal) var(--ease-out)}.modal{background:var(--bg-primary);border:1px solid var(--border-default);border-radius:var(--radius-xl);box-shadow:var(--shadow-2xl);max-width:90vw;max-height:90vh;overflow:hidden;z-index:var(--z-index-modal);animation:slideUp var(--duration-normal) var(--ease-out)}.modal-header{padding:var(--space-6);border-bottom:1px solid var(--border-subtle)}.modal-body{padding:var(--space-6);overflow-y:auto}.modal-footer{padding:var(--space-6);border-top:1px solid var(--border-subtle);display:flex;gap:var(--space-3);justify-content:flex-end}.heading-1{font-size:var(--font-size-4xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.heading-2{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);letter-spacing:var(--letter-spacing-tight)}.heading-3{font-size:var(--font-size-2xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.heading-4{font-size:var(--font-size-xl);font-weight:var(--font-weight-semibold);line-height:var(--line-height-snug)}.body-text{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.small-text{font-size:var(--font-size-sm);font-weight:var(--font-weight-regular);line-height:var(--line-height-normal)}.caption{font-size:var(--font-size-xs);font-weight:var(--font-weight-regular);line-height:var(--line-height-snug);color:var(--text-tertiary)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--scrollbar-track);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:var(--radius-sm);border:2px solid transparent;background-clip:padding-box;transition:background var(--duration-normal) var(--ease-in-out)}::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}::-webkit-scrollbar-corner{background:var(--scrollbar-track)}*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.scrollbar-slim::-webkit-scrollbar{width:6px;height:6px}.scrollbar-slim{scrollbar-width:thin}.scrollbar-wide::-webkit-scrollbar{width:10px;height:10px}.scrollbar-hidden::-webkit-scrollbar{display:none}.scrollbar-hidden{scrollbar-width:none;-ms-overflow-style:none}.scrollbar-auto-hide{scrollbar-width:thin}.scrollbar-auto-hide::-webkit-scrollbar-thumb{background:transparent}.scrollbar-auto-hide:hover::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb)}.scrollbar-auto-hide:hover::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover)}
