.volume-track{position:relative;height:4px;background:rgba(255,255,255,.2);border-radius:2px;cursor:pointer}.volume-fill{position:absolute;height:100%;background:#71717a;border-radius:2px;transition:width .15s ease-out}.volume-thumb{position:absolute;top:50%;width:14px;height:14px;background:#fff;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 2px 6px rgba(0,0,0,.3);transition:transform .15s ease-out,left .15s ease-out;cursor:grab}.volume-thumb:hover{transform:translate(-50%,-50%) scale(1.2)}.volume-thumb:active{cursor:grabbing}.volume-track.muted .volume-fill{opacity:.3}.volume-track.muted .volume-thumb{background:#a1a1aa}.play-button-spinner{width:24px;height:24px;border:3px solid rgba(0,0,0,.15);border-top-color:#000;border-radius:50%;animation:.8s linear infinite spin}@media (min-width:768px){.play-button-spinner{width:28px;height:28px}}.play-button-waves{position:absolute;inset:0;pointer-events:none}.play-button-waves::after,.play-button-waves::before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid currentColor;animation:1.5s ease-out infinite pulse-wave;opacity:0}.play-button-waves::after{animation-delay:.5s}@keyframes pulse-wave{0%{transform:scale(1);opacity:.25}100%{transform:scale(1.8);opacity:0}}@keyframes spin{to{transform:rotate(360deg)}}.animate-dots{display:inline-block;width:1.2em;text-align:left}.animate-dots::after{content:'...';animation:1.5s steps(4,end) infinite dots}@keyframes dots{0%{content:''}25%{content:'.'}50%{content:'..'}100%,75%{content:'...'}}.mobile-menu{transform:translateX(100%);transition:transform .3s ease-in-out}.mobile-menu.open{transform:translateX(0)}.mini-player{transform:translateY(100%);transition:transform .3s ease-in-out}.mini-player.visible{transform:translateY(0)}.track-card{position:relative}.track-card::before{content:'';position:absolute;inset:0;background:linear-gradient(to top,rgba(113,113,122,.6),transparent 70%);opacity:0;transition:opacity .3s;border-radius:inherit}.track-card:hover::before{opacity:1}.skeleton{background:linear-gradient(90deg,#27272a 25%,#3f3f46 50%,#27272a 75%);background-size:200% 100%;animation:1.5s infinite shimmer;border-radius:6px}.rank-1{color:#e4e4e7}.rank-2{color:#a1a1aa}.rank-3{color:#71717a}.rank-other{color:#52525b}.safe-area-bottom{padding-bottom:env(safe-area-inset-bottom)}footer [tabindex]:focus,footer [tabindex]:focus-visible,footer a:focus,footer a:focus-visible,footer button:focus,footer button:focus-visible{outline:0!important;box-shadow:none!important}header nav a:focus,header nav a:focus-visible{outline:0!important;box-shadow:none!important}.section-divider{position:relative;height:24px;color:var(--color-accent)}.section-divider::before{content:'';position:absolute;left:0;right:0;top:50%;height:1px;background:linear-gradient(to right,rgba(228,228,231,0),rgba(228,228,231,.7),rgba(228,228,231,0));transform:translateY(-50%)}.req-progress{display:flex;align-items:center;gap:12px;margin-bottom:20px}.req-progress-bar{flex:1;height:4px;background:rgba(255,255,255,.08);border-radius:999px;overflow:hidden}.req-progress-fill{display:block;height:100%;width:0;background:#22c55e;border-radius:999px;transition:width .3s}.req-progress-label{font-size:11px;color:#71717a;font-variant-numeric:tabular-nums;white-space:nowrap}.req-steps{position:relative}.req-step{animation:.25s reqFade}@keyframes reqFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.req-label{display:block;font-size:.95rem;font-weight:600;color:#e4e4e7;margin-bottom:10px}.req-star{color:#a1a1aa}.req-opt{color:#52525b;font-weight:400;font-size:.8em}.req-input{width:100%;background:rgba(0,0,0,.3);border:1px solid #3f3f46;border-radius:.5rem;padding:.7rem 1rem;color:#fff;font-size:.95rem;transition:border-color .15s}.req-input::placeholder{color:#52525b}.req-input:focus{outline:0;border-color:#71717a}.req-hint{margin-top:8px;font-size:11px;color:#52525b}.req-review{display:grid;gap:8px;margin:0;background:rgba(0,0,0,.25);border:1px solid #27272a;border-radius:.6rem;padding:14px 16px}.req-review-row{display:flex;gap:10px;font-size:.85rem}.req-review-row dt{color:#71717a;min-width:96px;flex:none}.req-review-row dd{color:#e4e4e7;margin:0;word-break:break-word}.req-feedback{font-size:.85rem;border-radius:.5rem;padding:.65rem 1rem;margin-top:14px}.req-feedback.is-error{background:rgba(153,27,27,.18);color:#fca5a5;border:1px solid rgba(239,68,68,.35)}.req-feedback.is-ok{background:rgba(21,128,61,.18);color:#86efac;border:1px solid rgba(34,197,94,.35);text-align:center;font-weight:600;padding:1.1rem}.req-nav{display:flex;align-items:center;gap:10px;margin-top:20px;flex-wrap:wrap}.req-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:0;border-radius:.5rem;padding:.7rem 1.1rem;font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;transition:transform .1s,background .15s,color .15s;min-width:0;white-space:nowrap}.req-btn[hidden]{display:none}.req-btn:active{transform:scale(.98)}.req-btn svg{width:16px;height:16px;flex:none}.req-btn-primary{flex:1 1 auto;background:#15803d;color:#fff}.req-btn-primary:hover{background:#16a34a}.req-btn-primary:disabled{opacity:.6;cursor:not-allowed}.req-btn-ghost{background:0 0;color:#a1a1aa}.req-btn-ghost:hover{color:#e4e4e7;background:rgba(255,255,255,.05)}.req-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}