@layer base,components,utilities;@layer base{.perspective-1000{perspective:1000px}.transform-style-3d{transform-style:preserve-3d}}@layer utilities{@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}.animate-float{animation:float 8s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.animate-fade-in{animation:fadeIn .5s ease-out forwards}@keyframes pulse-glow{0%,to{opacity:.3}50%{opacity:.6}}@keyframes spin-slow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}}.cs-bg-gradient{overflow:hidden}.cs-bg-blob{position:absolute;border-radius:50%;filter:blur(100px);opacity:.15;animation:float 8s ease-in-out infinite;will-change:transform}.cs-bg-blob--1{top:-15%;left:-15%;width:55%;height:55%;background:var(--cs-accent-strong)}.cs-bg-blob--2{bottom:-15%;right:-15%;width:55%;height:55%;background:#ec4899;animation-delay:-4s}.cs-card{background:var(--cs-surface);border:1px solid var(--cs-border);border-radius:var(--cs-radius-lg);backdrop-filter:blur(20px)}.cs-icon-btn{width:36px;height:36px;border-radius:var(--cs-radius-full);background:var(--cs-surface);color:var(--cs-text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--cs-duration) var(--cs-ease);border:1px solid transparent;flex-shrink:0}.cs-icon-btn:hover{background:var(--cs-surface-hover);color:var(--cs-text)}.cs-icon-btn--sm{width:32px;height:32px}.cs-score-badge{display:flex;align-items:center;gap:4px;padding:4px 10px;border-radius:var(--cs-radius-full);background:#6366f11f;border:1px solid rgba(99,102,241,.2);color:var(--cs-accent);font-weight:700}.cs-score-badge--sm{padding:2px 8px}.cs-hero{position:relative;min-height:320px}.cs-hero__bg{position:absolute;inset:0;background-size:cover;background-position:center;opacity:.2;filter:blur(60px) saturate(1.5);transform:scale(1.3);transition:opacity .5s var(--cs-ease)}.cs-hero__overlay{position:absolute;inset:0;background:linear-gradient(to bottom,transparent 0%,var(--cs-bg) 100%)}.cs-album-art{position:relative;width:140px;height:140px;flex-shrink:0}@media(min-width:640px){.cs-album-art{width:180px;height:180px}}.cs-album-art__img{width:100%;height:100%;object-fit:cover;border-radius:var(--cs-radius-lg);box-shadow:0 20px 60px #00000080;transition:opacity .3s var(--cs-ease)}.cs-album-art__ring{position:absolute;inset:-4px;border-radius:calc(var(--cs-radius-lg) + 4px);border:2px solid rgba(255,255,255,.08);pointer-events:none}.cs-ctrl-btn{width:44px;height:44px;border-radius:var(--cs-radius-full);background:var(--cs-surface);color:var(--cs-text-secondary);display:flex;align-items:center;justify-content:center;transition:all var(--cs-duration) var(--cs-ease);border:1px solid var(--cs-border)}.cs-ctrl-btn:hover{background:var(--cs-surface-hover);color:var(--cs-text);transform:scale(1.05)}.cs-play-btn{width:56px;height:56px;border-radius:var(--cs-radius-full);background:var(--cs-accent-strong);color:#fff;display:flex;align-items:center;justify-content:center;transition:all var(--cs-duration) var(--cs-ease);box-shadow:0 4px 24px var(--cs-accent-glow)}.cs-play-btn:hover:not(:disabled){background:var(--cs-accent);transform:scale(1.08);box-shadow:0 6px 32px var(--cs-accent-glow)}.cs-play-btn:active:not(:disabled){transform:scale(.95)}.cs-play-btn:disabled{opacity:.4;cursor:not-allowed}.cs-play-btn--sm{width:40px;height:40px;box-shadow:0 2px 16px var(--cs-accent-glow)}.cs-filter-label{display:block;font-size:11px;font-weight:600;color:var(--cs-text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:8px}.cs-filter-chips{display:flex;gap:6px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:2px}.cs-filter-chips::-webkit-scrollbar{display:none}@media(min-width:640px){.cs-filter-chips{flex-wrap:wrap}}.cs-chip{padding:6px 14px;border-radius:var(--cs-radius-full);font-size:13px;font-weight:500;white-space:nowrap;flex-shrink:0;transition:all var(--cs-duration) var(--cs-ease);background:var(--cs-surface);color:var(--cs-text-secondary);border:1px solid var(--cs-border);cursor:pointer}.cs-chip:hover{background:var(--cs-surface-hover);color:var(--cs-text)}.cs-chip--active{background:var(--cs-accent-strong);color:#fff;border-color:var(--cs-accent-strong);box-shadow:0 2px 12px var(--cs-accent-glow);font-weight:700}.cs-chip--skeleton{opacity:.3;cursor:default}.cs-tracklist__items{display:flex;flex-direction:column;gap:2px}.cs-tracklist__empty{text-align:center;padding:32px 16px;color:var(--cs-text-muted);font-size:14px}.cs-track-item{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:var(--cs-radius-sm);transition:background var(--cs-duration) var(--cs-ease);cursor:pointer}.cs-track-item:hover{background:var(--cs-surface-hover)}.cs-track-item--active{background:var(--cs-surface-active)}.cs-track-item--active .cs-track-item__num,.cs-track-item--active .cs-track-item__title{color:var(--cs-accent)}.cs-track-item__num{width:24px;text-align:center;font-size:13px;font-weight:600;color:var(--cs-text-muted);flex-shrink:0;font-variant-numeric:tabular-nums}.cs-track-item__info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.cs-track-item__title{font-size:14px;font-weight:600;color:var(--cs-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cs-track-item__artist{font-size:12px;color:var(--cs-text-muted)}.cs-track-item__play{width:32px;height:32px;border-radius:var(--cs-radius-full);background:transparent;color:var(--cs-text-secondary);display:flex;align-items:center;justify-content:center;opacity:0;transition:all var(--cs-duration) var(--cs-ease);flex-shrink:0}.cs-track-item:hover .cs-track-item__play,.cs-track-item--active .cs-track-item__play{opacity:1}.cs-track-item__play:hover{color:var(--cs-accent);transform:scale(1.15)}.cs-lyrics-section{scrollbar-width:none;-ms-overflow-style:none;mask-image:linear-gradient(to bottom,transparent 0%,black 8%,black 92%,transparent 100%);contain:layout paint}.cs-lyrics-section::-webkit-scrollbar{display:none}.cs-player-bar{background:linear-gradient(to top,var(--cs-bg) 0%,rgba(10,10,15,.95) 100%);backdrop-filter:blur(20px);border-top:1px solid var(--cs-border)}.cs-progress-track{width:100%;height:3px;background:#ffffff0f;cursor:pointer;position:relative}.cs-progress-track:hover{height:5px}.cs-progress-fill{height:100%;width:0;background:linear-gradient(90deg,var(--cs-accent-strong),#a78bfa,#ec4899);transition:width .1s linear;border-radius:0 2px 2px 0}.cs-speed-btn{padding:2px 8px;border-radius:var(--cs-radius-sm);background:var(--cs-surface);color:var(--cs-text-secondary);font-size:12px;font-weight:700;transition:all var(--cs-duration) var(--cs-ease);border:1px solid var(--cs-border)}.cs-speed-btn:hover{background:var(--cs-surface-hover);color:var(--cs-text)}.cs-volume-slider{width:80px;height:3px;background:#ffffff26;border-radius:var(--cs-radius-full);appearance:none;cursor:pointer;outline:none}.cs-volume-slider::-webkit-slider-thumb{appearance:none;width:12px;height:12px;background:#fff;border-radius:50%;box-shadow:0 1px 4px #0000004d}.cs-input-glow{position:absolute;inset:-1px;background:linear-gradient(90deg,var(--cs-accent-strong),#a78bfa,#ec4899);border-radius:var(--cs-radius-md);opacity:.15;filter:blur(8px);pointer-events:none;transition:opacity .3s var(--cs-ease)}.cs-input:focus~.cs-input-glow,.cs-input:focus+.cs-input-glow{opacity:.3}.cs-input-glow:has(+.cs-input:focus){opacity:.3}.cs-input{position:relative;width:100%;background:#ffffff0a;color:#fff;border:1px solid var(--cs-border);border-radius:var(--cs-radius-md);padding:10px 16px;text-align:center;font-size:16px;font-weight:700;outline:none;transition:border-color .3s var(--cs-ease)}@media(min-width:640px){.cs-input{padding:14px 24px;font-size:20px}}.cs-input::placeholder{color:var(--cs-text-muted);font-weight:500}.cs-input:focus{border-color:#6366f166}.cs-toast-container{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:9999;display:flex;flex-direction:column-reverse;gap:8px;pointer-events:none;max-width:90vw}.cs-toast{padding:10px 20px;border-radius:var(--cs-radius-full);font-size:13px;font-weight:600;text-align:center;pointer-events:auto;animation:cs-toast-in .3s var(--cs-ease) forwards;backdrop-filter:blur(12px);white-space:nowrap}.cs-toast--success{background:#10b981e6;color:#fff}.cs-toast--error{background:#ef4444e6;color:#fff}.cs-toast--info{background:#ffffff1f;color:var(--cs-text);border:1px solid var(--cs-border)}.cs-toast--out{animation:cs-toast-out .2s var(--cs-ease) forwards}@keyframes cs-toast-in{0%{opacity:0;transform:translateY(12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cs-toast-out{to{opacity:0;transform:translateY(12px) scale(.95)}}@keyframes cs-shake{0%,to{transform:translate(0)}20%{transform:translate(-6px)}40%{transform:translate(6px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.cs-shake{animation:cs-shake .4s var(--cs-ease)}.cs-autoplay-overlay{position:fixed;inset:0;z-index:100;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;background:#0a0a0fd9;backdrop-filter:blur(20px);cursor:pointer;opacity:0;animation:fadeIn .3s var(--cs-ease) forwards}.cs-autoplay-overlay[hidden]{display:none}.cs-autoplay-overlay__btn{width:80px;height:80px;border-radius:50%;background:var(--cs-accent-strong);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 40px var(--cs-accent-glow);transition:transform .2s var(--cs-ease)}.cs-autoplay-overlay:hover .cs-autoplay-overlay__btn{transform:scale(1.1)}.cs-completion{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;background:#0a0a0feb;backdrop-filter:blur(24px);border-radius:var(--cs-radius-lg);animation:fadeIn .4s var(--cs-ease) forwards;text-align:center;padding:24px}.cs-completion__score{font-size:48px;font-weight:900;background:linear-gradient(135deg,var(--cs-accent),#a78bfa,#ec4899);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.1}.cs-completion__actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.cs-completion__btn{padding:10px 24px;border-radius:var(--cs-radius-full);font-size:14px;font-weight:700;transition:all var(--cs-duration) var(--cs-ease)}.cs-completion__btn--primary{background:var(--cs-accent-strong);color:#fff;box-shadow:0 4px 16px var(--cs-accent-glow)}.cs-completion__btn--primary:hover{transform:scale(1.05)}.cs-completion__btn--secondary{background:var(--cs-surface);color:var(--cs-text-secondary);border:1px solid var(--cs-border)}.cs-completion__btn--secondary:hover{background:var(--cs-surface-hover);color:var(--cs-text)}.cs-progress-touch{position:relative;padding:14px 0;cursor:pointer;touch-action:none}.cs-progress-touch .cs-progress-track{pointer-events:none}@media(prefers-reduced-motion:reduce){.cs-bg-blob,.cs-album-art__img,.cs-progress-fill,.cs-combo-badge,.cs-input,.marquee-scroll{transition:none!important;animation:none!important}}
