.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}.comet-dial{position:relative;display:inline-flex;align-items:center;justify-content:center;width:var(--cd-size, 250px);height:var(--cd-size, 250px);-webkit-user-select:none;user-select:none;touch-action:none}.comet-dial__ring{width:100%;height:100%;overflow:visible;outline:none;cursor:grab}.comet-dial[data-dragging] .comet-dial__ring{cursor:grabbing}.comet-dial__track{fill:none;stroke:#ffffff1a;stroke-linecap:round}.comet-dial__lit{fill:none;stroke:var(--cd-accent, #ffffff);stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,255,255,.35))}.comet-dial__comet path{fill:none;stroke:var(--cd-accent, #ffffff);stroke-linecap:round;transition:opacity .1s ease}.comet-dial__head{fill:#fff;filter:drop-shadow(0 0 8px rgba(255,255,255,.8))}.comet-dial__readout{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.comet-dial__value{display:flex;align-items:baseline;gap:2px;color:var(--cd-ink, #ffffff);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700;font-size:var(--cd-figure, 40px);letter-spacing:-1px}.comet-dial__unit{font-size:.45em;font-weight:500;color:#ffffff80}: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)}}.menu-volume-row{display:flex;align-items:center;gap:1.15rem;padding:.75rem 1.25rem;border-radius:999px;background:transparent;color:#ffffff73;transition:background .2s cubic-bezier(.16,1,.3,1),color .2s ease;width:100%;box-sizing:border-box;-webkit-user-select:none;user-select:none;cursor:pointer;border:none;outline:none;box-shadow:none}.menu-volume-row:hover{background:#ffffff1a;color:#fff}.menu-volume-icon{display:block;color:inherit;transition:color .2s ease}.menu-volume-slider-wrap{flex:1;display:flex;align-items:center;cursor:pointer;height:28px;padding:8px 0;box-sizing:border-box;touch-action:none}.menu-volume-track{width:100%;height:4px;background:#ffffff26;border-radius:999px;position:relative;overflow:hidden;transition:height .15s ease,background .2s ease;border:none;outline:none}.menu-volume-row:hover .menu-volume-track{height:6px;background:#ffffff38}.menu-volume-fill{height:100%;background:#ffffff8c;border-radius:999px;transition:background .2s ease;border:none;outline:none}.menu-volume-row:hover .menu-volume-fill{background:#fff}.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)}}
