.filter-controls{display:flex;flex-direction:column;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.filter-row{display:flex;flex-wrap:wrap;gap:var(--spacing-xs);align-items:center}.filter-label{font-family:var(--font-sans);font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em;min-width:4rem}.filter-chip{font-family:var(--font-sans);font-size:.8rem;padding:.3em .75em;border:1px solid var(--color-border);border-radius:3px;background:transparent;color:var(--color-text);cursor:pointer;transition:all .15s ease}.filter-chip:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.filter-chip--active{background-color:var(--color-accent);border-color:var(--color-accent);color:#fff}.filter-chip--active:hover{background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:#fff}.filter-chip:disabled{opacity:.35;cursor:not-allowed}.filter-clear{font-family:var(--font-sans);font-size:.75rem;padding:.3em .6em;border:none;background:none;color:var(--color-text-muted);cursor:pointer;text-decoration:underline}.filter-clear:hover{color:var(--color-accent)}.vinyl-hero{--disc: #1d2524;--disc-edge: #0d1211;--groove: rgba(255, 255, 255, .055);--sheen: rgba(255, 255, 255, .16);--label-ink: #1f2d2b;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-lg);padding-block:var(--spacing-md) var(--spacing-xl);text-align:center}[data-theme=dark] .vinyl-hero{--disc: #060a0a;--disc-edge: #2b3b39;--groove: rgba(255, 255, 255, .07);--sheen: rgba(255, 255, 255, .2)}.vinyl-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.vinyl-instructions{max-width:46rem;margin:0}.vinyl-quote{font-family:var(--font-serif);font-size:clamp(1.75rem,3.6vw,2.75rem);font-weight:800;letter-spacing:-.02em;line-height:var(--line-height-heading);margin:0 0 var(--spacing-sm)}.vinyl-eyebrow{font-family:var(--font-mono);font-size:clamp(.8rem,1.1vw,.95rem);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0}.vinyl-stage{position:relative;width:min(clamp(32rem,56vw,46rem),100%);aspect-ratio:6 / 5;margin-inline:auto;container-type:inline-size}.vinyl-player,.vinyl-arm{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;overflow:visible;transition:opacity .4s ease}.vinyl-stage.is-album .vinyl-player,.vinyl-stage.is-album .vinyl-arm{opacity:0}.player-body{fill:var(--color-card);stroke:var(--color-border);stroke-width:1}.player-platter{fill:var(--color-bg-alt);stroke:var(--color-border);stroke-width:.8}.player-platter-rim{fill:none;stroke:var(--color-text-muted);stroke-width:.4;opacity:.4}.player-spindle{fill:var(--color-text-muted)}.player-knob--sun{fill:var(--color-sun);stroke:var(--color-border);stroke-width:.5}.player-knob--pop{fill:var(--color-pop)}.player-slider{fill:var(--color-text-muted);opacity:.5}.player-led{fill:var(--color-pop)}.vinyl-record{position:absolute;left:10.83%;top:15%;width:58.33%;aspect-ratio:1;perspective:1400px}.vinyl-lift{width:100%;height:100%;transition:transform .45s ease,opacity .45s ease}.vinyl-stage.is-flipping .vinyl-lift{transform:scale(1.08) translateY(-6px)}.vinyl-stage.is-album .vinyl-lift{opacity:0;transform:scale(.92)}.vinyl-turn{position:relative;width:100%;height:100%;transform-style:preserve-3d;transition:transform 1s cubic-bezier(.34,1.25,.5,1)}.vinyl-face{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;backface-visibility:hidden;background:var(--disc);box-shadow:0 0 0 2px var(--disc-edge),var(--shadow)}.vinyl-face--back{transform:rotateY(180deg)}.vinyl-grooves{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,transparent 0 8%,var(--sheen) 13%,transparent 19% 58%,var(--sheen) 63%,transparent 69%),repeating-radial-gradient(circle at center,transparent 0 2px,var(--groove) 2px 3px);animation:vinyl-spin 14s linear infinite}@keyframes vinyl-spin{to{transform:rotate(360deg)}}.vinyl-label{position:relative;width:38%;aspect-ratio:1;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;padding:.5rem;color:var(--label-ink);background:var(--color-sun);font-family:var(--font-mono);box-shadow:inset 0 0 0 3px #ffffff40}.vinyl-label--analysis{background:var(--color-accent);color:var(--color-badge-lang-text)}.vinyl-label--opinion{background:var(--color-pop);color:var(--color-badge-type-text)}.vinyl-label-top{font-size:clamp(.6rem,1.9cqw,1rem);letter-spacing:.12em;text-transform:uppercase;opacity:.8}.vinyl-label-main{font-family:var(--font-serif);font-size:clamp(1.15rem,3.6cqw,1.9rem);font-weight:700;line-height:1.1}.vinyl-label-sub{font-size:clamp(.6rem,1.9cqw,1rem);letter-spacing:.06em;text-transform:uppercase}.vinyl-label:after{content:"";position:absolute;bottom:12%;width:.5rem;height:.5rem;border-radius:50%;background:var(--disc)}.vinyl-arm-swing{transform-origin:104px 18px;transform:rotate(-35deg);transition:transform .7s ease}.vinyl-stage.is-playing .vinyl-arm-swing{transform:rotate(0)}.arm-outline{fill:none;stroke:#1f2d2b;stroke-width:3.6;stroke-linecap:round}.arm-metal{fill:none;stroke:#f3efe4;stroke-width:1.8;stroke-linecap:round}.arm-base{fill:var(--color-bg-alt);stroke:#1f2d2b;stroke-width:.8}.arm-pivot{fill:#1f2d2b}.arm-head{fill:var(--color-sun);stroke:#1f2d2b;stroke-width:.8}.album{position:absolute;left:5%;top:12.8%;width:62%;aspect-ratio:1;opacity:0;pointer-events:none;transition:opacity .4s ease}.vinyl-stage.is-album .album{opacity:1}.album-slide{position:absolute;inset:0;z-index:0}.vinyl-stage.is-album .album-slide{animation:album-slide-out 1s ease-out .4s forwards}.album-disc{position:absolute;top:2.5%;left:2.5%;width:95%;height:95%;border-radius:50%;display:grid;place-items:center;background:var(--disc);box-shadow:0 0 0 2px var(--disc-edge),var(--shadow)}.album-label{position:relative;width:34%;aspect-ratio:1;border-radius:50%;background:var(--color-sun)}@keyframes album-slide-out{0%{transform:translate(0)}to{transform:translate(50%)}}.album-sleeve{position:absolute;inset:0;z-index:1;overflow:hidden;border-radius:4px;display:flex;flex-direction:column;justify-content:space-between;padding:1rem;background:var(--color-accent);color:var(--color-badge-lang-text);box-shadow:5px 0 20px #00000059,inset 0 0 10px 5px #ffffff26;text-align:left}.album-sun{position:absolute;right:-18%;bottom:-18%;width:70%;aspect-ratio:1;border-radius:50%;background:var(--color-sun);box-shadow:0 0 0 10px var(--color-pop)}.album-top,.album-sub{position:relative;font-family:var(--font-mono);font-size:clamp(.65rem,2cqw,1.05rem);letter-spacing:.1em;text-transform:uppercase}.album-title{position:relative;font-family:var(--font-serif);font-size:clamp(1.4rem,6.25cqw,3rem);font-weight:800;letter-spacing:-.03em;line-height:1}.vinyl-controls{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm)}.vinyl-sides{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--spacing-sm)}.vinyl-btn{font-family:var(--font-mono);font-size:clamp(.8rem,1.1vw,.95rem);padding:.55em 1.1em;border:1px solid var(--color-border);border-radius:999px;background:var(--color-card);color:var(--color-text);cursor:pointer;transition:all var(--transition-fast)}.vinyl-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.vinyl-btn[aria-pressed=true]{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-badge-lang-text)}.vinyl-btn:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.tracklist{max-width:var(--prose);margin-inline:auto;padding:var(--spacing-lg);background:var(--color-card);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow)}.tracklist-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--spacing-md);padding-bottom:var(--spacing-sm);border-bottom:2px solid var(--color-text);margin-bottom:var(--spacing-md);font-family:var(--font-mono);font-size:.75rem;letter-spacing:.08em;text-transform:uppercase}.tracklist-title{font-weight:600}.tracklist-count{color:var(--color-text-muted)}.tracks{list-style:none;padding:0;margin:0}.track{display:grid;grid-template-columns:2.25rem 1fr auto;gap:0 var(--spacing-sm);align-items:baseline;padding-block:.85rem;border-bottom:1px dotted var(--color-border);text-decoration:none;color:inherit}.track:hover{text-decoration:none}.track:last-child{border-bottom:none}.track-no{font-family:var(--font-mono);font-size:.8rem;color:var(--color-text-muted)}.track-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;transition:color var(--transition-fast)}.track:hover .track-title{color:var(--color-accent)}.track-time{font-family:var(--font-mono);font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.track-detail{grid-column:2 / 4;margin:.2rem 0 0;font-size:.9rem;color:var(--color-text-muted)}.track-tags{grid-column:2 / 4;display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;padding:0;margin:.35rem 0 0;font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted)}.tracklist .filter-controls{margin-bottom:var(--spacing-md)}.wf-empty{color:var(--color-text-muted);font-style:italic;padding:var(--spacing-lg) 0}@media(prefers-reduced-motion:reduce){.vinyl-stage.is-album .album-slide{animation:none;transform:translate(50%)}.vinyl-grooves{animation:none}.vinyl-turn,.vinyl-lift,.vinyl-arm-swing,.album,.album-slide,.vinyl-player,.vinyl-arm{transition:none}}
