:root{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{margin:0;min-width:320px;min-height:100vh}a{text-decoration:none}button{cursor:pointer;font-family:inherit}*{margin:0;padding:0;box-sizing:border-box}:root{--color-primary: #2c1810;--color-accent: #e8a838;--color-accent-dark: #c78a20;--color-bg: #faf6f0;--color-card: #ffffff;--color-text: #2c1810;--color-text-light: #6b5a4e;--color-border: #e8ddd0;--color-line-dance: #e8a838;--color-mixer: #4ecdc4;--color-slow: #c77dba;--radius: 12px;--shadow: 0 2px 8px rgba(44, 24, 16, .08);--shadow-hover: 0 4px 16px rgba(44, 24, 16, .12)}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--color-bg);color:var(--color-text);-webkit-font-smoothing:antialiased}#root{max-width:600px;margin:0 auto;padding:0;text-align:left}.app-header{background:linear-gradient(135deg,var(--color-primary) 0%,#4a2c1a 100%);color:#fff;padding:24px 20px 20px;text-align:center}.app-title{font-size:28px;font-weight:800;letter-spacing:-.5px}.title-icon{font-size:24px}.app-subtitle{font-size:14px;opacity:.85;margin-top:4px;font-weight:400}.app-main{padding:16px}.search-bar{margin-bottom:12px}.search-input-wrapper{display:flex;align-items:center;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius);padding:0 14px;transition:border-color .2s}.search-input-wrapper:focus-within{border-color:var(--color-accent)}.search-icon{font-size:18px;margin-right:10px;opacity:.5}.search-input{flex:1;border:none;outline:none;padding:14px 0;background:transparent;color:var(--color-text);font-size:16px}.search-input::placeholder{color:var(--color-text-light);opacity:.6}.clear-btn{background:none;border:none;font-size:18px;color:var(--color-text-light);cursor:pointer;padding:4px 8px}.category-filter{display:flex;gap:8px;margin-bottom:16px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:4px}.category-filter::-webkit-scrollbar{display:none}.category-btn{display:flex;align-items:center;gap:6px;padding:10px 16px;border:2px solid var(--color-border);border-radius:50px;background:var(--color-card);color:var(--color-text-light);font-size:14px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.category-btn:hover{border-color:var(--color-accent)}.category-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.category-emoji{font-size:16px}.bpm-filter{margin-bottom:16px}.bpm-toggle{display:flex;align-items:center;gap:8px;width:100%;padding:12px 16px;background:var(--color-card);border:2px solid var(--color-border);border-radius:var(--radius);font-size:14px;font-weight:600;color:var(--color-text-light);cursor:pointer;transition:all .2s}.bpm-toggle:hover{border-color:var(--color-accent)}.bpm-toggle.open{border-color:var(--color-accent);border-bottom-left-radius:0;border-bottom-right-radius:0}.bpm-toggle.filtering{color:var(--color-accent-dark)}.bpm-toggle-icon{font-size:16px}.bpm-toggle-text{flex:1;text-align:left}.bpm-toggle-arrow{font-size:12px;transition:transform .2s}.bpm-toggle-arrow.open{transform:rotate(180deg)}.bpm-panel{background:var(--color-card);border:2px solid var(--color-accent);border-top:none;border-bottom-left-radius:var(--radius);border-bottom-right-radius:var(--radius);padding:16px}.bpm-presets{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.bpm-preset-btn{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;border:2px solid var(--color-border);border-radius:10px;background:var(--color-bg);cursor:pointer;transition:all .2s}.bpm-preset-btn:hover{border-color:var(--color-accent)}.bpm-preset-btn.active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.preset-label{font-size:13px;font-weight:700}.preset-subtitle{font-size:11px;opacity:.7}.bpm-sliders{display:flex;flex-direction:column;gap:10px}.slider-row{display:flex;align-items:center;gap:12px}.slider-label{font-size:13px;font-weight:600;color:var(--color-text-light);min-width:70px}.bpm-slider{flex:1;-webkit-appearance:none;appearance:none;height:6px;background:var(--color-border);border-radius:3px;outline:none}.bpm-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:22px;height:22px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:3px solid white;box-shadow:0 1px 4px #0003}.bpm-slider::-moz-range-thumb{width:22px;height:22px;border-radius:50%;background:var(--color-accent);cursor:pointer;border:3px solid white;box-shadow:0 1px 4px #0003}.bpm-reset-btn{display:block;width:100%;margin-top:12px;padding:10px;background:none;border:1px solid var(--color-border);border-radius:8px;font-size:13px;font-weight:600;color:var(--color-text-light);cursor:pointer;transition:all .2s}.bpm-reset-btn:hover{border-color:var(--color-accent);color:var(--color-accent-dark)}.results-count{font-size:13px;color:var(--color-text-light);margin-bottom:12px;font-weight:500}.song-list{display:flex;flex-direction:column;gap:12px}.song-card{background:var(--color-card);border-radius:var(--radius);padding:16px;box-shadow:var(--shadow);border:1px solid var(--color-border);transition:box-shadow .2s}.song-card:hover{box-shadow:var(--shadow-hover)}.song-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.song-info{flex:1;min-width:0}.song-title{font-size:17px;font-weight:700;line-height:1.3;color:var(--color-text)}.song-artist{font-size:14px;color:var(--color-text-light);margin-top:2px}.category-badge{font-size:11px;font-weight:700;color:#fff;padding:4px 10px;border-radius:50px;white-space:nowrap;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.song-card-details{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;padding:10px 12px;background:var(--color-bg);border-radius:8px}.dance-name{display:flex;flex-direction:column;gap:2px}.detail-label{font-size:11px;color:var(--color-text-light);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.detail-value{font-size:15px;font-weight:600;color:var(--color-text)}.bpm-info{display:flex;flex-direction:column;align-items:flex-end;gap:2px}.bpm-number{font-size:18px;font-weight:800;color:var(--color-accent-dark)}.bpm-label{font-size:11px;color:var(--color-text-light);text-transform:uppercase;font-weight:600}.song-card-links{display:flex;gap:8px}.link-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:8px;font-size:13px;font-weight:600;text-decoration:none;transition:opacity .2s}.link-btn:hover{opacity:.85}.youtube-btn{background:red;color:#fff}.copperknob-btn{background:var(--color-primary);color:#fff}.no-results{text-align:center;padding:48px 20px}.no-results-emoji{font-size:48px;margin-bottom:12px}.no-results-text{font-size:18px;font-weight:600;color:var(--color-text);margin-bottom:4px}.no-results-hint{font-size:14px;color:var(--color-text-light)}.app-footer{text-align:center;padding:24px 16px;font-size:13px;color:var(--color-text-light);border-top:1px solid var(--color-border);margin-top:24px}@media(max-width:400px){.app-header{padding:20px 16px 16px}.app-title{font-size:24px}.song-card-links{flex-direction:column}.category-btn{padding:8px 12px;font-size:13px}}
