.gradient-ascii-container{position:relative;width:100%;height:100%;overflow:hidden;background-color:transparent}.gradient-ascii-canvas{width:100%;height:100%;display:block;background-color:transparent}:root{--bg: #000000;--text: #ffffff}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;background-color:var(--bg);color:var(--text);overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:999px;transition:background .2s ease}::-webkit-scrollbar-thumb:hover{background:#ffffff47}*{scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spinner{animation:spin .8s linear infinite}.spin-slow{animation:spin 1s linear infinite}@keyframes slideUpDigit{0%{transform:translateY(65%);opacity:.1;filter:blur(1px)}to{transform:translateY(0);opacity:1;filter:blur(0px)}}.timeline-track{position:relative;flex:1;height:4px;background:#ffffff1f;border-radius:999px;cursor:pointer;transition:height .35s cubic-bezier(.25,1,.5,1),background .35s ease;overflow:visible}.timeline-track:before{content:"";position:absolute;top:-12px;bottom:-12px;left:0;right:0;cursor:pointer}.timeline-track:hover{height:6px;background:#ffffff2e}.timeline-fill{position:absolute;top:0;left:0;bottom:0;background:#ffffffd9;border-radius:999px;transition:width .08s linear;pointer-events:none}.timeline-thumb{position:absolute;top:50%;width:10px;height:10px;background:#fff;border-radius:50%;transform:translate(-50%,-50%) scale(0);box-shadow:0 1px 4px #0006;transition:transform .35s cubic-bezier(.25,1,.5,1);pointer-events:none}.timeline-track:hover .timeline-thumb{transform:translate(-50%,-50%) scale(1)}.feedback-pill-btn{display:inline-flex;align-items:center;justify-content:center;width:58px;height:38px;background:#ffffff14;border:none;outline:none;cursor:pointer;border-radius:999px;color:#ffffffb3;transition:background .35s cubic-bezier(.2,.8,.2,1),color .35s ease,transform .25s ease;-webkit-user-select:none;user-select:none;padding:0}.feedback-pill-btn:hover{background:#ffffff26;color:#fff}.feedback-pill-btn:active{transform:scale(.95)}.feedback-pill-btn .btn-icon{display:flex;align-items:center;justify-content:center;transform:translateY(0) rotate(0) scale(1);will-change:transform}.feedback-pill-btn.like-btn.animating .btn-icon{animation:ymThumbUpTap .6s cubic-bezier(.2,.9,.3,1) forwards}@keyframes ymThumbUpTap{0%{transform:scale(.85)}30%{transform:translateY(-5px) rotate(-10deg) scale(1.22)}65%{transform:translateY(-1px) rotate(2deg) scale(1.05)}to{transform:translateY(0) rotate(0) scale(1)}}.feedback-pill-btn.dislike-btn.animating .btn-icon{animation:ymThumbDownTap .6s cubic-bezier(.2,.9,.3,1) forwards}@keyframes ymThumbDownTap{0%{transform:scale(.85)}30%{transform:translateY(5px) rotate(10deg) scale(1.22)}65%{transform:translateY(1px) rotate(-2deg) scale(1.05)}to{transform:translateY(0) rotate(0) scale(1)}}.track-cover-fade{animation:trackCoverFade .4s cubic-bezier(.2,0,0,1) forwards}@keyframes trackCoverFade{0%{opacity:.25;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.track-meta-fade{animation:trackMetaFade .35s cubic-bezier(.2,0,0,1) forwards}@keyframes trackMetaFade{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}.volume-hover-container{position:relative;display:flex;align-items:center;justify-content:center}.volume-hover-popup{position:absolute;bottom:calc(100% + 12px);left:50%;transform:translate(-50%) translateY(8px);padding:14px 10px;background:#18181a;border-radius:999px;display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .22s cubic-bezier(.16,1,.3,1),transform .22s cubic-bezier(.16,1,.3,1);z-index:100;border:none;outline:none;box-shadow:none;-webkit-user-select:none;user-select:none}.volume-hover-popup:after{content:"";position:absolute;top:100%;left:0;right:0;height:16px}.volume-hover-container:hover .volume-hover-popup,.volume-hover-popup.active{opacity:1;pointer-events:auto;transform:translate(-50%) translateY(0)}.volume-vertical-track-wrap{width:26px;height:105px;display:flex;align-items:center;justify-content:center;cursor:pointer;touch-action:none}.volume-vertical-track{width:5px;height:100%;background:#ffffff29;border-radius:999px;position:relative;overflow:hidden;transition:width .15s ease,background .2s ease;display:flex;flex-direction:column;justify-content:flex-end}.volume-hover-container:hover .volume-vertical-track{width:7px;background:#ffffff3d}.volume-vertical-fill{width:100%;background:#fff;border-radius:999px;transition:height .12s cubic-bezier(.16,1,.3,1);will-change:height}.volume-vertical-fill.dragging{transition:none!important}.view-enter{animation:viewFadeIn .3s cubic-bezier(.2,0,0,1) forwards}@keyframes viewFadeIn{0%{opacity:0}to{opacity:1}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000c7;backdrop-filter:blur(28px);-webkit-backdrop-filter:blur(28px);display:flex;align-items:center;justify-content:center;z-index:350;opacity:0;pointer-events:none;transition:opacity .32s cubic-bezier(.16,1,.3,1)}.modal-overlay.open{opacity:1;pointer-events:auto}.modal-box{opacity:0;transform:scale(.96);transition:opacity .32s cubic-bezier(.16,1,.3,1),transform .32s cubic-bezier(.16,1,.3,1);will-change:opacity,transform}.modal-overlay.open .modal-box{opacity:1;transform:scale(1)}.bottom-player-enter{animation:bottomPlayerFadeIn .35s cubic-bezier(.2,0,0,1) forwards}@keyframes bottomPlayerFadeIn{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
