.beats-page{gap:var(--space-6);flex-direction:column;display:flex}.beats-toolbar{gap:var(--space-4);flex-direction:column;display:flex}.beats-toolbar-row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.beats-filter-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.beats-source-tabs{gap:var(--space-1);background:var(--surface-glass);border:1px solid var(--surface-border);border-radius:var(--radius-full);padding:3px;display:flex}.beats-source-tab{padding:var(--space-2) var(--space-4);font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--text-secondary);border-radius:var(--radius-full);cursor:pointer;transition:all var(--transition-base);background:0 0;border:none}.beats-source-tab:hover{color:var(--text-primary)}.beats-source-tab-active{background:var(--accent-purple-muted);color:var(--accent-purple-light)}.beats-bpm-filter{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text-secondary);margin-left:auto;display:flex}.beats-bpm-range{appearance:none;background:var(--surface-glass);border-radius:var(--radius-full);outline:none;width:120px;height:4px}.beats-bpm-range::-webkit-slider-thumb{-webkit-appearance:none;background:var(--accent-purple);cursor:pointer;width:16px;height:16px;box-shadow:var(--glow-purple);border-radius:50%}.beats-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.beats-fab{bottom:var(--space-8);right:var(--space-8);border-radius:var(--radius-full);background:var(--gradient-accent);color:#fff;cursor:pointer;width:56px;height:56px;box-shadow:var(--glow-purple-strong);transition:all var(--transition-base);z-index:var(--z-sticky);border:none;justify-content:center;align-items:center;display:flex;position:fixed}.beats-fab:hover{box-shadow:var(--glow-purple-strong), var(--shadow-xl);transform:scale(1.1)}.beats-empty{justify-content:center;align-items:center;gap:var(--space-3);padding:var(--space-16);color:var(--text-tertiary);font-size:var(--text-md);flex-direction:column;display:flex}@media (max-width:768px){.beats-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}}
