body.f24 .f24-filter-trigger-wrap{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:70;pointer-events:none}body.f24 .f24-filter-trigger{pointer-events:auto;display:inline-flex;align-items:center;gap:8px;background:var(--f24-signal);color:var(--f24-signal-ink);border:1px solid var(--f24-signal);padding:12px 22px;font-family:var(--f24-font-mono);font-size:12px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:0 6px 24px rgb(255 176 0 / .18),0 1px 0 rgb(0 0 0 / .4);transition:transform .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease),box-shadow .15s var(--f24-ease,ease)}body.f24 .f24-filter-trigger:hover{background:#ffc230;border-color:#ffc230;transform:translateY(-1px);box-shadow:0 8px 28px rgb(255 176 0 / .26),0 1px 0 rgb(0 0 0 / .4)}body.f24 .f24-filter-trigger:active{transform:translateY(0)}body.f24 .f24-filter-trigger__count{font-variant-numeric:tabular-nums;font-weight:600}body.f24 .f24-filter-trigger__count>span{display:inline}body.f24 .f24-filter-overlay{position:fixed;inset:0;z-index:80;background:rgb(5 6 8 / .72);opacity:0;pointer-events:none;transition:opacity .2s var(--f24-ease,ease)}body.f24 .f24-filter-overlay.is-open{opacity:1;pointer-events:auto}body.f24 .f24-filter-drawer{position:fixed;top:0;left:0;height:100vh;height:100dvh;width:50vw;min-width:520px;max-width:760px;z-index:90;background:var(--f24-void);border-right:1px solid var(--f24-rule-strong);display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .26s var(--f24-ease,ease);box-shadow:16px 0 64px rgb(0 0 0 / .45)}body.f24 .f24-filter-drawer[aria-hidden="true"]:not(.is-open){transform:translateX(-100%)}body.f24 .f24-filter-drawer.is-open{transform:translateX(0)}body.f24 .f24-filter-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;padding:24px 28px 18px;border-bottom:1px solid var(--f24-rule);flex-shrink:0}body.f24 .f24-filter-drawer__head-body{min-width:0}body.f24 .f24-filter-drawer__eyebrow{display:block;font-family:var(--f24-font-mono);font-size:10px;color:var(--f24-text-3);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}body.f24 .f24-filter-drawer__title{font-family:var(--f24-font-display,var(--f24-font-sans));font-weight:800;font-size:28px;line-height:1;letter-spacing:-.025em;color:var(--f24-text-1);text-transform:uppercase;margin:0}body.f24 .f24-filter-drawer__close{flex-shrink:0;width:36px;height:36px;display:inline-flex;align-items:center;justify-content:center;font-size:22px;line-height:1;color:var(--f24-text-2);border:1px solid var(--f24-rule);background:var(--f24-surface);cursor:pointer;transition:color .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease)}body.f24 .f24-filter-drawer__close:hover{color:var(--f24-text-1);border-color:var(--f24-signal)}body.f24 .f24-filter-drawer__form{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0;scrollbar-width:thin;scrollbar-color:var(--f24-rule-strong) #fff0;display:flex;flex-direction:column}body.f24 .f24-filter-drawer__form::-webkit-scrollbar{width:6px}body.f24 .f24-filter-drawer__form::-webkit-scrollbar-thumb{background:var(--f24-rule-strong)}body.f24 .f24-filter-section{padding:22px 28px;border-bottom:1px solid var(--f24-rule)}body.f24 .f24-filter-section:last-of-type{border-bottom:0}body.f24 .f24-filter-section__head{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:14px}body.f24 .f24-filter-section__title{font-family:var(--f24-font-mono);font-size:11px;color:var(--f24-text-1);text-transform:uppercase;letter-spacing:.14em;font-weight:600;display:inline-flex;align-items:baseline;gap:10px;min-width:0}body.f24 .f24-filter-section__title small{font-size:10px;color:var(--f24-text-3);font-weight:400;letter-spacing:.12em}body.f24 .f24-filter-section__output{font-family:var(--f24-font-mono);font-size:11px;color:var(--f24-signal);letter-spacing:.08em;font-variant-numeric:tabular-nums}body.f24 .f24-filter-section__reset{font-family:var(--f24-font-mono);font-size:10px;color:var(--f24-text-3);text-transform:uppercase;letter-spacing:.08em;cursor:pointer;transition:color .12s var(--f24-ease,ease);background:#fff0;border:0;padding:0}body.f24 .f24-filter-section__reset:hover{color:var(--f24-signal)}body.f24 .f24-filter-section__empty{font-family:var(--f24-font-mono);font-size:11px;color:var(--f24-text-3);margin:8px 0 0}body.f24 .f24-filter-section input[type="radio"],body.f24 .f24-filter-section input[type="checkbox"]{position:absolute;opacity:0;pointer-events:none;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden}body.f24 .f24-time-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}body.f24 .f24-time-grid__cell{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border:1px solid var(--f24-rule);background:var(--f24-surface);color:var(--f24-text-2);font-family:var(--f24-font-mono);font-size:11px;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:border-color .12s var(--f24-ease,ease),color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease)}body.f24 .f24-time-grid__cell::before{content:"";display:inline-block;width:8px;height:8px;background:#fff0;border:1px solid var(--f24-rule-strong);margin-right:10px;flex-shrink:0;transition:background .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease)}body.f24 .f24-time-grid__cell:hover{color:var(--f24-text-1);border-color:var(--f24-rule-strong)}body.f24 .f24-time-grid__cell.is-active,body.f24 .f24-time-grid__cell:has(input:checked){border-color:var(--f24-signal);background:var(--f24-signal-soft);color:var(--f24-text-1)}body.f24 .f24-time-grid__cell.is-active::before,body.f24 .f24-time-grid__cell:has(input:checked)::before{background:var(--f24-signal);border-color:var(--f24-signal)}body.f24 .f24-time-grid__cell>span{flex:1 1 auto}body.f24 .f24-time-custom{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}body.f24 .f24-time-custom[hidden]{display:none}body.f24 .f24-time-custom__cell{display:flex;flex-direction:column;gap:4px}body.f24 .f24-time-custom__cap{font-family:var(--f24-font-mono);font-size:9px;letter-spacing:.14em;color:var(--f24-text-3);text-transform:uppercase}body.f24 .f24-time-custom input[type="date"]{font-family:var(--f24-font-mono);font-size:12px;color:var(--f24-text-1);background:var(--f24-surface);border:1px solid var(--f24-rule);padding:8px 10px;width:100%;color-scheme:dark}body.f24 .f24-time-custom input[type="date"]:focus{border-color:var(--f24-signal);outline:none}body.f24 .f24-curation-orbit{display:flex;flex-direction:column;gap:8px}body.f24 .f24-curation-orbit__cell{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid var(--f24-rule);background:var(--f24-surface);cursor:pointer;transition:border-color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease)}body.f24 .f24-curation-orbit__cell::before{content:"";display:block;width:14px;height:14px;border-radius:50%;border:2px solid var(--f24-rule-strong);background:#fff0;transition:background .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease),box-shadow .12s var(--f24-ease,ease)}body.f24 .f24-curation-orbit__cell:hover{border-color:var(--f24-rule-strong)}body.f24 .f24-curation-orbit__cell.is-active,body.f24 .f24-curation-orbit__cell:has(input:checked){border-color:var(--f24-signal);background:var(--f24-signal-soft)}body.f24 .f24-curation-orbit__cell.is-active::before,body.f24 .f24-curation-orbit__cell:has(input:checked)::before{background:var(--f24-signal);border-color:var(--f24-signal);box-shadow:inset 0 0 0 3px var(--f24-void)}body.f24 .f24-curation-orbit__cell.is-disabled{opacity:.35;pointer-events:none}body.f24 .f24-curation-orbit__label{font-family:var(--f24-font-display,var(--f24-font-sans));font-size:18px;font-weight:800;letter-spacing:-.02em;text-transform:uppercase;color:var(--f24-text-1);line-height:1;grid-column:2;grid-row:1}body.f24 .f24-curation-orbit__desc{font-family:var(--f24-font-mono);font-size:10px;color:var(--f24-text-3);letter-spacing:.04em;grid-column:2;grid-row:2;margin-top:4px}body.f24 .f24-curation-orbit__count{font-family:var(--f24-font-mono);font-size:11px;color:var(--f24-text-2);font-variant-numeric:tabular-nums;grid-column:3;grid-row:1 / span 2;align-self:center}body.f24 .f24-curation-orbit__cell--orbit-1 .f24-curation-orbit__label{color:var(--f24-text-1)}body.f24 .f24-curation-orbit__cell--orbit-2 .f24-curation-orbit__label{color:var(--f24-text-2)}body.f24 .f24-curation-orbit__cell--orbit-3 .f24-curation-orbit__label{color:var(--f24-text-3)}body.f24 .f24-genre-checkgrid{display:grid;grid-template-columns:1fr 1fr;gap:6px}body.f24 .f24-genre-checkgrid__cell{display:grid;grid-template-columns:18px 1fr auto;align-items:center;gap:10px;padding:9px 12px;border:1px solid var(--f24-rule);background:var(--f24-surface);cursor:pointer;transition:border-color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease),color .12s var(--f24-ease,ease)}body.f24 .f24-genre-checkgrid__cell::before{content:"";display:block;width:12px;height:12px;border:1px solid var(--f24-rule-strong);background:#fff0;transition:background .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease)}body.f24 .f24-genre-checkgrid__cell:hover{border-color:var(--f24-rule-strong)}body.f24 .f24-genre-checkgrid__cell.is-active,body.f24 .f24-genre-checkgrid__cell:has(input:checked){border-color:var(--f24-signal);background:var(--f24-signal-soft)}body.f24 .f24-genre-checkgrid__cell.is-active::before,body.f24 .f24-genre-checkgrid__cell:has(input:checked)::before{background:var(--f24-signal);border-color:var(--f24-signal)}body.f24 .f24-genre-checkgrid__name{font-family:var(--f24-font-sans);font-size:12px;color:var(--f24-text-1);line-height:1.2;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.f24 .f24-genre-checkgrid__count{font-family:var(--f24-font-mono);font-size:10px;color:var(--f24-text-3);font-variant-numeric:tabular-nums}:root{--f24-camelot-1:4;--f24-camelot-2:20;--f24-camelot-3:36;--f24-camelot-4:54;--f24-camelot-5:80;--f24-camelot-6:140;--f24-camelot-7:165;--f24-camelot-8:195;--f24-camelot-9:218;--f24-camelot-10:240;--f24-camelot-11:268;--f24-camelot-12:308}body.f24 .f24-camelot-fieldset{border:0;padding:0;margin:0}body.f24 .f24-camelot-wheel{position:relative;width:min(100%, 360px);max-width:360px;aspect-ratio:1 / 1;margin:8px auto 4px}body.f24 .f24-camelot-wheel__bg{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}body.f24 .f24-cam-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;opacity:0}body.f24 .f24-cam-seg{position:absolute;inset:0;width:100%;height:100%;margin:0;cursor:pointer;display:block;pointer-events:none}body.f24 .f24-cam-seg__svg{width:100%;height:100%;pointer-events:none;overflow:visible;display:block}body.f24 .f24-cam-seg__path{fill:rgb(255 255 255 / .055);stroke:rgb(255 255 255 / .14);stroke-width:1;pointer-events:visiblePainted;transition:fill .12s var(--f24-ease,ease),stroke .12s var(--f24-ease,ease),opacity .12s var(--f24-ease,ease)}body.f24 .f24-cam-seg__code{fill:var(--f24-text-2);font-family:var(--f24-font-mono);font-size:12px;font-weight:500;letter-spacing:.04em;pointer-events:none;user-select:none;transition:fill .12s var(--f24-ease,ease)}body.f24 .f24-cam-seg--inner .f24-cam-seg__code{font-size:10px}body.f24 .f24-cam-seg:hover .f24-cam-seg__path{fill:rgb(255 255 255 / .13);stroke:rgb(255 255 255 / .32)}body.f24 .f24-cam-seg:hover .f24-cam-seg__code{fill:var(--f24-text-1)}body.f24 .f24-cam-input:focus-visible+.f24-cam-seg .f24-cam-seg__path{stroke:var(--f24-signal);stroke-width:2}body.f24 .f24-cam-input:checked+.f24-cam-seg--outer .f24-cam-seg__path{fill:hsl(var(--cam-hue,0),58%,50%);stroke:rgb(255 255 255 / .55);stroke-width:1.5}body.f24 .f24-cam-input:checked+.f24-cam-seg--inner .f24-cam-seg__path{fill:hsl(var(--cam-hue,0),68%,36%);stroke:rgb(255 255 255 / .45);stroke-width:1.5}body.f24 .f24-cam-input:checked+.f24-cam-seg .f24-cam-seg__code{fill:#050505;font-weight:700}body.f24 .f24-camelot-wheel.is-hovering .f24-cam-seg:not(.is-compatible):not(:hover) .f24-cam-seg__path{opacity:.32}body.f24 .f24-cam-seg.is-compatible .f24-cam-seg__path{stroke:hsl(var(--cam-hue,0),70%,60%);stroke-width:1.5}body.f24 .f24-cam-seg.is-compatible .f24-cam-seg__code{fill:var(--f24-text-1)}body.f24 .f24-camelot-wheel__center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:70px;height:70px;border-radius:50%;border:1px solid var(--f24-rule);background:var(--f24-void);color:var(--f24-text-2);font-family:var(--f24-font-mono);font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:5;transition:color .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease)}body.f24 .f24-camelot-wheel__center:hover{color:var(--f24-signal);border-color:var(--f24-signal)}body.f24 .f24-camelot-wheel__center-label{font-variant-numeric:tabular-nums}body.f24 .f24-bpm-range{position:relative;height:56px;padding:18px 0 0;user-select:none}body.f24 .f24-bpm-range__track{position:absolute;left:0;right:0;top:28px;height:4px;background:var(--f24-rule-strong);pointer-events:none}body.f24 .f24-bpm-range__fill{position:absolute;top:0;height:100%;background:var(--f24-signal);transition:left .04s linear,right .04s linear}body.f24 .f24-bpm-range__slider{position:absolute;left:0;right:0;top:18px;width:100%;background:#fff0;pointer-events:none;appearance:none;-webkit-appearance:none;height:24px;margin:0}body.f24 .f24-bpm-range__slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;pointer-events:auto;width:16px;height:16px;background:var(--f24-text-1);border:2px solid var(--f24-signal-ink);cursor:ew-resize;box-shadow:0 0 0 1px var(--f24-signal);margin-top:-8px;transition:transform .08s var(--f24-ease,ease)}body.f24 .f24-bpm-range__slider::-webkit-slider-thumb:hover{transform:scale(1.12)}body.f24 .f24-bpm-range__slider::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;background:var(--f24-text-1);border:2px solid var(--f24-signal-ink);cursor:ew-resize;box-shadow:0 0 0 1px var(--f24-signal);transition:transform .08s var(--f24-ease,ease);border-radius:0}body.f24 .f24-bpm-range__slider::-moz-range-thumb:hover{transform:scale(1.12)}body.f24 .f24-bpm-range__slider::-moz-range-track,body.f24 .f24-bpm-range__slider::-webkit-slider-runnable-track{background:#fff0;border:0;height:4px}body.f24 .f24-bpm-range__slider--min{z-index:1}body.f24 .f24-bpm-range__slider--max{z-index:2}body.f24 .f24-bpm-range__labels{margin-top:12px;display:flex;justify-content:space-between;font-family:var(--f24-font-mono);font-size:12px;color:var(--f24-text-1);font-variant-numeric:tabular-nums}body.f24 .f24-bpm-range__labels small{font-size:9px;color:var(--f24-text-3);letter-spacing:.14em;margin-left:4px}body.f24 .f24-type-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}body.f24 .f24-type-grid__cell{display:inline-flex;align-items:center;justify-content:center;padding:12px 8px;border:1px solid var(--f24-rule);background:var(--f24-surface);color:var(--f24-text-2);font-family:var(--f24-font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;text-align:center;transition:border-color .12s var(--f24-ease,ease),color .12s var(--f24-ease,ease),background .12s var(--f24-ease,ease)}body.f24 .f24-type-grid__cell:hover{color:var(--f24-text-1);border-color:var(--f24-rule-strong)}body.f24 .f24-type-grid__cell.is-active,body.f24 .f24-type-grid__cell:has(input:checked){background:var(--f24-signal);color:var(--f24-signal-ink);border-color:var(--f24-signal);font-weight:600}body.f24 .f24-filter-drawer__footer{position:sticky;bottom:0;z-index:3;background:var(--f24-void);border-top:1px solid var(--f24-rule-strong);display:flex;gap:12px;padding:16px 28px;margin-top:auto}body.f24 .f24-filter-drawer__reset{flex:0 0 auto;display:inline-flex;align-items:center;padding:0 16px;border:1px solid var(--f24-rule);background:#fff0;color:var(--f24-text-2);font-family:var(--f24-font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;transition:color .12s var(--f24-ease,ease),border-color .12s var(--f24-ease,ease)}body.f24 .f24-filter-drawer__reset:hover{color:var(--f24-text-1);border-color:var(--f24-rule-strong)}body.f24 .f24-filter-drawer__apply{flex:1 1 auto;background:var(--f24-signal);color:var(--f24-signal-ink);border:1px solid var(--f24-signal);padding:12px 18px;font-family:var(--f24-font-mono);font-size:12px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:background .12s var(--f24-ease,ease)}body.f24 .f24-filter-drawer__apply:hover{background:#ffc230;border-color:#ffc230}body.f24 .f24-chip-remove{font:inherit;cursor:pointer;display:inline-flex;align-items:center;gap:6px;background:var(--f24-signal);color:var(--f24-signal-ink);border:1px solid var(--f24-signal);padding:3px 8px;font-family:var(--f24-font-mono);font-size:11px;font-weight:500;line-height:1.4;letter-spacing:.04em;transition:opacity .12s var(--f24-ease,ease)}body.f24 .f24-chip-remove:hover{opacity:.88}body.f24 .f24-chip-remove .f24-chip__x{color:var(--f24-signal-ink);opacity:.55;font-size:11px;line-height:1}body.f24 .f24-chip-remove:hover .f24-chip__x{opacity:1}body.f24.f24-drawer-open{overflow:hidden}body.f24 .screen-reader-text{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media (max-width:768px){body.f24 .f24-filter-drawer{width:100vw;min-width:0;max-width:none}body.f24 .f24-filter-drawer__head{padding:18px 18px 12px}body.f24 .f24-filter-section{padding:16px 18px}body.f24 .f24-filter-drawer__footer{padding:12px 18px}body.f24 .f24-time-grid,body.f24 .f24-genre-checkgrid,body.f24 .f24-time-custom{grid-template-columns:1fr}body.f24 .f24-type-grid{grid-template-columns:repeat(2,1fr)}body.f24 .f24-camelot-wheel{max-width:290px}body.f24 .f24-cam-seg__code{font-size:11px}body.f24 .f24-cam-seg--inner .f24-cam-seg__code{font-size:9px}body.f24 .f24-camelot-wheel__center{width:56px;height:56px;font-size:10px}body.f24 .f24-filter-trigger{padding:11px 18px;font-size:11px}}@media (prefers-reduced-motion:reduce){body.f24 .f24-filter-drawer,body.f24 .f24-filter-overlay,body.f24 .f24-filter-trigger,body.f24 .f24-bpm-range__fill,body.f24 .f24-cam-seg__path,body.f24 .f24-cam-seg__code{transition:none}}