@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.heart-button{background:none;border:none;padding:0;cursor:pointer;color:var(--color-text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base);outline:none;-webkit-tap-highlight-color:transparent}.heart-button:hover{color:var(--color-primary);transform:scale(1.1)}.heart-button--liked{color:#ef4444}.heart-button--liked:hover{color:#dc2626}@keyframes heart-beat{0%{transform:scale(1)}15%{transform:scale(1.25)}30%{transform:scale(1)}45%{transform:scale(1.15)}60%{transform:scale(1)}}.heart-button--animating{animation:heart-beat .45s ease-in-out}.heart-button svg{width:100%;height:100%}.marquee-container{overflow:hidden;white-space:nowrap;width:100%;position:relative;mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent);-webkit-mask-image:linear-gradient(to right,transparent,black 10%,black 90%,transparent)}.marquee-container:not(.overflowing){mask-image:none;-webkit-mask-image:none}.marquee-content{display:inline-block;padding-left:0}.marquee-container.overflowing .marquee-content{animation:marquee linear infinite}.marquee-spacer{display:inline-block;width:50px}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(calc(-50% - 25px))}}.marquee-container:hover .marquee-content{animation-play-state:paused}.mini-player{position:fixed;bottom:calc(var(--nav-base-height) + var(--safe-area-bottom));left:0;right:0;height:var(--player-height);background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);z-index:var(--z-player);cursor:pointer;-webkit-tap-highlight-color:transparent;overflow:hidden;box-shadow:0 -4px 12px #0000001a}.mini-player__progress{position:absolute;top:0;left:0;height:3px;background:var(--gradient-primary);transition:width .1s linear}.mini-player__content{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-lg);height:100%}.mini-player__artwork{width:42px;height:42px;border-radius:var(--radius-md);object-fit:cover;box-shadow:var(--shadow-sm)}.mini-player__info{flex:1;min-width:0}.mini-player__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);margin-bottom:2px}.mini-player__artist{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.mini-player__actions{display:flex;align-items:center;gap:var(--spacing-md)}.mini-player__play-btn{color:var(--color-primary);padding:var(--spacing-xs);width:38px;height:38px;flex-shrink:0}.mini-player__play-btn:active{transform:scale(.95)}.bottom-nav{position:fixed;bottom:0;left:0;right:0;height:calc(var(--nav-base-height) + var(--safe-area-bottom));background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);display:flex;justify-content:space-around;align-items:center;padding:0 var(--spacing-md) var(--safe-area-bottom);z-index:calc(var(--z-player) - 1);transition:transform var(--transition-base)}.bottom-nav--with-player{transform:none}.bottom-nav__item{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:var(--spacing-sm);text-decoration:none;color:var(--color-text-secondary);position:relative;transition:all var(--transition-base);-webkit-tap-highlight-color:transparent;border-radius:var(--radius-lg)}.bottom-nav__item:active{background:var(--color-surface);transform:scale(.95)}.bottom-nav__item.active{color:var(--color-text-primary)}.bottom-nav__icon{position:relative;display:flex;align-items:center;justify-content:center}.bottom-nav__item.active .bottom-nav__icon svg{color:#6366f1}.bottom-nav__label{font-size:var(--font-size-xs);font-weight:600;white-space:nowrap}.bottom-nav__indicator{position:absolute;top:0;width:32px;height:3px;background:var(--gradient-primary);border-radius:0 0 var(--radius-full) var(--radius-full)}@media(min-width:768px){.bottom-nav{max-width:500px;left:50%;transform:translate(-50%);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.bottom-nav--with-player{transform:translate(-50%)}}.install-prompt-overlay{position:fixed;inset:0;z-index:2000;background:#0006;display:flex;align-items:flex-end;padding:var(--spacing-lg);pointer-events:none}.install-prompt{width:100%;max-width:500px;margin:0 auto;border-radius:var(--radius-2xl);pointer-events:auto;overflow:hidden;box-shadow:0 -10px 40px #0000004d}.install-prompt__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-lg);position:relative}.install-prompt__icon{width:48px;height:48px;border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.install-prompt__icon img{width:100%;height:100%;object-fit:cover}.install-prompt__text h3{font-size:var(--font-size-lg);margin-bottom:2px}.install-prompt__text p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;line-height:1.4}.btn-close{position:absolute;top:12px;right:12px;background:none;border:none;color:var(--color-text-tertiary);cursor:pointer;padding:var(--spacing-xs)}.install-prompt__content{padding:var(--spacing-lg);border-top:1px solid var(--glass-border)}.btn-install-prompt{width:100%}.ios-instructions{display:flex;flex-direction:column;gap:var(--spacing-md)}.instruction-step{display:flex;align-items:flex-start;gap:var(--spacing-md)}.step-number{width:24px;height:24px;background:var(--gradient-primary);border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:700;flex-shrink:0}.instruction-step p{font-size:var(--font-size-sm);margin:0;line-height:1.5}@media(min-width:768px){.install-prompt-overlay{align-items:center}}.radio-exit-badge{width:64px;height:64px;background:var(--gradient-primary);border-radius:22px;display:flex;align-items:center;justify-content:center;margin:-52px auto var(--spacing-lg);box-shadow:0 12px 24px #6366f166;transform:rotate(-3deg);border:3px solid #1e293b}.radio-exit-icon{font-size:2rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2));animation:gentle-throb 3s ease-in-out infinite}@keyframes gentle-throb{0%,to{transform:scale(1) rotate(0)}50%{transform:scale(1.1) rotate(5deg)}}.radio-exit-header h2{font-weight:800;font-size:1.4rem;letter-spacing:-.02em;margin-bottom:var(--spacing-sm);background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.radio-exit-header p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-xl);padding:0 var(--spacing-xs)}.radio-exit-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-premium-action{background:var(--color-text-primary);color:var(--color-background);border-radius:16px;height:52px;font-weight:700;letter-spacing:-.01em;box-shadow:0 4px 12px #ffffff1a}.btn-premium-action:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffffff26}.btn-ghost{background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:500;min-height:40px}.btn-ghost:hover{color:var(--color-text-secondary)}@media(max-width:640px){.radio-exit-content{animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)!important}}.app-layout{position:relative;min-height:100vh}.app-content{position:relative}.sync-status-indicator{position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;width:32px;height:32px;min-width:32px;min-height:32px;flex-shrink:0;aspect-ratio:1/1;border-radius:50%;margin-right:8px;background:#ffffff0d;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:100}.sync-status-indicator:hover{background:#ffffff1a;transform:scale(1.05)}.sync-icon-container{display:flex;align-items:center;justify-content:center;width:20px;height:20px;line-height:0}.sync-icon-spin{color:var(--color-primary);animation:sync-spin 1s linear infinite;transform-origin:center}.sync-status--success{background:#10b9811a;color:#10b981}.sync-status--error{background:#ef44441a;color:#ef4444}@keyframes sync-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.sync-popover{position:absolute;top:calc(100% + 12px);right:0;width:220px;background:#1e293b;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;box-shadow:0 10px 25px -5px #00000080;z-index:1000;cursor:default}.sync-popover:before{content:"";position:absolute;top:-6px;right:12px;width:12px;height:12px;background:#1e293b;border-top:1px solid rgba(255,255,255,.1);border-left:1px solid rgba(255,255,255,.1);transform:rotate(45deg)}.sync-popover-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.sync-popover h4{font-size:14px;font-weight:600;margin:0;color:#f8fafc}.btn-close-popover{background:none;border:none;color:#94a3b8;font-size:20px;line-height:1;cursor:pointer;padding:0}.sync-popover-details{display:flex;flex-direction:column;gap:8px}.detail-row{display:flex;justify-content:space-between;font-size:13px}.detail-row .label{color:#94a3b8}.detail-row .value{color:#f1f5f9;font-weight:500}.detail-footer{margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,255,255,.05);font-size:11px;color:#64748b;text-align:center}.sync-popover-error{text-align:center}.error-msg{color:#fca5a5;font-size:13px;margin-bottom:12px;line-height:1.4}.btn-retry-sync{width:100%;padding:8px;background:#ef4444;color:#fff;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;transition:background .2s}.btn-retry-sync:hover{background:#dc2626}.sync-popover-loading{display:flex;flex-direction:column;align-items:center;gap:8px;padding:10px 0}.sync-popover-loading p{font-size:13px;color:#94a3b8;margin:0}.mini-spinner{width:20px;height:20px;border:2px solid rgba(139,92,246,.2);border-top-color:var(--color-primary);border-radius:50%;animation:sync-spin 1s linear infinite}.logout-modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#0f172ad9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;justify-content:center;align-items:center;z-index:10000}.logout-modal-content{background:var(--glass-bg);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow);border-radius:var(--radius-lg);padding:var(--spacing-xl);width:90%;max-width:400px;text-align:center;color:var(--color-text-primary)}.logout-modal-header h3{margin:0 0 var(--spacing-sm) 0;font-size:var(--font-size-xl);background:var(--gradient-text);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent;font-weight:700}.logout-modal-body p{color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);font-size:var(--font-size-base)}.logout-modal-body .sub-text{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.logout-modal-actions{display:flex;justify-content:center;gap:var(--spacing-md)}.logout-modal-actions .btn{padding:var(--spacing-sm) var(--spacing-lg);border-radius:9999px;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;font-size:var(--font-size-sm)}.logout-modal-actions .btn-ghost{background:#ffffff1a;color:var(--color-text-primary)}.logout-modal-actions .btn-ghost:hover{background:#fff3}.logout-modal-actions .btn-danger{background:var(--gradient-secondary);color:#fff;box-shadow:0 4px 12px #ec48994d}.logout-modal-actions .btn-danger:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ec489966}.animate-fade-in{animation:fadeIn .2s ease-out}.animate-scale-in{animation:scaleIn .2s cubic-bezier(.16,1,.3,1)}@keyframes scaleIn{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.top-right-profile{position:relative;z-index:1000}.header-actions{display:flex;align-items:center;gap:10px}.profile-trigger{width:38px;height:38px;border-radius:50%;cursor:pointer;border:2px solid var(--glass-border);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden;background:var(--glass-bg);display:flex;align-items:center;justify-content:center}.profile-trigger:hover,.profile-trigger.active{transform:scale(1.05);border-color:#ffffff4d;box-shadow:0 0 15px #ffffff1a}.profile-avatar{width:100%;height:100%;object-fit:cover}.profile-avatar.dummy{color:var(--color-text-tertiary);display:flex;align-items:center;justify-content:center;width:65%;height:65%}.profile-avatar.dummy svg{width:100%;height:100%}.profile-avatar.initials{background:var(--gradient-primary);color:#fff;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center}.profile-dropdown{position:absolute;top:calc(100% + 12px);right:0;width:260px;background:#1e293bf2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);border-radius:20px;box-shadow:var(--glass-shadow);overflow:hidden;padding:var(--spacing-md)}.dropdown-user-header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm)}.dropdown-avatar-container{position:relative;width:48px;height:48px;border-radius:50%;overflow:hidden;flex-shrink:0;border:2px solid var(--glass-border)}.pro-indicator-dot{position:absolute;bottom:-2px;right:-2px;font-size:14px;filter:drop-shadow(0 2px 4px rgba(0,0,0,.5))}.dropdown-user-details{display:flex;flex-direction:column;min-width:0}.user-name{font-weight:800;color:var(--color-text-primary);font-size:1rem}.user-email{font-size:.75rem;color:var(--color-text-tertiary)}.user-plan-tag{font-size:10px;font-weight:900;background:var(--pro-gold);color:#000;padding:1px 6px;border-radius:4px;margin-top:4px;align-self:flex-start}.dropdown-divider{height:1px;background:var(--glass-border);margin:var(--spacing-sm) 0}.dropdown-item{width:100%;display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:transparent;border:none;color:var(--color-text-primary);font-size:.9rem;font-weight:600;border-radius:12px;cursor:pointer;transition:all .2s ease;text-align:left}.dropdown-item:hover{background:#ffffff0d;padding-left:calc(var(--spacing-md) + 4px)}.logout-item{color:#ef4444}.logout-item:hover{background:#ef44441a}.item-icon{font-size:1.1rem}.profile-auth-section{padding:var(--spacing-md);text-align:center}.auth-teaser{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.btn-login-accent{width:100%;padding:12px;border-radius:12px;background:var(--gradient-primary);color:#fff;border:none;font-weight:700;cursor:pointer;transition:all .2s ease}.btn-login-accent:hover{transform:scale(1.02);box-shadow:0 4px 15px #6366f14d}.animate-scale-in{animation:scaleIn .2s cubic-bezier(.4,0,.2,1)}@keyframes scaleIn{0%{opacity:0;transform:scale(.95) translateY(-5px)}to{opacity:1;transform:scale(1) translateY(0)}}.album-card{cursor:pointer;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}.album-card__cover{position:relative;width:100%;padding-bottom:100%;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface);box-shadow:var(--shadow-lg);transition:all var(--transition-base)}.album-card:active .album-card__cover{transform:scale(.98)}.album-card__cover img{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.album-card__cover-placeholder{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);background:var(--gradient-primary);opacity:.3}.album-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,#0000,#000000b3);opacity:0;transition:opacity var(--transition-base)}.album-card:hover .album-card__overlay,.album-card:active .album-card__overlay{opacity:1}.album-card__info{margin-top:var(--spacing-sm);padding:var(--spacing-xs);min-width:0}.album-card__title{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-card__artist{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0 0 var(--spacing-xs) 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.album-card__year{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.album-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--spacing-md);padding:var(--spacing-md)}@media(min-width:768px){.album-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(min-width:1024px){.album-grid{grid-template-columns:repeat(4,minmax(0,1fr));max-width:1400px;margin:0 auto}}.album-grid-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;padding:var(--spacing-2xl);text-align:center}.album-grid-empty__icon{color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg);opacity:.5}.album-grid-empty h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.album-grid-empty p{color:var(--color-text-secondary);margin:0}.playlist-modal{background:var(--color-surface-elevated);width:90%;max-width:400px;border-radius:var(--radius-2xl);display:flex;flex-direction:column;max-height:80vh;box-shadow:var(--shadow-2xl)}.playlist-modal__header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.05)}.playlist-modal__header h3{margin:0;font-size:var(--font-size-lg);font-weight:800}.playlist-modal__content{overflow-y:auto;padding:var(--spacing-lg)}.create-plist-btn{display:flex;align-items:center;width:100%;padding:var(--spacing-md);background:#818cf81a;border:1px dashed rgba(129,140,248,.3);border-radius:var(--radius-xl);color:var(--color-primary);font-weight:700;cursor:pointer;margin-bottom:var(--spacing-lg);transition:all var(--transition-base)}.create-plist-btn:hover{background:#818cf826}.create-plist-btn__icon{width:40px;height:40px;background:var(--gradient-primary);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-right:var(--spacing-md);color:#fff}.playlist-create-form{margin-bottom:var(--spacing-lg);animation:fadeIn var(--transition-base)}.playlist-input{width:100%;margin-bottom:var(--spacing-md)}.playlist-form-actions{display:flex;justify-content:flex-end;gap:var(--spacing-sm)}.playlist-selection-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.playlist-selection-item{display:flex;align-items:center;width:100%;padding:var(--spacing-sm);background:transparent;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-base);color:var(--color-text)}.playlist-selection-item:hover{background:#ffffff0d}.playlist-selection-item__artwork{width:44px;height:44px;border-radius:var(--radius-md);overflow:hidden;margin-right:var(--spacing-md);flex-shrink:0}.playlist-selection-item__artwork img{width:100%;height:100%;object-fit:cover}.playlist-selection-item__artwork .placeholder{width:100%;height:100%}.playlist-selection-item__info{flex:1;text-align:left}.playlist-selection-item__info .name{font-weight:700;font-size:var(--font-size-base);margin-bottom:2px}.playlist-selection-item__info .count{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.added-check{color:var(--color-primary)}.no-playlists{text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-sm);margin-top:var(--spacing-md)}.spinner-center{display:flex;justify-content:center;padding:var(--spacing-xl)}.alert-modal-badge{width:64px;height:64px;background:var(--gradient-primary);border-radius:22px;display:flex;align-items:center;justify-content:center;margin:-52px auto var(--spacing-lg);box-shadow:0 12px 24px #6366f166;transform:rotate(-3deg);border:3px solid #1e293b}.alert-modal-icon{font-size:2rem;filter:drop-shadow(0 4px 6px rgba(0,0,0,.2))}.alert-modal-header h2{font-weight:800;font-size:1.4rem;letter-spacing:-.02em;margin-bottom:var(--spacing-sm);background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.alert-modal-body p{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-xl);padding:0 var(--spacing-xs)}.alert-modal-actions{display:flex;flex-direction:column;gap:var(--spacing-sm)}.btn-alert-primary{background:var(--color-text-primary);color:var(--color-background);border-radius:16px;height:52px;font-weight:700;letter-spacing:-.01em;box-shadow:0 4px 12px #ffffff1a}.btn-alert-primary:hover{transform:translateY(-2px);box-shadow:0 6px 16px #ffffff26}.btn-alert-ghost{background:transparent;color:var(--color-text-tertiary);font-size:var(--font-size-sm);font-weight:500;min-height:40px}.btn-alert-ghost:hover{color:var(--color-text-secondary)}.song-list-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent}.song-list-item:hover{background:var(--color-surface)}.song-list-item.active{background:#6366f11a}.song-list-item__artwork{position:relative;width:44px;height:44px;flex-shrink:0;border-radius:var(--radius-md);overflow:hidden}.song-list-item__artwork img{width:100%;height:100%;object-fit:cover}.song-list-item__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.5}.song-list-item__play-state{position:absolute;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;color:#fff}.song-list-item__info{flex:1;min-width:0}.song-list-item__title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-list-item.active .song-list-item__title{color:#818cf8}.song-list-item__metadata{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-xs);color:var(--color-text-secondary)}.song-list-item__artist,.song-list-item__album{font-size:var(--font-size-xs);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.song-list-item__dot{opacity:.5}.song-list-item__duration{font-size:var(--font-size-xs);color:var(--color-text-tertiary);font-variant-numeric:tabular-nums}.playing-bars{display:flex;align-items:flex-end;gap:2px;height:12px}.playing-bars span{width:2px;background:#fff;animation:bounce .5s ease-in-out infinite alternate}.playing-bars span:nth-child(2){animation-delay:.1s}.playing-bars span:nth-child(3){animation-delay:.2s}@keyframes bounce{0%{height:4px}to{height:12px}}.song-list-item__more{color:var(--color-text-tertiary);opacity:0;transition:all var(--transition-base);margin-left:auto}.song-list-item:hover .song-list-item__more{opacity:1}.song-list-item__more:hover{color:var(--color-primary);background:#818cf81a}@media(hover:none){.song-list-item__more{opacity:.6}}.modal-content{max-width:600px}.search-form{padding:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-input-group{display:flex;gap:var(--spacing-md)}.search-input-group input{flex:1}.search-form-footer{display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-divider{display:flex;align-items:center;text-align:center;color:var(--color-text-tertiary);font-size:var(--font-size-xs);font-weight:600;letter-spacing:.05em}.search-divider:before,.search-divider:after{content:"";flex:1;border-bottom:1px solid rgba(255,255,255,.05)}.search-divider span{padding:0 var(--spacing-md)}.btn-full{width:100%;justify-content:center}.btn-sm{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);min-height:36px}.error-message{padding:var(--spacing-md) var(--spacing-lg);background:#ef44441a;color:#fca5a5;border-left:3px solid #ef4444;margin:0 var(--spacing-lg)}.search-results{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg)}.search-result-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--spacing-md);transition:all var(--transition-base)}.search-result-item:hover{background:var(--color-surface-elevated)}.search-result-cover{width:64px;height:64px;border-radius:var(--radius-md);overflow:hidden;flex-shrink:0}.search-result-cover img{width:100%;height:100%;object-fit:cover}.search-result-placeholder{width:100%;height:100%;opacity:.3}.search-result-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.search-result-title{font-size:var(--font-size-base);font-weight:600;color:var(--color-text-primary)}.search-result-artist{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.search-result-year{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.search-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md)}.search-empty__custom{margin-top:var(--spacing-md);padding-top:var(--spacing-lg);border-top:1px solid rgba(255,255,255,.05);width:100%}.search-empty__hint{font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.modal-footer{padding:var(--spacing-md);text-align:center;border-top:1px solid rgba(255,255,255,.05)}.data-disclaimer{font-size:var(--font-size-xs);color:var(--color-text-tertiary);opacity:.6}.custom-album-modal{max-width:600px}.custom-album-form{display:flex;flex-direction:column;overflow:hidden}.form-scroll-area{padding:var(--spacing-lg);overflow-y:auto;flex:1}.form-section{margin-bottom:var(--spacing-xl)}.form-section h3{font-size:var(--font-size-md);font-weight:700;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.05);padding-bottom:var(--spacing-xs)}.form-row{display:flex;gap:var(--spacing-md)}.flex-1{flex:1}.flex-2{flex:2}.tracks-section .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg)}.tracks-section h3{margin-bottom:0;border:none;padding:0}.tracks-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.track-form-item{display:flex;gap:var(--spacing-md);align-items:flex-start;padding:var(--spacing-md);background:#ffffff08;border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.05)}.track-number{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-elevated);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;color:var(--color-text-tertiary);margin-top:10px}.track-fields{flex:1;display:flex;flex-direction:column;gap:var(--spacing-sm)}.track-fields input{margin:0!important}.btn-remove{background:none;border:none;color:var(--color-text-tertiary);padding:var(--spacing-xs);cursor:pointer;opacity:.5;transition:all var(--transition-base);margin-top:5px}.btn-remove:hover:not(:disabled){opacity:1;color:#ef4444}.btn-remove:disabled{opacity:.1;cursor:not-allowed}@media(max-width:640px){.form-row{flex-direction:column}.flex-1,.flex-2{width:100%}}.trial-promo-overlay{z-index:3000;display:flex;align-items:center;justify-content:center}.trial-promo-content{max-width:420px;width:90%;padding:var(--spacing-2xl);text-align:center;position:relative;border:1px solid rgba(255,255,255,.15)}.trial-promo-badge{width:72px;height:72px;background:var(--pro-gold);border-radius:22px;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-xl);font-size:2.5rem;box-shadow:var(--pro-glow);animation:floating 3s ease-in-out infinite}@keyframes floating{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.trial-promo-header h2{font-size:1.75rem;font-weight:950;margin-bottom:var(--spacing-sm);letter-spacing:-.5px;background:linear-gradient(to right,#fff,#fda085);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.trial-promo-header p{font-size:1rem;color:var(--color-text-secondary);line-height:1.5;margin-bottom:var(--spacing-xl)}.trial-features-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md) var(--spacing-lg);margin-bottom:var(--spacing-2xl);text-align:left;padding:0 var(--spacing-md)}.trial-feature-item{display:flex;align-items:center;gap:8px;font-size:.85rem;color:var(--color-text-primary);font-weight:700}.trial-feature-item svg{color:#10b981;flex-shrink:0}.trial-promo-actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.btn-trial-claim{background:var(--pro-gold);color:#000;font-weight:900;font-size:1rem;padding:var(--spacing-lg);border-radius:18px;box-shadow:0 10px 25px #fda08566}.btn-trial-claim:hover{transform:translateY(-2px);box-shadow:0 12px 30px #fda08580}.trial-promo-footer{margin-top:var(--spacing-lg);font-size:10px;font-weight:800;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:1px}.close-promo-btn{position:absolute;top:16px;right:16px;background:#ffffff0d;border:none;color:var(--color-text-tertiary);width:32px;height:32px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-promo-btn:hover{background:#ffffff1a;color:#fff}.home{min-height:100vh}.home-fab-container{position:fixed;bottom:calc(var(--nav-base-height) + var(--player-height) + var(--safe-area-bottom) + var(--spacing-md));right:var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-md);z-index:100}.btn-fab{width:60px;height:60px;border-radius:50%;background:var(--gradient-primary);color:#fff;display:flex;align-items:center;justify-content:center;border:none;box-shadow:var(--shadow-lg);cursor:pointer;transition:all var(--transition-base)}.btn-fab--secondary{width:50px;height:50px;background:var(--color-surface-elevated);color:var(--color-text-primary);border:1px solid rgba(255,255,255,.1)}.btn-fab:active{transform:scale(.9)}.home-header{padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-md);text-align:left}.settings-header__title-group{display:flex;align-items:center;gap:var(--spacing-md)}.home-header__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.home-header__title-group{display:flex;align-items:center;gap:var(--spacing-md)}.home-header__title{font-size:var(--font-size-3xl);font-weight:900;letter-spacing:-1px;margin:0;background:linear-gradient(to right,#fff,#a5a6f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.home-title{font-size:var(--font-size-3xl);font-weight:800;margin-bottom:var(--spacing-sm)}.home-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0;font-weight:500}.home-section{margin-bottom:var(--spacing-xl)}.section-header{display:flex;justify-content:space-between;align-items:center;padding:0 var(--spacing-lg);margin-bottom:var(--spacing-md)}.section-title{margin:0;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.view-all-link{font-size:var(--font-size-sm);font-weight:600;color:#818cf8;text-decoration:none;transition:all var(--transition-base)}.view-all-link:hover{color:#6366f1;text-decoration:underline}.home-loading{display:flex;align-items:center;justify-content:center;min-height:80vh}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;gap:var(--spacing-md);color:var(--color-text-secondary)}.quick-songs-grid{display:flex;flex-direction:column;gap:var(--spacing-xs);padding:0 var(--spacing-sm)}.quick-songs-grid .song-list-item__more{opacity:.6}.quick-songs-grid .song-list-item:hover .song-list-item__more{opacity:1}@media(min-width:1024px){.quick-songs-grid{gap:var(--spacing-sm)}}.recommendations-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md);padding:0 var(--spacing-lg)}.rec-card{position:relative;display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-md);background:var(--color-surface-elevated);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.05);transition:all var(--transition-base);overflow:hidden}.rec-card:active{transform:scale(.96);background:var(--color-surface-hover)}.rec-card__artwork{width:100%;aspect-ratio:1/1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface)}.rec-card__artwork img{width:100%;height:100%;object-fit:cover}.rec-card__placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.rec-card__info{min-width:0}.rec-card__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;margin-bottom:2px}.rec-card__subtitle{font-size:var(--font-size-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rec-card__link{position:absolute;inset:0;z-index:2;cursor:pointer}.recommendations-container{padding-bottom:var(--spacing-xl)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;max-width:500px;margin:0 auto;color:var(--color-text-secondary)}.empty-state__icon{margin-bottom:var(--spacing-xl);color:var(--color-text-tertiary);opacity:.5}.empty-state h2{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.empty-state__tips{margin-top:var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-md);width:100%}.tip{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);text-align:left;transition:transform var(--transition-fast)}.tip:active{transform:scale(.98)}.tip__icon{font-size:1.5rem}.btn-radio-mini{display:flex;align-items:center;gap:6px;padding:6px 14px;background:#fff;color:#000;border:none;border-radius:var(--radius-full);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.8px;cursor:pointer;transition:all var(--transition-base);box-shadow:0 4px 12px #fff3}.btn-radio-mini:hover{background:#f0f0f0;transform:scale(1.05);box-shadow:0 6px 16px #ffffff4d}.btn-radio-mini:active{transform:scale(.95)}.btn-radio-mini svg{margin-left:-2px}.alphabet-index{position:fixed;right:4px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;z-index:10;-webkit-user-select:none;user-select:none;padding:var(--spacing-xs);background:#0f172a66;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-full)}.alphabet-index__letter{font-size:10px;font-weight:800;color:var(--color-text-secondary);width:18px;height:14px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast)}.alphabet-index__letter.active{color:#818cf8;transform:scale(1.4);font-weight:900}@media(min-width:768px){.alphabet-index{right:calc(50% - 242px)}}.playlist-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-lg);padding:var(--spacing-sm)}@media(min-width:768px){.playlist-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.playlist-grid{grid-template-columns:repeat(4,1fr)}}.playlist-card{cursor:pointer;transition:transform var(--transition-base)}.playlist-card:active{transform:scale(.98)}.playlist-card__artwork-container{position:relative;aspect-ratio:1;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-surface-elevated);box-shadow:var(--shadow-md);margin-bottom:var(--spacing-sm)}.playlist-card__artwork{width:100%;height:100%;object-fit:cover}.playlist-card__artwork-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.playlist-card__artwork-placeholder svg{width:40%;height:40%}.playlist-card__badge{position:absolute;top:8px;right:8px;background:#0006;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:var(--radius-sm);text-transform:uppercase}.playlist-card__info{padding:0 var(--spacing-xs)}.playlist-card__name{font-size:var(--font-size-base);font-weight:700;margin:0 0 2px}.playlist-card__meta{font-size:var(--font-size-xs);color:var(--color-text-tertiary);margin:0}.playlist-grid-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary)}.library{min-height:100vh}.library-header{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(180deg,var(--color-surface) 0%,transparent 100%)}.library-header{padding:var(--spacing-lg)}.library-header__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.library-header h1{margin:0;font-size:var(--font-size-2xl)}.library-tabs{display:flex;background:var(--color-surface);padding:4px;border-radius:var(--radius-full);gap:4px}.tab-btn{padding:6px 16px;border:none;background:transparent;color:var(--color-text-secondary);font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base)}.tab-btn.active{background:var(--gradient-primary);color:#fff}.library-search{margin-top:var(--spacing-md)}.library-search input{height:40px;padding:0 var(--spacing-md);font-size:var(--font-size-sm)}.library-content{flex:1;overflow-y:auto}.library-songs{position:relative;padding-right:24px}.song-section{margin-bottom:var(--spacing-lg)}.song-section__header{padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:800;color:#818cf8;background:#818cf80d;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.song-section__items{padding:var(--spacing-xs)}.empty-songs{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary)}.library-header h1{font-size:var(--font-size-3xl);font-weight:800;margin-bottom:var(--spacing-xs)}.library-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.library-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.stats{min-height:100vh}.stats-header{text-align:center;padding:var(--spacing-xl) var(--spacing-lg);background:linear-gradient(180deg,var(--color-surface) 0%,transparent 100%)}.stats-header h1{font-size:var(--font-size-3xl);font-weight:800;margin-bottom:var(--spacing-xs)}.stats-header p{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0}.stats-content{padding:var(--spacing-lg)}.stats-section{margin-bottom:var(--spacing-2xl)}.stats-section h2{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-sm)}.stats-section__subtitle{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-lg)}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-2xl)}.stat-card__label{font-size:var(--font-size-xs);opacity:.9;text-transform:uppercase;letter-spacing:.5px}.activity-pulse{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-xl)}.pulse-square{aspect-ratio:1;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;position:relative;transition:transform .2s ease}.pulse-square:hover{transform:scale(1.1);z-index:2}.pulse-label{font-size:10px;font-weight:700;color:#fff;text-transform:uppercase;opacity:.6}.stats-section__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-sm)}.stats-badge{padding:2px 8px;background:var(--color-surface-elevated);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary)}.stats-section__footer{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);text-align:center}.heatmap{display:flex;gap:var(--spacing-sm);padding:var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-xl)}.heatmap-item{flex:1;display:flex;flex-direction:column;align-items:center}.heatmap-bar{width:100%;height:80px;background:var(--gradient-accent);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:all var(--transition-base)}.heatmap-bar:active{transform:scale(.95)}.heatmap-value{font-weight:700;font-size:var(--font-size-lg);color:#fff}.heatmap-label{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.top-songs{display:flex;flex-direction:column;gap:var(--spacing-sm)}.top-song-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);transition:all var(--transition-base)}.top-song-item:active{transform:scale(.98);background:var(--color-surface-elevated)}.top-song__rank{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);color:#fff;border-radius:var(--radius-md);font-weight:700;font-size:var(--font-size-sm);flex-shrink:0}.top-song__artwork{width:56px;height:56px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0}.top-song__info{flex:1;min-width:0}.top-song__title{font-weight:600;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-song__artist{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-song__plays{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-tertiary);flex-shrink:0}.stats-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center;color:var(--color-text-tertiary)}.stats-empty svg{opacity:.3;margin-bottom:var(--spacing-lg)}.stats-empty h3{color:var(--color-text-primary);margin-bottom:var(--spacing-sm)}.stats-empty p{margin:0}.stats-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}:root{--glass-background: rgba(255, 255, 255, .03);--glass-border: rgba(255, 255, 255, .08);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--pro-gold: linear-gradient(135deg, #f6d365 0%, #fda085 100%);--pro-glow: 0 0 20px rgba(253, 160, 133, .4)}.settings{min-height:100vh;background:radial-gradient(circle at top right,rgba(99,102,241,.15),transparent 400px),radial-gradient(circle at bottom left,rgba(168,85,247,.1),transparent 400px)}.settings-header{padding:var(--spacing-2xl) var(--spacing-lg) var(--spacing-xl);text-align:left}.settings-header__title-row{display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.user-meta-premium.no-avatar{padding-left:var(--spacing-xs)}.settings-header h1{font-size:2.5rem;font-weight:900;letter-spacing:-1px;margin:0;background:linear-gradient(to right,#fff,#a5a6f6);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.user-badge-premium{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;letter-spacing:1px;text-transform:uppercase}.user-badge-premium.free{background:var(--glass-background);border:1px solid var(--glass-border);color:var(--color-text-tertiary)}.user-badge-premium.pro,.user-badge-premium.premium{background:var(--pro-gold);color:#000;box-shadow:var(--pro-glow)}.settings-content{padding:0 var(--spacing-lg) var(--spacing-2xl);display:flex;flex-direction:column;gap:var(--spacing-xl)}.settings-card{background:var(--glass-background);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:var(--spacing-xl);box-shadow:var(--glass-shadow);transition:transform .3s ease,border-color .3s ease}.settings-card:hover{border-color:#ffffff26}.card-header,.card-header-simple,.card-header-ai{margin-bottom:var(--spacing-xl)}.card-title-group{display:flex;align-items:center;gap:var(--spacing-lg)}.card-icon{font-size:2rem;background:var(--glass-background);width:56px;height:56px;display:flex;align-items:center;justify-content:center;border-radius:16px;border:1px solid var(--glass-border)}.settings-card h2{font-size:1.25rem;font-weight:800;margin:0 0 4px}.card-subtitle{font-size:.875rem;color:var(--color-text-secondary);margin:0}.vibesync-promo__main{margin-bottom:var(--spacing-xl)}.vibesync-promo__text h3{font-size:1.5rem;font-weight:900;margin:0 0 var(--spacing-sm) 0;line-height:1.2}.vibesync-promo__pricing-minimal{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.price-item{flex:1;padding:var(--spacing-md);background:#ffffff0d;border:1px solid var(--glass-border);border-radius:16px;display:flex;flex-direction:column;align-items:center;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer}.price-item:hover{background:#ffffff14;transform:translateY(-2px);border-color:#fda0854d}.price-item.selected{border:2px solid #10b981;background:#10b98114;box-shadow:0 8px 32px #10b98126}.price-item.featured{border:1px solid rgba(253,160,133,.5);background:#fda0850d}.price-item.featured.selected{border:2px solid #10b981;background:#10b98126;box-shadow:0 10px 40px #10b98140;transform:translateY(-4px)}.p-label{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;font-weight:700}.p-val{font-size:1.25rem;font-weight:800}.p-tag{position:absolute;top:-8px;background:var(--pro-gold);color:#000;font-size:10px;font-weight:900;padding:2px 6px;border-radius:4px}.vibesync-promo__actions{display:flex;flex-direction:column;gap:var(--spacing-md)}.vibesync-user-brief{display:flex;align-items:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.user-avatar-premium{width:64px;height:64px;border-radius:var(--radius-full);overflow:hidden;background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;border:2px solid var(--glass-border)}.user-avatar-premium img{width:100%;height:100%;object-fit:cover}.avatar-initials{font-size:1.5rem;font-weight:800;color:#fff}.user-meta-premium .name-row{display:flex;align-items:center;gap:var(--spacing-sm)}.plan-pill{font-size:10px;font-weight:900;padding:2px 8px;border-radius:6px;text-transform:uppercase}.plan-pill.pro,.plan-pill.premium{background:var(--pro-gold);color:#000}.email-sub{font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin:2px 0 0}.tutorial-expiry-banner{display:flex;align-items:center;gap:10px;background:#6366f114;border:1px solid rgba(99,102,241,.15);padding:8px 12px;border-radius:12px;margin-top:10px}.expiry-banner-icon{display:flex;align-items:center;justify-content:center;color:#818cf8}.tutorial-expiry-banner span{font-size:.75rem;font-weight:700;color:var(--color-text-secondary);letter-spacing:.2px}.expiry-badge{margin-left:auto;background:#6366f133;color:#a5a6f6;font-size:9px;font-weight:900;text-transform:uppercase;padding:2px 6px;border-radius:4px;letter-spacing:.5px}.logout-trigger{margin-left:auto;background:#ef44441a;color:#ef4444;border:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.logout-trigger:hover{background:#ef444433;transform:scale(1.05)}.plan-select-item{flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;padding:12px;border-radius:12px;border:1.5px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);cursor:pointer;background:#ffffff08}.plan-select-item.active{background:#10b98114;border-color:#10b981;box-shadow:0 4px 20px #10b9811a}.p-sub-text{font-size:11px;font-weight:800;color:var(--color-text-secondary);letter-spacing:.5px}.pro-status-banner{position:relative;padding:var(--spacing-lg);background:#0000004d;border-radius:20px;overflow:hidden;margin-bottom:var(--spacing-xl)}.pro-glow{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,rgba(253,160,133,.2) 0%,transparent 70%);animation:rotatePro 10s linear infinite}@keyframes rotatePro{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.pro-content{position:relative;display:flex;align-items:center;gap:var(--spacing-md);z-index:1}.pro-icon{font-size:1.5rem}.pro-text strong{display:block;color:#fff;font-size:.95rem}.pro-text span{font-size:.75rem;color:var(--color-text-tertiary)}.btn{appearance:none;border:none;font-family:inherit;font-weight:800;cursor:pointer;transition:all .2s cubic-bezier(.175,.885,.32,1.275);display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-xl)}.btn-primary{background:#fff;color:#000;border-radius:18px;box-shadow:0 4px 15px #fff3}.btn-primary:active{transform:scale(.96)}.btn-secondary{background:var(--glass-background);color:#fff;border:1px solid var(--glass-border);border-radius:18px}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-radius:12px}.btn-full{width:100%}.cache-stats-grid,.sync-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.c-stat,.s-stat{background:#ffffff0d;padding:var(--spacing-md);border-radius:16px;display:flex;flex-direction:column}.l{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase;font-weight:700}.v{font-size:1.125rem;font-weight:800;color:#fff}.ai-card-refined{background:var(--glass-background);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--glass-border);border-radius:24px;padding:var(--spacing-lg) var(--spacing-xl);cursor:pointer;transition:all .3s ease;position:relative;overflow:hidden}.ai-card-refined:hover{border-color:#6366f166;transform:translateY(-2px)}.ai-refined-content{display:flex;align-items:center;gap:var(--spacing-lg);z-index:1;position:relative}.ai-refined-icon{font-size:1.5rem;background:#6366f11a;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;color:#818cf8}.ai-refined-text h3{font-size:1.1rem;font-weight:800;margin:0}.ai-refined-text p{font-size:.85rem;color:var(--color-text-tertiary);margin:2px 0 0}.ai-refined-arrow{margin-left:auto;color:var(--color-text-tertiary);opacity:.5}.ai-card-refined.promo-variant{border:1px solid rgba(99,102,241,.3);background:linear-gradient(135deg,#6366f10d,#a855f70d)}.ai-card-refined.promo-variant:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at top right,rgba(99,102,241,.1),transparent 150px);pointer-events:none}.slider-header-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-sm)}.slider-header-row label{font-weight:700;font-size:.9rem}.limit-val{font-weight:900;color:var(--color-primary);background:#6366f11a;padding:2px 8px;border-radius:6px;font-size:.85rem}.modern-slider{width:100%;margin:var(--spacing-md) 0}.health-results-preview{display:flex;gap:var(--spacing-md);margin-top:var(--spacing-lg)}.h-stat{flex:1;background:#0003;padding:var(--spacing-md);border-radius:16px;text-align:center}.h-val{display:block;font-size:1.5rem;font-weight:900}.h-lab{font-size:.75rem;color:var(--color-text-tertiary);text-transform:uppercase}.h-stat.healthy .h-val{color:#22c55e}.h-stat.issues .h-val{color:#ef4444}.backup-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:var(--spacing-md)}.clickable{cursor:pointer}.settings-footer-about{text-align:center;padding:var(--spacing-2xl) 0;opacity:.5}.settings-footer-about p{margin:4px 0;font-size:.875rem}.made-with{font-size:.75rem}.auth-overlay{position:fixed;inset:0;background:#000000d9;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2000;display:flex;align-items:flex-end;justify-content:center}.auth-sheet{background:#121212;width:100%;max-width:500px;border-radius:32px 32px 0 0;padding:var(--spacing-2xl);border-top:1px solid var(--glass-border)}.sheet-handle{width:40px;height:4px;background:var(--glass-border);border-radius:2px;margin:-12px auto var(--spacing-xl)}.auth-sheet-header{text-align:center;margin-bottom:var(--spacing-2xl)}.auth-sheet-header h2{font-size:2rem;font-weight:900;margin-bottom:4px}.auth-sheet-header p{color:var(--color-text-tertiary)}.google-btn-full{margin-bottom:var(--spacing-xl)}.auth-divider-text{text-align:center;position:relative;margin:var(--spacing-xl) 0}.auth-divider-text:before{content:"";position:absolute;left:0;top:50%;right:0;height:1px;background:var(--glass-border)}.auth-divider-text span{position:relative;background:#121212;padding:0 var(--spacing-md);font-size:10px;font-weight:900;color:var(--color-text-tertiary);letter-spacing:1px}.legacy-auth-preview{display:flex;flex-direction:column;gap:var(--spacing-md);opacity:.4}.legacy-auth-preview input{background:var(--glass-background);border:1px solid var(--glass-border);padding:var(--spacing-md);border-radius:12px;color:#fff}.disabled-btn{cursor:not-allowed;opacity:.5}.animate-slide-up{animation:slideUp .6s cubic-bezier(.16,1,.3,1) forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.sync-spinner-row{display:flex;align-items:center;gap:var(--spacing-md)}.spinner-sm{width:18px;height:18px;border:3px solid rgba(0,0,0,.1);border-top-color:currentColor;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.plan-selection-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:24px;width:100%}.plan-card-premium{position:relative;background:#ffffff08;border:1.5px solid rgba(255,255,255,.08);border-radius:20px;padding:20px;cursor:pointer;transition:all .4s cubic-bezier(.175,.885,.32,1.275);display:flex;flex-direction:column;gap:8px;overflow:hidden}.plan-card-premium:hover{background:#ffffff0d;border-color:#fff3;transform:translateY(-4px)}.plan-card-premium.is-selected{background:#3b82f614;border-color:#3b82f6;box-shadow:0 8px 32px #3b82f626}.plan-card-premium.featured.is-selected{background:#10b98114;border-color:#10b981;box-shadow:0 8px 32px #10b98133;animation:featured-selected-pulse 2s infinite cubic-bezier(.4,0,.2,1)}@keyframes featured-selected-pulse{0%,to{box-shadow:0 8px 32px #10b98133}50%{box-shadow:0 8px 48px #10b98166}}.plan-card-tag{position:absolute;top:0;right:0;background:#10b981;color:#fff;font-size:8px;font-weight:900;padding:4px 12px;border-radius:0 0 0 12px;text-transform:uppercase;letter-spacing:.5px;box-shadow:-2px 2px 8px #10b9814d}.plan-card-header{display:flex;flex-direction:column;gap:2px}.p-title{font-size:.8rem;font-weight:800;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px}.p-price{font-size:1.75rem;font-weight:900;color:#fff}.p-desc{font-size:.75rem;color:var(--color-text-secondary);line-height:1.4;margin:4px 0 0}.plan-card-badge{margin-top:auto;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#fff;font-size:10px;font-weight:900;padding:4px 8px;border-radius:100px;text-align:center;letter-spacing:.5px}.is-selected .plan-card-badge{background:#10b981;border-color:transparent}.checkout-cta-btn{height:54px!important;font-size:1rem!important;font-weight:850!important;background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important;border-radius:20px!important;box-shadow:0 8px 24px #2563eb4d!important;border:none!important}.checkout-cta-btn:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 12px 32px #2563eb66!important}.checkout-stage{background:#0003;border-radius:24px;padding:24px;border:1px solid var(--glass-border)}.checkout-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid rgba(255,255,255,.05)}.btn-back-selection{background:none;border:none;color:var(--color-text-tertiary);font-size:.85rem;font-weight:700;display:flex;align-items:center;gap:6px;cursor:pointer;padding:0;transition:color .2s ease}.btn-back-selection:hover{color:#fff}.selected-plan-pill{background:#3b82f61a;color:#60a5fa;padding:6px 14px;border-radius:100px;font-size:.75rem;font-weight:800;border:1px solid rgba(59,130,246,.2)}.paypal-container-premium{background:#fff;padding:20px;border-radius:20px;margin-bottom:16px}.checkout-footer-text{font-size:.7rem;color:var(--color-text-tertiary);text-align:center;font-weight:600}.paypal-compact-row{display:flex;gap:var(--spacing-sm);flex-wrap:wrap;width:100%}.paypal-compact-row>div{flex:1}.current-library-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--glass-border)}.l-stat{display:flex;flex-direction:column;align-items:center;background:#ffffff08;padding:12px 8px;border-radius:16px;border:1px solid rgba(255,255,255,.05);transition:transform .2s ease}.l-stat:hover{transform:translateY(-2px);background:#ffffff0d}.l-stat .v{font-size:1.25rem;font-weight:900;color:#fff;margin-bottom:2px}.l-stat .l{font-size:.65rem;text-transform:uppercase;font-weight:800;color:var(--color-text-tertiary);letter-spacing:.5px}.history-drawer{margin-top:32px;animation:fadeIn .4s ease}.history-drawer h4{font-size:.95rem;font-weight:800;margin-bottom:16px;color:#fff;opacity:.9;display:flex;align-items:center;gap:8px}.history-drawer h4:before{content:"";width:4px;height:16px;background:var(--color-primary);border-radius:2px}.history-list-compact{display:flex;flex-direction:column;gap:12px}.history-item-premium{background:#ffffff08;border:1px solid var(--glass-border);border-radius:20px;padding:16px;transition:all .3s cubic-bezier(.4,0,.2,1)}.history-item-premium:hover{border-color:#ffffff26;background:#ffffff0d}.history-item-premium.is-current{background:linear-gradient(135deg,#6366f11a,#a855f71a);border-color:#6366f140;box-shadow:0 4px 20px #0003}.v-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v-badge{font-size:9px;font-weight:900;text-transform:uppercase;padding:3px 10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:100px;letter-spacing:.8px;color:var(--color-text-secondary)}.history-item-premium.is-current .v-badge{background:var(--gradient-primary);border-color:transparent;color:#fff;box-shadow:0 4px 12px #6366f14d}.v-date{font-size:.8rem;color:var(--color-text-tertiary);font-weight:600;opacity:.8}.v-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}.v-stat-unit{display:flex;flex-direction:column;align-items:center;padding:6px 4px;background:#0003;border-radius:12px;border:1px solid rgba(255,255,255,.02)}.v-val{font-size:.95rem;font-weight:800;color:#fff}.v-lab{font-size:.6rem;color:var(--color-text-tertiary);text-transform:uppercase;font-weight:700;letter-spacing:.3px}.restore-action-btn{width:100%;height:36px;padding:0!important;font-size:.8rem!important;font-weight:800!important;border-radius:12px!important;background:#ffffff0d!important;border:1px solid rgba(255,255,255,.1)!important;color:#fff!important}.history-drawer-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.history-drawer-header h4{margin-bottom:0}.loading-fade{opacity:.5;pointer-events:none;transition:opacity .3s ease}.no-history-fallback{text-align:center;padding:32px 0;opacity:.5}.no-history-icon{font-size:2rem;margin-bottom:8px}.no-history-fallback p{font-size:.85rem;font-weight:600;margin:0}.animate-fade-in{animation:fadeIn .5s ease forwards}.plan-card-header{display:flex;flex-direction:column;gap:2px;padding-right:40px}@media(max-width:480px){.plan-selection-grid{grid-template-columns:1fr}}.pro-features-list{margin:24px 0;padding:0 16px}.pro-features-list ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:12px}.pro-features-list li{font-size:.85rem;color:var(--color-text-secondary);display:flex;align-items:center;gap:8px}.pro-features-list .chk{color:#10b981;font-weight:900}.pro-features-list.compact{margin:16px 0 24px;padding:0}.pro-features-list.compact ul{grid-template-columns:1fr;gap:8px}.upgrade-teaser{background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid rgba(255,255,255,.05);border-radius:20px;padding:20px;margin-bottom:24px}.teaser-content{display:flex;align-items:center;gap:16px;margin-bottom:20px}.teaser-icon{font-size:2rem;background:#ffffff0d;width:48px;height:48px;display:flex;align-items:center;justify-content:center;border-radius:12px}.teaser-text{display:flex;flex-direction:column;gap:4px}.teaser-text h3{font-size:1.1rem;font-weight:800;margin:0;color:#fff}.teaser-text p{font-size:.85rem;color:var(--color-text-tertiary);margin:0}.sync-controls-premium{background:#0000004d;border:1px solid var(--glass-border);border-radius:20px;padding:20px;margin-top:24px}.sync-stats-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}.s-stat{background:#ffffff0d;padding:12px;border-radius:12px;display:flex;flex-direction:column;gap:4px}.s-stat .l{font-size:.7rem;text-transform:uppercase;font-weight:700;color:var(--color-text-tertiary);letter-spacing:.5px}.s-stat .v{font-size:1rem;font-weight:800;color:#fff}.plan-card-premium{min-height:140px;padding:24px 20px;display:flex;flex-direction:column;justify-content:space-between}.plan-card-header .p-title{font-size:.75rem;margin-bottom:4px;display:block}.plan-card-header .p-price{font-size:1.5rem}.p-desc{font-size:.75rem;line-height:1.3;opacity:.7;margin-top:8px}@media(max-width:480px){.pro-features-list ul{grid-template-columns:1fr}.teaser-content{flex-direction:column;align-items:flex-start;text-align:left}}.trial-badge-guest{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:var(--spacing-xl);padding:var(--spacing-md);background:#fda0850d;border:1px solid rgba(253,160,133,.15);border-radius:12px;font-size:.8rem;font-weight:700;color:#fda085}.trial-badge-guest .sparkle{font-size:1rem;animation:pulse 2s infinite}@keyframes pulse{0%{transform:scale(1);opacity:.8}50%{transform:scale(1.2);opacity:1}to{transform:scale(1);opacity:.8}}.trial-success-overlay{z-index:4000}.trial-success-content{max-width:400px;padding:var(--spacing-2xl);text-align:center}.success-badge{width:80px;height:80px;background:var(--pro-gold);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-xl);font-size:2.5rem;box-shadow:var(--pro-glow);animation:success-pop .5s cubic-bezier(.175,.885,.32,1.275)}@keyframes success-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.trial-success-header h2{font-size:24px;font-weight:900;margin-bottom:8px;background:var(--pro-gold);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.trial-success-header p{font-size:15px;color:var(--color-text-secondary);line-height:1.5;margin-bottom:24px}.trial-promo-card{background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:24px;margin:16px 0 32px;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.trial-promo-card:hover{transform:translateY(-2px);border-color:#fda0854d}.trial-promo-card:before{content:"";position:absolute;top:-50px;right:-50px;width:150px;height:150px;background:radial-gradient(circle,rgba(253,160,133,.15) 0%,transparent 70%);filter:blur(20px);pointer-events:none}.trial-promo-card .card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.pro-pill{background:linear-gradient(135deg,#f6d365,#fda085);color:#000;font-size:.65rem;font-weight:900;padding:3px 8px;border-radius:100px;letter-spacing:.5px;box-shadow:0 0 15px #fda0854d}.trial-promo-card .banner-close{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-tertiary);cursor:pointer;width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.trial-promo-card .banner-close:hover{background:#fff3;color:#fff;transform:rotate(90deg)}.trial-promo-card .card-body h3{font-size:1.15rem;font-weight:800;margin:0 0 6px;color:#fff;letter-spacing:-.2px}.trial-promo-card .card-body p{font-size:.85rem;color:var(--color-text-secondary);margin:0 0 20px;line-height:1.5;max-width:90%}.btn-trial-cta{width:100%;background:#fff;color:#000;border:1px solid #fff;padding:10px;border-radius:12px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 15px #ffffff1a}.btn-trial-cta:hover{background:transparent;color:#fff;box-shadow:0 0 20px #fff3;transform:scale(1.02)}.btn-trial-cta:active{transform:scale(.98)}@media(max-width:768px){.trial-promo-card{padding:20px;margin-bottom:24px}}.ai-page{min-height:100vh;display:flex;flex-direction:column;background:var(--color-background)}.ai-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);text-align:center}.ai-empty__icon{margin-bottom:var(--spacing-xl);color:var(--color-primary);opacity:.8}.ai-empty h2{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--spacing-md)}.ai-empty p{color:var(--color-text-secondary);margin-bottom:var(--spacing-2xl);max-width:400px}.ai-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1)}.ai-header h1{font-size:var(--font-size-2xl);font-weight:800}.ai-content{flex:1;overflow-y:auto;padding:var(--spacing-lg);padding-bottom:200px}.ai-welcome{text-align:center;padding:var(--spacing-2xl) 0}.ai-welcome h2{font-size:var(--font-size-xl);font-weight:700;margin-bottom:var(--spacing-2xl);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.ai-config-btn{max-width:200px;margin:0 auto}.suggested-prompts{display:grid;gap:var(--spacing-md);max-width:600px;margin:0 auto}.prompt-chip{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-xl);color:var(--color-text-primary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-base);text-align:left}.prompt-chip:hover:not(:disabled){background:var(--color-surface-elevated);border-color:var(--color-primary);transform:translateY(-2px)}.prompt-chip:disabled{opacity:.5;cursor:not-allowed}.ai-messages{max-width:800px;margin:0 auto;padding-bottom:var(--spacing-2xl)}.message{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-lg);animation:messageSlideIn .3s ease-out}.message--user{flex-direction:row-reverse}.message__avatar{width:40px;height:40px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;overflow:hidden}.avatar-img{width:100%;height:100%;object-fit:cover;border-radius:50%;border:1px solid rgba(255,255,255,.1)}.message__content{max-width:70%;padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);font-size:var(--font-size-base);line-height:1.6;word-wrap:break-word}.message--user .message__content{background:var(--gradient-primary);color:#fff;border-bottom-right-radius:var(--radius-sm)}.message--assistant .message__content{background:var(--color-surface);color:var(--color-text-primary);border-bottom-left-radius:var(--radius-sm)}.message__content p{margin:0 0 var(--spacing-sm) 0}.message__content p:last-child{margin-bottom:0}.message__content code{background:#0000004d;padding:2px 6px;border-radius:var(--radius-sm);font-family:Monaco,Courier New,monospace;font-size:.9em}.message__content pre{background:#0006;padding:var(--spacing-md);border-radius:var(--radius-md);overflow-x:auto;margin:var(--spacing-sm) 0}.message__content pre code{background:none;padding:0}.message__content ul,.message__content ol{margin:var(--spacing-sm) 0;padding-left:var(--spacing-lg)}.message__content li{margin:var(--spacing-xs) 0}.message__content a{color:#60a5fa;text-decoration:underline}.message__content blockquote{border-left:3px solid var(--color-primary);padding-left:var(--spacing-md);margin:var(--spacing-sm) 0;opacity:.8}.message__content table{border-collapse:collapse;margin:var(--spacing-sm) 0;width:100%}.message__content th,.message__content td{border:1px solid rgba(255,255,255,.1);padding:var(--spacing-xs) var(--spacing-sm);text-align:left}.message__content th{background:#ffffff0d;font-weight:600}.message__cursor{display:inline-block;animation:blink 1s infinite;margin-left:2px}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.ai-input-container{position:fixed;bottom:calc(var(--nav-base-height) + var(--safe-area-bottom) + var(--spacing-sm));left:0;right:0;padding:0 var(--spacing-lg);background:linear-gradient(to top,var(--color-background) 80%,transparent);padding-top:var(--spacing-lg);z-index:10;transition:bottom var(--transition-base)}.ai-input-container.has-mini-player{bottom:calc(var(--nav-base-height) + var(--safe-area-bottom) + var(--player-height) + var(--spacing-sm))}.ai-input{max-width:800px;margin:0 auto;display:flex;gap:var(--spacing-sm);background:var(--color-surface);padding:var(--spacing-sm);border-radius:var(--radius-full);border:1px solid rgba(255,255,255,.1)}.ai-input input{flex:1;padding:var(--spacing-md) var(--spacing-lg);background:transparent;border:none;color:var(--color-text-primary);font-size:var(--font-size-base);outline:none}.ai-input input::placeholder{color:var(--color-text-tertiary)}.send-btn{width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:var(--gradient-primary);border:none;border-radius:var(--radius-full);color:#fff;cursor:pointer;transition:all var(--transition-base);flex-shrink:0}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:active:not(:disabled){transform:scale(.95)}.ai-error{max-width:800px;margin:var(--spacing-lg) auto;padding:var(--spacing-md) var(--spacing-lg);background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-lg);color:#ef4444;font-size:var(--font-size-sm)}.modal-content{max-width:500px}.btn-sm{min-height:36px;padding:var(--spacing-xs) var(--spacing-md);font-size:var(--font-size-sm)}.form-group{margin-bottom:var(--spacing-md)}.form-group label{display:block;font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.form-group input,.form-group select{width:100%;padding:var(--spacing-md);background:var(--color-surface-elevated);border:1px solid rgba(255,255,255,.1);border-radius:var(--radius-lg);color:var(--color-text-primary);font-size:var(--font-size-base);transition:all var(--transition-base)}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px #6366f11a}.test-result{margin-top:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.test-result--success{background:#22c55e1a;color:#22c55e}.test-result--error{background:#ef44441a;color:#ef4444}.ai-superpowers{width:100%;max-width:400px;margin:var(--spacing-xl) 0;display:flex;flex-direction:column;gap:var(--spacing-lg);text-align:left}.superpower{display:flex;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-xl);border:1px solid rgba(255,255,255,.05);transition:all var(--transition-base)}.superpower:hover{background:var(--color-surface-elevated);border-color:#6366f14d;transform:translate(4px)}.superpower__icon{font-size:1.5rem;flex-shrink:0}.superpower__text strong{display:block;font-size:var(--font-size-base);color:var(--color-text-primary);margin-bottom:2px}.superpower__text p{margin:0;font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.4}@keyframes modalSlideIn{0%{opacity:0;transform:scale(.95) translateY(-20px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes modalSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.song-info{margin-bottom:var(--spacing-xl);text-align:center}.song-info h3{font-size:var(--font-size-lg);margin-bottom:var(--spacing-xs)}.song-info p{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin:0}.form-group{margin-bottom:var(--spacing-lg)}.form-group label{display:block;font-size:var(--font-size-sm);font-weight:600;margin-bottom:var(--spacing-sm);color:var(--color-text-secondary)}.help-text{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--color-text-tertiary);line-height:1.5}.modal-actions{display:flex;gap:var(--spacing-md);justify-content:flex-end;margin-top:var(--spacing-xl)}.modal-actions .btn{flex:1}@media(min-width:480px){.modal-actions .btn{flex:0 0 auto;min-width:100px}}.album-detail{min-height:100vh;padding-bottom:calc(80px + var(--spacing-xl))}.album-detail__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);padding-top:max(var(--spacing-lg),env(safe-area-inset-top))}.btn-delete-album:active{background:#ef44441a}.album-detail__header-actions{display:flex;align-items:center;gap:8px}.album-detail__cover-container{padding:0 var(--spacing-xl);margin-bottom:var(--spacing-xl);display:flex;justify-content:center}.album-detail__artwork{width:100%;max-width:400px;aspect-ratio:1;border-radius:32px;object-fit:cover;box-shadow:0 20px 50px #00000080,0 0 0 1px #ffffff1a,inset 0 0 40px #ffffff0d;transition:all .5s cubic-bezier(.175,.885,.32,1.275)}.album-detail__artwork:hover{transform:scale(1.02)}.album-detail__cover-placeholder{width:100%;max-width:400px;aspect-ratio:1;border-radius:32px;display:flex;align-items:center;justify-content:center;color:#fff;opacity:.8;box-shadow:0 20px 50px #0000004d;background:var(--gradient-primary)}.album-detail__info{padding:0 var(--spacing-lg) var(--spacing-xl);text-align:center;min-width:0}.album-detail__title-h1{font-size:2.25rem;font-weight:900;margin-bottom:var(--spacing-xs);text-align:center;color:var(--color-text-primary);display:block;width:100%;letter-spacing:-1px}.album-detail__title-h1 .marquee-content{background:var(--gradient-text);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.album-detail__meta{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg);min-width:0;flex-wrap:wrap}.album-detail__artist{font-size:var(--font-size-base);color:var(--color-text-secondary)}.album-detail__year{margin-bottom:0}.dot{color:var(--color-text-tertiary);opacity:.5}.badge{padding:2px 8px;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:700;text-transform:uppercase;letter-spacing:.5px}.badge--custom{background:#818cf833;color:#818cf8;border:1px solid rgba(129,140,248,.3)}.album-detail__tracks{padding:0 var(--spacing-lg)}.album-detail__tracks .section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.album-detail__tracks .section-header h3{margin-bottom:0}.btn-add-track{color:var(--color-primary);background:#646cff1a;border-radius:var(--radius-md);padding:var(--spacing-xs);transition:all var(--transition-base)}.btn-add-track:active{background:#646cff33;transform:scale(.95)}.track-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);margin-bottom:var(--spacing-sm);transition:all var(--transition-base);border:1px solid transparent}.track-item--playable{cursor:pointer}.track-item--playable:hover{background:var(--color-surface-elevated);border-color:#6366f133;transform:translate(4px)}.track-item__number{width:24px;font-size:var(--font-size-sm);font-weight:700;color:var(--color-text-tertiary)}.track-item__info{flex:1;min-width:0}.track-item__title{font-weight:600;color:var(--color-text-primary);margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.track-item__duration{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.track-item__actions{display:flex;align-items:center;gap:var(--spacing-sm)}.track-item__status--ready{color:#22c55e}.btn-edit-track,.btn-delete-track{opacity:0;transition:opacity var(--transition-fast),color .2s;color:var(--color-text-tertiary)}.track-item:hover .btn-edit-track,.track-item:hover .btn-delete-track{opacity:1}.btn-delete-track:hover{color:#ef4444}@media(max-width:768px){.btn-edit-track,.btn-delete-track{opacity:.7}}.tracks-empty{text-align:center;padding:var(--spacing-2xl) var(--spacing-lg);background:var(--color-surface);border-radius:var(--radius-xl);border:2px dashed rgba(255,255,255,.05);color:var(--color-text-secondary)}.tracks-empty p{margin-bottom:var(--spacing-lg)}.album-detail-loading,.album-detail-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-2xl)}.playlist-detail{min-height:100vh;background:var(--color-surface)}.playlist-detail__header{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:var(--color-surface);position:sticky;top:0;z-index:10}.playlist-detail__header-title{margin-left:var(--spacing-md);font-size:var(--font-size-base);font-weight:700;color:var(--color-text-secondary)}.playlist-detail__hero{display:flex;flex-direction:column;align-items:center;padding:var(--spacing-2xl) var(--spacing-lg);text-align:center;background:linear-gradient(180deg,rgba(0,0,0,0) 0%,var(--color-surface-elevated) 100%)}@media(min-width:768px){.playlist-detail__hero{flex-direction:row;text-align:left;gap:var(--spacing-2xl)}}.playlist-detail__artwork-container{width:200px;height:200px;border-radius:var(--radius-2xl);overflow:hidden;box-shadow:var(--shadow-2xl);margin-bottom:var(--spacing-lg)}@media(min-width:768px){.playlist-detail__artwork-container{margin-bottom:0}}.playlist-detail__artwork{width:100%;height:100%;object-fit:cover}.playlist-detail__artwork-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:#fff}.playlist-detail__artwork-placeholder svg{width:40%;height:40%}.playlist-detail__info{flex:1}.playlist-detail__name{font-size:var(--font-size-4xl);font-weight:800;margin:0 0 var(--spacing-xs) 0}.playlist-detail__description{font-size:var(--font-size-base);color:var(--color-text-secondary);margin:0 0 var(--spacing-sm) 0;line-height:1.5}.playlist-detail__meta{font-size:var(--font-size-sm);color:var(--color-text-tertiary);font-weight:600;margin:0}.playlist-detail__actions{display:flex;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-lg) var(--spacing-xl) var(--spacing-lg)}.playlist-detail__songs{padding:0 var(--spacing-sm)}.playlist-detail__empty{text-align:center;padding:var(--spacing-3xl) 0;color:var(--color-text-tertiary)}.playlist-detail-loading{display:flex;align-items:center;justify-content:center;min-height:100vh}.support-page{min-height:100vh;padding:24px;background:var(--bg-dark)}.support-page__header{display:flex;align-items:center;gap:16px;margin-bottom:40px}.support-page__header h1{font-size:24px;font-weight:700;margin:0}.support-page__content{max-width:600px;margin:0 auto}.support-hero{text-align:center;margin-bottom:48px;padding:40px 20px}.support-icon{font-size:64px;margin-bottom:24px}.support-hero h2{font-size:32px;margin-bottom:12px}.support-hero p{color:var(--text-dim);font-size:16px;line-height:1.5}.support-cards{display:grid;gap:16px;margin-bottom:48px}.support-card{display:flex;align-items:center;gap:20px;padding:24px;border-radius:16px;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:1px solid rgba(255,255,255,.05)}.support-card:hover{background:#ffffff14;transform:translateY(-2px);border-color:var(--primary-color)}.s-card-icon{font-size:24px;width:48px;height:48px;display:flex;align-items:center;justify-content:center;background:#6366f11a;border-radius:12px;color:var(--primary-color)}.s-card-text h3{font-size:18px;margin-bottom:4px}.s-card-text p{color:var(--text-dim);font-size:14px}.support-footer{text-align:center;color:var(--text-dim);font-size:14px}.support-footer a{color:var(--primary-color);text-decoration:none;font-weight:500}.support-page__locked-content{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:80px 20px}.locked-icon{font-size:80px;margin-bottom:32px;filter:drop-shadow(0 0 20px rgba(99,102,241,.3))}.support-page__locked-content h2{font-size:28px;margin-bottom:12px}.support-page__locked-content p{color:var(--text-dim);max-width:300px;margin-bottom:32px}.vibe-mode-overlay{position:fixed;inset:0;z-index:5000;background:#000;display:flex;flex-direction:column;align-items:center;padding:var(--spacing-xl) var(--spacing-lg) var(--spacing-lg);overflow:hidden}.vibe-bg-glow{position:absolute;width:250%;height:250%;background:radial-gradient(circle at center,var(--color-primary) 0%,transparent 60%);opacity:.2;filter:blur(100px);z-index:0}.is-playing .vibe-bg-glow{animation:bassPulse .6s ease-out infinite}@keyframes bassPulse{0%,to{transform:translate(-25%,-25%) scale(1);opacity:.15}10%{transform:translate(-25%,-25%) scale(1.1);opacity:.3}}.vibe-particles{position:absolute;inset:0;pointer-events:none;z-index:1}.vibe-particle{position:absolute;width:6px;height:6px;background:#fff6;border-radius:50%;filter:blur(2px)}.is-playing .vibe-particle{animation:floatParticle 4s infinite linear}.is-paused .vibe-particle{animation:floatParticle 10s infinite linear;opacity:.2}@keyframes floatParticle{0%{transform:translateY(110vh) translate(0)}to{transform:translateY(-10vh) translate(20px)}}.vibe-particle:nth-child(1){left:10%;animation-delay:0s}.vibe-particle:nth-child(2){left:25%;animation-delay:.5s}.vibe-particle:nth-child(3){left:40%;animation-delay:1.2s}.vibe-particle:nth-child(4){left:55%;animation-delay:2.1s}.vibe-particle:nth-child(5){left:70%;animation-delay:.8s}.vibe-particle:nth-child(6){left:85%;animation-delay:1.5s}.vibe-particle:nth-child(7){left:15%;animation-delay:3s}.vibe-particle:nth-child(8){left:45%;animation-delay:.2s}.vibe-particle:nth-child(9){left:65%;animation-delay:1.8s}.vibe-particle:nth-child(10){left:95%;animation-delay:2.5s}.vibe-particle:nth-child(11){left:30%;animation-delay:3.5s}.vibe-particle:nth-child(12){left:80%;animation-delay:.1s}.vibe-character-stage{position:relative;width:320px;height:380px;display:flex;align-items:center;justify-content:center;z-index:1;margin:var(--spacing-xl) 0 var(--spacing-sm);flex-shrink:0}.character-motion-wrapper{width:100%;height:100%;display:flex;align-items:center;justify-content:center}.character-motion-wrapper.is-blob{transition:transform 3.5s cubic-bezier(.4,0,.2,1);animation:bioBreathing 8s ease-in-out infinite}@keyframes bioBreathing{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.character-svg{width:100%;height:100%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}.vibe-mode-overlay.is-playing .dancing-part{transform-origin:center bottom}@keyframes blobDance{0%,to{transform:scale(1) translateY(0)}10%{transform:scale(1.2,.8) translateY(10px)}40%{transform:scale(.8,1.2) translateY(-20px)}}@keyframes armWave{0%,to{transform:rotate(-20deg) scaleY(1)}50%{transform:rotate(40deg) scaleY(.8)}}@keyframes eyeBlink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.is-playing .char-blob-body{animation:blobDance .6s ease-in-out infinite;transform-origin:center bottom}.is-playing .arm-left{animation:armWave .6s ease-in-out infinite;transform-origin:top right}.is-playing .char-blob-arm.arm-right{animation:armWave .6s ease-in-out infinite reverse;transform-origin:top left}.char-face{transition:all .4s cubic-bezier(.175,.885,.32,1.275);transform-origin:100px 100px}.is-playing .char-face{animation:faceFollow .6s ease-in-out infinite}@keyframes faceFollow{0%,to{transform:translateY(0) scale(1)}10%{transform:translateY(4px) scale(.95)}40%{transform:translateY(-8px) scale(1.05)}}.char-face.mood-wink .eye-r,.char-face.mood-wink .pupil-r{opacity:0;transform:scaleY(0)}.char-face.mood-wink .wink-eye{display:block;opacity:1}.wink-eye{display:none;transition:opacity .2s ease}.char-face.mood-surprised .eye{transform:scale(1.3)}.char-face.mood-surprised .pupil{transform:scale(.7)}.char-face.mood-happy .eye{transform:translateY(-5px) scale(1.1)}.char-mouth{transition:d .3s ease,stroke-width .3s ease;transform-origin:center}.char-face.mood-normal .char-mouth{d:path("M80,115 Q100,140 120,115")}.char-face.mood-surprised .char-mouth{d:path("M90,135 Q100,155 110,135");stroke-width:8}.char-face.mood-cool .char-mouth{d:path("M85,125 L115,125");stroke-width:4}.char-face.mood-happy .char-mouth{d:path("M75,115 Q100,155 125,115");stroke-width:7}.char-face.mood-silly .char-mouth{d:path("M80,115 Q100,140 120,115 L110,140 L90,140 Z");fill:#ff6b6b;stroke-width:2}.is-playing .char-eyes{animation:eyeBlink 4s infinite;transform-origin:center}@keyframes robotGroove{0%,to{transform:rotate(-5deg) translateY(0)}50%{transform:rotate(5deg) translateY(-10px)}}@keyframes antennaFlicker{0%,to{opacity:.4;filter:blur(2px)}10%{opacity:1;filter:blur(10px)}}@keyframes screenGlow{0%,to{fill:#0f172a}50%{fill:#1e293b}}.is-playing .char-robot{animation:robotGroove 1.2s ease-in-out infinite;transform-origin:center bottom}.is-playing .antenna-light{animation:antennaFlicker .3s steps(2) infinite}.is-playing .robot-screen{animation:screenGlow 1.2s infinite}.is-playing .robot-arm.arm-left{animation:armSwing .6s ease-in-out infinite;transform-origin:top right}.is-playing .robot-arm.arm-right{animation:armSwing .6s ease-in-out infinite reverse;transform-origin:top left}@keyframes pacmanChomp{0%,to{transform:rotate(0)}50%{transform:rotate(-35deg)}}@keyframes pacmanChompBottom{0%,to{transform:rotate(0)}50%{transform:rotate(35deg)}}@keyframes pacmanMove{0%{transform:translate(-120px)}to{transform:translate(120px)}}@keyframes ghostFlee{0%{transform:translate(50px);filter:grayscale(0)}80%{transform:translate(120px);filter:grayscale(1) invert(1)}81%{opacity:0}to{opacity:0}}@keyframes pelletEat{0%,40%{opacity:1;transform:scale(1)}45%,to{opacity:0;transform:scale(0)}}.is-playing .pacman-body-group{animation:pacmanMove 3s infinite linear}.is-playing .pacman-mouth{animation:pacmanChomp .3s infinite;transform-origin:60px 100px}.is-playing .ghost-body{animation:ghostFlee 3s infinite linear;transform-origin:center}.is-playing .pellet:nth-child(1){animation:pelletEat 3s infinite linear;animation-delay:1.2s}.is-playing .pellet:nth-child(2){animation:pelletEat 3s infinite linear;animation-delay:2s}@keyframes duoBump{0%,to{transform:translate(0) scale(1)}40%{transform:translate(40px,-10px) scale(1.1,.9)}50%{transform:translate(45px) scale(.9,1.1)}60%{transform:translate(40px,5px) scale(1.05,.95)}}@keyframes duoBumpReverse{0%,to{transform:translate(0) scale(1)}40%{transform:translate(-40px,-10px) scale(1.1,.9)}50%{transform:translate(-45px) scale(.9,1.1)}60%{transform:translate(-40px,5px) scale(1.05,.95)}}@keyframes sparkFlash{0%,35%,65%,to{opacity:0;transform:scale(.4) rotate(0)}45%,55%{opacity:1;transform:scale(1.5) rotate(45deg)}}.is-playing .duo-left{animation:duoBump .8s cubic-bezier(.4,0,.2,1) infinite;transform-origin:center}.is-playing .duo-right{animation:duoBumpReverse .8s cubic-bezier(.4,0,.2,1) infinite;transform-origin:center}.is-playing .duo-spark{animation:sparkFlash .8s ease-out infinite;transform-origin:center}@keyframes rocketDrift{0%,to{transform:translateY(0) rotate(-4deg)}50%{transform:translateY(-40px) rotate(4deg)}}@keyframes fireOuter{0%,to{transform:scale(1) translate(0);opacity:.7}25%{transform:scale(1.1,1.3) translate(-1px,2px);opacity:.9}50%{transform:scale(.9,1.5) translate(1px,-1px);opacity:1}75%{transform:scale(1.05,1.2) translate(-2px);opacity:.8}}@keyframes fireInner{0%,to{transform:scaleY(1.2);filter:brightness(1)}50%{transform:scaleX(.8);filter:brightness(1.3)}}.is-playing .rocket-group{animation:rocketDrift 1.5s ease-in-out infinite;transform-origin:center}.is-playing .fire-outer{animation:fireOuter .15s infinite;transform-origin:center top}.is-playing .fire-mid{animation:fireOuter .2s infinite reverse;transform-origin:center top}.is-playing .fire-inner{animation:fireInner .12s infinite;transform-origin:center top}@keyframes starTwist{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.1)}to{transform:rotate(360deg) scale(1)}}@keyframes starGlowPulse{0%,to{transform:scale(.8);opacity:.2}50%{transform:scale(1.2);opacity:.5}}.is-playing .char-star{animation:starTwist 2s linear infinite;transform-origin:center}.is-playing .star-glow{animation:starGlowPulse .5s ease-out infinite;transform-origin:center;display:block}.is-paused .character-svg{opacity:.6;transition:opacity 1s ease}@keyframes breathing{0%,to{transform:scale(1)}50%{transform:scale(1.02)}}.is-paused .character-svg{animation:breathing 3s ease-in-out infinite}.vibe-ui{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);width:100%;max-width:400px;flex-shrink:0}.vibe-song-info{text-align:center}.vibe-title-marquee{font-size:1.3rem;font-weight:800;margin:0;background:linear-gradient(to right,#fff,var(--color-text-secondary));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;max-width:300px}.vibe-song-info p{color:var(--color-text-tertiary);margin:2px 0 0;font-size:.85rem}.vibe-controls{display:flex;align-items:center;gap:var(--spacing-xl)}.vibe-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);width:56px;height:56px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;color:#fff;cursor:pointer;transition:all .2s ease}.vibe-btn:active{transform:scale(.9)}.vibe-btn--play{width:64px;height:64px;background:#ffffffd9;color:#000;box-shadow:0 0 20px #ffffff1a}.vibe-footer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md);margin-top:auto;padding-bottom:var(--spacing-lg);z-index:10}.exit-vibe-btn{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);padding:8px 16px;border-radius:var(--radius-full);font-size:.8rem;font-weight:700;color:var(--color-text-tertiary)}.char-switcher{display:flex;gap:8px}.char-dot{width:6px;height:6px;border-radius:50%;background:#fff3;transition:all .3s ease}.char-dot.active{background:#fff;transform:scale(1.5)}@media(max-height:600px){.vibe-character-stage{height:180px;width:220px}.vibe-ui{gap:var(--spacing-sm)}.vibe-btn{width:48px;height:48px}.vibe-btn--play{width:56px;height:56px}}.full-player{position:fixed;inset:0;background:var(--color-background);z-index:100;display:flex;flex-direction:column;overflow:hidden}.full-player__header{position:relative;display:flex;align-items:center;justify-content:space-between;padding:max(var(--spacing-lg),env(safe-area-inset-top)) var(--spacing-lg) var(--spacing-lg);z-index:10}.btn-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--color-surface);border:none;border-radius:var(--radius-full);color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base)}.btn-icon:active{transform:scale(.95);background:var(--color-surface-elevated)}.full-player__title-text{position:absolute;left:50%;transform:translate(-50%);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:1px}.full-player__swipe-indicator{position:absolute;top:8px;left:50%;transform:translate(-50%);width:40px;height:4px;background:var(--color-text-tertiary);border-radius:var(--radius-full);opacity:.5}.full-player__content{flex:1;display:flex;flex-direction:column;padding:0 var(--spacing-lg);min-height:0;justify-content:center;gap:var(--spacing-xl)}@media(max-width:640px){.full-player__content{padding:0 var(--spacing-md)}}.full-player__artwork-container{flex:1;display:flex;justify-content:center;align-items:center;padding:var(--spacing-md);min-height:0}.artwork-wrapper{position:relative;width:100%;max-width:400px;aspect-ratio:1;container-type:inline-size}@media(max-width:640px){.full-player__artwork-container{padding:var(--spacing-md)}.artwork-wrapper{max-width:280px}}.full-player__artwork,.full-player__artwork-placeholder{width:100%;height:100%;border-radius:var(--radius-2xl);object-fit:cover;box-shadow:0 20px 60px #00000080}.artwork-pulse{position:absolute;inset:-8px;border-radius:var(--radius-2xl);background:var(--gradient-primary);opacity:.3;animation:pulse 2s ease-in-out infinite}.full-player__artwork-placeholder{width:100%;max-width:320px;aspect-ratio:1;border-radius:var(--radius-2xl);display:flex;align-items:center;justify-content:center;color:#fff;opacity:.8;box-shadow:0 20px 40px #00000080}.full-player__info{flex:0 0 auto;text-align:center;padding:var(--spacing-sm) var(--spacing-lg);margin-bottom:var(--spacing-xl)}.full-player__title-row{position:relative;display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);margin-bottom:var(--spacing-xs);width:100%;min-width:0}.full-player__title{font-size:var(--font-size-3xl);font-weight:800;margin:0;line-height:1.2;text-align:center;max-width:75%;flex:0 1 auto}.full-player__title-row .heart-button{position:absolute;right:0;top:50%;transform:translateY(-50%)}.full-player__artist{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-player__album{font-size:var(--font-size-sm);color:var(--color-text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.full-player__controls{flex:0 0 auto;padding:var(--spacing-lg);padding-bottom:calc(var(--spacing-xl) + env(safe-area-inset-bottom));background:var(--color-background);position:relative}@media(max-width:640px){.full-player__controls{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + env(safe-area-inset-bottom))}.full-player__title{font-size:clamp(var(--font-size-lg),5vw,var(--font-size-2xl))}.control-btn--primary{width:clamp(60px,15vw,80px);height:clamp(60px,15vw,80px)}.control-btn--secondary{width:clamp(44px,12vw,56px);height:clamp(44px,12vw,56px)}.artwork-wrapper{max-width:70vh;max-height:35vh}}@media(max-height:740px)and (max-width:640px){.full-player__header{padding-bottom:var(--spacing-sm)}.full-player__artwork-container{padding:var(--spacing-sm)}.artwork-wrapper{max-width:240px!important;max-height:240px!important}.full-player__info{padding-top:0!important;margin-bottom:var(--spacing-xs)!important}.full-player__controls{padding-top:var(--spacing-sm)}.full-player__main-controls{margin-bottom:var(--spacing-sm)}}.full-player__seek-bar{cursor:pointer;padding:var(--spacing-md) 0;margin-bottom:var(--spacing-sm);position:relative}.full-player__seek-bar-bg{position:relative;height:6px;background:var(--color-surface);border-radius:var(--radius-full);overflow:visible}.full-player__seek-bar-fill{height:100%;border-radius:var(--radius-full);transition:width .1s linear;position:relative}.full-player__seek-bar-thumb{position:absolute;top:50%;transform:translate(-50%,-50%);width:18px;height:18px;background:#fff;border-radius:var(--radius-full);box-shadow:0 2px 8px #0000004d;transition:left .1s linear,transform .2s ease}.full-player__seek-bar:hover .full-player__seek-bar-thumb{transform:translate(-50%,-50%) scale(1.2)}.full-player__seek-preview{position:absolute;bottom:100%;transform:translate(-50%);margin-bottom:8px;padding:4px 8px;background:var(--glass-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:var(--radius-md);font-size:var(--font-size-xs);color:var(--color-text-primary);pointer-events:none;white-space:nowrap}.full-player__time{display:flex;justify-content:space-between;font-size:var(--font-size-sm);color:var(--color-text-tertiary);margin-bottom:var(--spacing-xl);font-variant-numeric:tabular-nums}.full-player__main-controls{display:flex;align-items:center;justify-content:center;gap:var(--spacing-lg);margin-bottom:var(--spacing-lg)}.control-btn{display:flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-base);border-radius:var(--radius-full);position:relative}.control-btn:disabled{opacity:.3;cursor:not-allowed}.control-btn--secondary{width:56px;height:56px;background:var(--color-surface)}.control-btn--secondary:active:not(:disabled){transform:scale(.9);background:var(--color-surface-elevated)}.control-btn--primary{width:80px;height:80px;background:var(--gradient-primary);color:#fff;box-shadow:0 8px 24px #6366f180}.control-btn--primary:active:not(:disabled){transform:scale(.95);box-shadow:0 4px 16px #6366f199}.control-btn--small{width:44px;height:44px;color:var(--color-text-tertiary);opacity:.6}.control-btn--small.active{color:#fff;opacity:1;background:var(--gradient-primary);box-shadow:0 4px 12px #6366f14d}.repeat-icon-wrapper{position:relative;display:flex;align-items:center;justify-content:center}.repeat-one-indicator{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:8px;font-weight:900;color:currentColor;margin-top:-1px}.control-spinner{width:32px;height:32px;border:3px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:var(--radius-full);animation:rotate .8s linear infinite}.full-player__secondary-controls{display:flex;justify-content:center;gap:var(--spacing-xl)}.control-btn--icon{width:44px;height:44px;color:var(--color-text-secondary)}.control-btn--icon:active{transform:scale(.9);color:var(--color-text-primary)}.full-player__queue{flex:1;overflow-y:auto;margin-top:var(--spacing-md)}.queue-title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-lg);color:var(--color-text-primary)}.queue-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.queue-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:var(--color-surface);border-radius:var(--radius-lg);transition:all var(--transition-base)}.queue-item:active{transform:scale(.98);background:var(--color-surface-elevated)}.queue-item__number{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:var(--color-surface-elevated);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-tertiary);flex-shrink:0}.queue-item__artwork{width:48px;height:48px;border-radius:var(--radius-md);object-fit:cover;flex-shrink:0}.queue-item__info{flex:1;min-width:0}.queue-item__title{font-weight:500;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item__artist{font-size:var(--font-size-sm);color:var(--color-text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-item__duration{font-size:var(--font-size-sm);color:var(--color-text-tertiary);flex-shrink:0;font-variant-numeric:tabular-nums}.queue-empty{text-align:center;padding:var(--spacing-2xl);color:var(--color-text-tertiary)}.full-player__empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.vibe-mode-trigger{position:absolute;top:clamp(8px,4cqw,16px);right:clamp(8px,4cqw,16px);background:#0006;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.15);padding:clamp(4px,2cqw,8px) clamp(8px,3.5cqw,14px);border-radius:var(--radius-full);display:flex;align-items:center;gap:clamp(4px,1.5cqw,6px);color:#fff;font-weight:700;font-size:clamp(10px,3.5cqw,14px);cursor:pointer;transition:all .3s cubic-bezier(.175,.885,.32,1.275);z-index:10;box-shadow:0 4px 15px #0006;white-space:nowrap}.vibe-mode-trigger:hover{background:#0009;transform:scale(1.05);border-color:#ffffff4d}.vibe-mode-trigger:active{transform:scale(.95)}.vibe-sparkles{font-size:clamp(14px,4cqw,20px);animation:sparkleRotate 3s linear infinite;display:flex;align-items:center}@keyframes sparkleRotate{0%{transform:rotate(0) scale(1)}50%{transform:rotate(180deg) scale(1.2)}to{transform:rotate(360deg) scale(1)}}.vibe-error-toast{position:absolute;bottom:125px;left:50%;transform:translate(-50%);width:auto;max-width:85%;background:#000000bf;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;padding:12px 20px;border-radius:24px;z-index:1000;font-size:13px;font-weight:500;text-align:center;border:1px solid rgba(255,255,255,.1);box-shadow:0 8px 32px #0000004d}.vibe-discovery-toast{position:absolute;bottom:110px;left:50%;transform:translate(-50%);width:calc(100% - 32px);max-width:420px;background:rgba(var(--color-surface-rgb),.85);backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:14px 16px;z-index:1001;box-shadow:0 20px 40px #00000080,0 0 0 1px #ffffff0d}.vibe-discovery-content{display:flex;align-items:center;gap:12px}.vibe-discovery-icon{font-size:24px;background:linear-gradient(135deg,gold,orange);background-clip:text;-webkit-background-clip:text;-webkit-text-fill-color:transparent}.vibe-discovery-text{flex:1}.vibe-discovery-text h3{font-size:15px;font-weight:700;margin:0 0 4px;color:#fff}.vibe-discovery-text p{font-size:12px;margin:0;color:#ffffffb3;line-height:1.4}.vibe-discovery-actions{display:flex;align-items:center;gap:12px}.vibe-discovery-btn{background:#ffffff1a;border:none;color:#fff;padding:8px;border-radius:50%;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.vibe-discovery-btn:hover{background:#fff3}.vibe-discovery-btn--pro{background:var(--color-primary);color:#fff;padding:8px 18px;border-radius:20px;font-size:13px;font-weight:600;box-shadow:0 4px 12px rgba(var(--color-primary-rgb),.3)}.vibe-discovery-btn--pro:hover{background:var(--color-primary-light);transform:translateY(-1px);box-shadow:0 6px 16px rgba(var(--color-primary-rgb),.4)}@media(max-width:380px){.vibe-discovery-toast{padding:12px}.vibe-discovery-content{gap:10px}.vibe-discovery-icon{font-size:20px}.vibe-discovery-text h3{font-size:14px}.vibe-discovery-text p{font-size:11px}.vibe-discovery-btn--pro{padding:6px 14px;font-size:12px}}@keyframes fadeInSlideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.full-player__metadata-group{text-align:center;width:100%}.full-player__title-row{display:flex;align-items:center;justify-content:center;gap:var(--spacing-sm);margin-bottom:var(--spacing-xs)}.full-player__station-name{font-size:var(--font-size-xs);color:var(--color-primary-light);font-weight:800;text-transform:uppercase;letter-spacing:2px;margin-bottom:8px;background:linear-gradient(to right,var(--color-primary-light),#fff);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.full-player__artist-row{display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:2px}.radio-badge{padding:3px 10px;background:linear-gradient(135deg,#ff4d4d,#f43f5e);color:#fff;font-size:9px;font-weight:900;border-radius:4px;letter-spacing:1.5px;box-shadow:0 0 15px #f43f5e99,0 0 5px #f43f5e66;text-transform:uppercase}.control-btn.disabled{opacity:.2;cursor:not-allowed;filter:grayscale(1)}.driver-active .driver-overlay,.driver-active *{pointer-events:none}.driver-active .driver-active-element,.driver-active .driver-active-element *,.driver-popover,.driver-popover *{pointer-events:auto}@keyframes animate-fade-in{0%{opacity:0}to{opacity:1}}.driver-fade .driver-overlay{animation:animate-fade-in .2s ease-in-out}.driver-fade .driver-popover{animation:animate-fade-in .2s}.driver-popover{all:unset;box-sizing:border-box;color:#2d2d2d;margin:0;padding:15px;border-radius:5px;min-width:250px;max-width:300px;box-shadow:0 1px 10px #0006;z-index:1000000000;position:fixed;top:0;right:0;background-color:#fff}.driver-popover *{font-family:Helvetica Neue,Inter,ui-sans-serif,"Apple Color Emoji",Helvetica,Arial,sans-serif}.driver-popover-title{font:19px/normal sans-serif;font-weight:700;display:block;position:relative;line-height:1.5;zoom:1;margin:0}.driver-popover-close-btn{all:unset;position:absolute;top:0;right:0;width:32px;height:28px;cursor:pointer;font-size:18px;font-weight:500;color:#d2d2d2;z-index:1;text-align:center;transition:color;transition-duration:.2s}.driver-popover-close-btn:hover,.driver-popover-close-btn:focus{color:#2d2d2d}.driver-popover-title[style*=block]+.driver-popover-description{margin-top:5px}.driver-popover-description{margin-bottom:0;font:14px/normal sans-serif;line-height:1.5;font-weight:400;zoom:1}.driver-popover-footer{margin-top:15px;text-align:right;zoom:1;display:flex;align-items:center;justify-content:space-between}.driver-popover-progress-text{font-size:13px;font-weight:400;color:#727272;zoom:1}.driver-popover-footer button{all:unset;display:inline-block;box-sizing:border-box;padding:3px 7px;text-decoration:none;text-shadow:1px 1px 0 #fff;background-color:#fff;color:#2d2d2d;font:12px/normal sans-serif;cursor:pointer;outline:0;zoom:1;line-height:1.3;border:1px solid #ccc;border-radius:3px}.driver-popover-footer .driver-popover-btn-disabled{opacity:.5;pointer-events:none}:not(body):has(>.driver-active-element){overflow:hidden!important}.driver-no-interaction,.driver-no-interaction *{pointer-events:none!important}.driver-popover-footer button:hover,.driver-popover-footer button:focus{background-color:#f7f7f7}.driver-popover-navigation-btns{display:flex;flex-grow:1;justify-content:flex-end}.driver-popover-navigation-btns button+button{margin-left:4px}.driver-popover-arrow{content:"";position:absolute;border:5px solid #fff}.driver-popover-arrow-side-over{display:none}.driver-popover-arrow-side-left{left:100%;border-right-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-right{right:100%;border-left-color:transparent;border-bottom-color:transparent;border-top-color:transparent}.driver-popover-arrow-side-top{top:100%;border-right-color:transparent;border-bottom-color:transparent;border-left-color:transparent}.driver-popover-arrow-side-bottom{bottom:100%;border-left-color:transparent;border-top-color:transparent;border-right-color:transparent}.driver-popover-arrow-side-center{display:none}.driver-popover-arrow-side-left.driver-popover-arrow-align-start,.driver-popover-arrow-side-right.driver-popover-arrow-align-start{top:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-start,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-start{left:15px}.driver-popover-arrow-align-end.driver-popover-arrow-side-left,.driver-popover-arrow-align-end.driver-popover-arrow-side-right{bottom:15px}.driver-popover-arrow-side-top.driver-popover-arrow-align-end,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-end{right:15px}.driver-popover-arrow-side-left.driver-popover-arrow-align-center,.driver-popover-arrow-side-right.driver-popover-arrow-align-center{top:50%;margin-top:-5px}.driver-popover-arrow-side-top.driver-popover-arrow-align-center,.driver-popover-arrow-side-bottom.driver-popover-arrow-align-center{left:50%;margin-left:-5px}.driver-popover-arrow-none{display:none}.driver-popover.driverjs-theme{background:#1e293b!important;color:var(--color-text-primary)!important;border-radius:var(--radius-xl)!important;border:1px solid rgba(255,255,255,.15)!important;box-shadow:0 25px 60px #000c!important;padding:24px!important;max-width:380px!important}.driver-popover.driverjs-theme .driver-popover-title{color:#6366f1!important;font-size:1.25rem!important;font-weight:800!important;margin-bottom:12px!important;letter-spacing:-.02em!important}.driver-popover.driverjs-theme .driver-popover-description{color:#cbd5e1!important;font-size:1rem!important;line-height:1.6!important;font-weight:500!important}.driver-popover.driverjs-theme .driver-popover-footer{margin-top:24px!important;justify-content:flex-end!important;gap:12px!important}.driver-popover.driverjs-theme .driver-popover-btn{background:#ffffff0d!important;color:var(--color-text-primary)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:var(--radius-lg)!important;padding:10px 18px!important;font-size:.875rem!important;font-weight:700!important;text-shadow:none!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important}.driver-popover.driverjs-theme .driver-popover-btn:hover{background:#ffffff1a!important;border-color:#fff3!important}.driver-popover.driverjs-theme .driver-popover-next-btn{background:linear-gradient(135deg,#6366f1,#a855f7)!important;color:#fff!important;border:none!important;box-shadow:0 4px 15px #6366f166!important;padding:10px 24px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.05em!important;text-shadow:none!important;-webkit-font-smoothing:antialiased!important;-moz-osx-font-smoothing:grayscale!important}.driver-popover.driverjs-theme .driver-popover-next-btn:hover{transform:scale(1.05)!important;box-shadow:0 6px 20px #6366f199!important}.driver-popover.driverjs-theme .driver-popover-next-btn:active{transform:scale(.98)!important}.driver-popover.driverjs-theme .driver-popover-close-btn{color:#94a3b8!important}.driver-active-element{box-shadow:0 0 0 4px var(--color-primary),0 0 40px var(--color-primary)!important;border-radius:var(--radius-lg)!important;transition:all .3s ease!important}.app{position:relative;min-height:100vh}body.modal-open{overflow:hidden}:root{--color-background: #0f172a;--color-surface: #1e293b;--color-surface-elevated: #334155;--gradient-primary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);--gradient-secondary: linear-gradient(135deg, #ec4899 0%, #f43f5e 100%);--gradient-accent: linear-gradient(135deg, #06b6d4 0%, #3b82f6 100%);--gradient-success: linear-gradient(135deg, #10b981 0%, #34d399 100%);--gradient-text: linear-gradient(135deg, #fff 0%, #cbd5e1 100%);--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-tertiary: #94a3b8;--glass-bg: rgba(30, 41, 59, .7);--glass-border: rgba(255, 255, 255, .1);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 1.875rem;--font-size-4xl: 2.25rem;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 1.5rem;--spacing-xl: 2rem;--spacing-2xl: 3rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--transition-fast: .15s cubic-bezier(.4, 0, .2, 1);--transition-base: .25s cubic-bezier(.4, 0, .2, 1);--transition-slow: .35s cubic-bezier(.4, 0, .2, 1);--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1);--z-base: 1;--z-dropdown: 100;--z-player: 200;--z-modal: 2000;--z-toast: 3000;--nav-base-height: 64px;--player-height: 58px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--pro-gold: linear-gradient(135deg, #f6d365 0%, #fda085 100%);--pro-glow: 0 0 20px rgba(253, 160, 133, .4)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow-x:hidden}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overscroll-behavior:none;overflow-y:auto}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-weight:700;line-height:1.2;margin-bottom:var(--spacing-md)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{margin-bottom:var(--spacing-md)}.glass{background:var(--glass-bg);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid var(--glass-border);box-shadow:var(--glass-shadow)}.bottom-nav{height:calc(var(--nav-base-height) + var(--safe-area-bottom));background:var(--glass-bg);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid var(--glass-border);display:flex;justify-content:space-around;align-items:center;padding:0 var(--spacing-md) var(--safe-area-bottom);z-index:calc(var(--z-player) - 1)}.gradient-primary{background:var(--gradient-primary)}.gradient-secondary{background:var(--gradient-secondary)}.gradient-accent{background:var(--gradient-accent)}.no-scroll{overflow:hidden;height:100vh}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes slideDown{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes scaleIn{0%{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease-out}.animate-slide-up{animation:slideUp var(--transition-slow) ease-out}.animate-slide-down{animation:slideDown var(--transition-slow) ease-out}.animate-scale-in{animation:scaleIn var(--transition-base) ease-out}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}.animate-spin{animation:rotate 1s linear infinite}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-base);font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);min-height:44px;min-width:44px;-webkit-tap-highlight-color:transparent}.btn:active{transform:scale(.98)}.btn-primary{background:var(--gradient-primary);color:#fff;box-shadow:0 4px 14px #6366f163}.btn-primary:hover{box-shadow:0 6px 20px #6366f18c}.btn-secondary{background:var(--color-surface-elevated);color:var(--color-text-primary)}.btn-secondary:hover{background:var(--color-surface)}.stat-card{padding:var(--spacing-md) var(--spacing-lg);border-radius:var(--radius-xl);color:#fff;position:relative;overflow:hidden}.stat-card__icon{margin-bottom:var(--spacing-sm);opacity:.8}.stat-card__icon svg{width:24px;height:24px}.stat-card__value{font-size:var(--font-size-2xl);font-weight:800;margin-bottom:var(--spacing-xs)}.btn-icon{padding:var(--spacing-sm);border-radius:var(--radius-full)}.btn-fab{width:56px;height:56px;border-radius:var(--radius-full);background:var(--gradient-primary);color:#fff;box-shadow:0 8px 24px #6366f180;z-index:var(--z-dropdown)}.btn-fab:active{transform:scale(.95)}input,textarea{width:100%;padding:var(--spacing-md);font-family:var(--font-family);font-size:var(--font-size-base);color:var(--color-text-primary);background:var(--color-surface);border:1px solid var(--glass-border);border-radius:var(--radius-lg);outline:none;transition:all var(--transition-base)}input:focus,textarea:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}input::placeholder,textarea::placeholder{color:var(--color-text-tertiary)}.card{background:var(--color-surface);border-radius:var(--radius-xl);overflow:hidden;transition:all var(--transition-base)}.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-xl)}.grid{display:grid;gap:var(--spacing-lg)}.grid-albums{grid-template-columns:repeat(2,1fr);padding:var(--spacing-lg)}@media(min-width:768px){.grid-albums{grid-template-columns:repeat(3,1fr)}}@media(min-width:1024px){.grid-albums{grid-template-columns:repeat(4,1fr)}}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-background)}::-webkit-scrollbar-thumb{background:var(--color-surface-elevated);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:#475569}@media(max-width:768px){:root{--font-size-4xl: 1.75rem;--font-size-3xl: 1.5rem;--font-size-2xl: 1.25rem;--font-size-xl: 1.125rem;--font-size-lg: 1rem;--spacing-xl: 1.5rem;--spacing-2xl: 2rem}h1{font-size:var(--font-size-3xl)}h2{font-size:var(--font-size-2xl)}}@supports (padding: max(0px)){body{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.safe-bottom{padding-bottom:calc(var(--nav-base-height) + var(--player-height) + var(--safe-area-bottom) + var(--spacing-xl))}.safe-top{padding-top:max(var(--spacing-lg),env(safe-area-inset-top))}}.skeleton{background:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface-elevated) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.spinner{width:40px;height:40px;border:4px solid var(--color-surface-elevated);border-top-color:#6366f1;border-radius:var(--radius-full);animation:rotate .8s linear infinite}.modal-overlay{position:fixed;inset:0;background:#000000d1;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:var(--z-modal);padding:var(--spacing-lg);animation:fadeIn .2s ease-out}.modal-content{background:var(--color-surface);border-radius:var(--radius-2xl);max-width:600px;width:100%;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 10px 40px #00000080;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1);overflow:hidden;border:1px solid var(--glass-border)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-lg);border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.modal-header h2{margin:0;font-size:var(--font-size-xl);font-weight:700}.scan-stat__value{display:block;font-size:var(--font-size-2xl);font-weight:800;color:#22c55e;margin-bottom:var(--spacing-xs)}.modal-body{padding:var(--spacing-lg);flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.modal-actions{padding:var(--spacing-lg);background:var(--color-surface-elevated);border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:flex-end;gap:var(--spacing-md);flex-shrink:0}@media(max-width:640px){.modal-overlay:not(.modal-overlay-compact){align-items:flex-end!important;padding:0!important}.modal-content:not(.modal-content-compact){max-width:100%!important;height:100%!important;max-height:100%!important;border-radius:0!important;animation:slideUp .3s ease-out!important;border:none!important}.modal-header{padding:var(--spacing-lg)!important;background:var(--color-surface)!important;position:sticky!important;top:0!important;z-index:10!important}.modal-actions{padding:var(--spacing-lg)!important;padding-bottom:calc(var(--spacing-lg) + var(--safe-area-bottom))!important;flex-direction:column!important}.modal-actions .btn{width:100%!important;min-height:48px!important}}.modal-overlay-compact{z-index:var(--z-modal);display:flex!important;align-items:center!important;justify-content:center!important;padding:var(--spacing-lg)!important;background:#0f172ad9!important}.modal-overlay-blur{backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.modal-content-compact{max-width:340px!important;width:100%!important;height:auto!important;max-height:90vh!important;border-radius:28px!important;padding:var(--spacing-xl)!important;text-align:center;position:relative;overflow:visible!important;background:linear-gradient(180deg,#1e293bf2,#0f172afa)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 25px 50px -12px #00000080!important;animation:scaleIn .3s cubic-bezier(.34,1.56,.64,1)!important}.user-badge-premium{padding:4px 12px;border-radius:var(--radius-full);font-size:.75rem;font-weight:800;letter-spacing:1px;text-transform:uppercase;display:inline-flex;align-items:center;justify-content:center}.user-badge-premium.free{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:var(--color-text-tertiary)}.user-badge-premium.pro,.user-badge-premium.premium{background:var(--pro-gold);color:#000;box-shadow:var(--pro-glow);animation:badge-pulse 2s infinite}@keyframes badge-pulse{0%{box-shadow:0 0 #fda08566}70%{box-shadow:0 0 0 10px #fda08500}to{box-shadow:0 0 #fda08500}}
