*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,sans-serif;line-height:1.5;-webkit-font-smoothing:antialiased}#root{min-height:100vh}:root{--bg: #1a1a2e;--bg2: #16213e;--card: #0f3460;--accent: #e94560;--accent2: #f5a623;--text: #eaeaea;--text2: #a8b2d8;--chord-bg: #1e2d5a;--border: #2a3f6f;--radius: 8px;--max-w: 1100px}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:Segoe UI,system-ui,-apple-system,sans-serif;line-height:1.6}a{color:var(--accent2);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:var(--max-w);margin:0 auto;padding:0 1rem}.site-header{background:var(--bg2);border-bottom:2px solid var(--accent);padding:1rem 0;position:sticky;top:0;z-index:100}.site-header .container{display:flex;align-items:center;gap:1.5rem}.site-logo{font-size:1.5rem;font-weight:800;color:var(--accent);text-decoration:none}.site-logo span{color:var(--accent2)}.site-tagline{color:var(--text2);font-size:.85rem}.search-wrap{flex:1;max-width:500px}.search-input{width:100%;padding:.5rem 1rem;border-radius:2rem;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:.95rem;outline:none;transition:border-color .2s}.search-input:focus{border-color:var(--accent)}.filters{display:flex;gap:.5rem;flex-wrap:wrap;padding:1rem 0}.filter-btn{padding:.3rem .8rem;border-radius:2rem;border:1px solid var(--border);background:transparent;color:var(--text2);cursor:pointer;font-size:.85rem;transition:all .2s}.filter-btn:hover,.filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem;padding:1rem 0 3rem}.song-card{background:var(--card);border-radius:var(--radius);padding:1rem;border:1px solid var(--border);transition:transform .15s,border-color .15s;cursor:pointer;display:block;color:inherit}.song-card:hover{transform:translateY(-2px);border-color:var(--accent);text-decoration:none}.song-card-title{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.3rem;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.song-card-chords{font-size:.78rem;color:var(--accent2);margin-top:.3rem}.song-card-badges{display:flex;gap:.3rem;flex-wrap:wrap;margin-top:.5rem}.badge{font-size:.7rem;padding:.15rem .45rem;border-radius:2rem;background:var(--chord-bg);color:var(--text2)}.badge.has-video{background:#1a4a1a;color:#5de85d}.song-page{max-width:900px;margin:0 auto;padding:2rem 1rem}.back-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--text2);font-size:.9rem;margin-bottom:1.5rem}.back-link:hover{color:var(--accent2);text-decoration:none}.song-title{font-size:1.8rem;font-weight:800;margin-bottom:.5rem;line-height:1.2}.song-meta{color:var(--text2);font-size:.9rem;margin-bottom:1.5rem;display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.video-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:var(--radius);background:#000;margin-bottom:2rem}.video-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:none;border-radius:var(--radius)}.video-placeholder{display:flex;align-items:center;justify-content:center;aspect-ratio:16/9;background:var(--bg2);border:1px dashed var(--border);border-radius:var(--radius);color:var(--text2);font-size:.9rem;margin-bottom:2rem;flex-direction:column;gap:.5rem}.section{margin-bottom:2rem}.section-title{font-size:1rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--accent2);margin-bottom:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--border)}.chords-list{display:flex;flex-wrap:wrap;gap:.5rem}.chord-pill{padding:.3rem .8rem;background:var(--chord-bg);border:1px solid var(--border);border-radius:var(--radius);font-weight:600;font-size:.95rem;color:var(--accent2);font-family:monospace}.description,.notes-text{color:var(--text2);font-size:.95rem;line-height:1.7}.tab-text{font-family:Courier New,monospace;font-size:.8rem;background:var(--bg2);border:1px solid var(--border);border-radius:var(--radius);padding:1rem;overflow-x:auto;white-space:pre;color:#9fef9f;line-height:1.5}.result-count{color:var(--text2);font-size:.85rem;padding:.5rem 0}.loading,.empty{text-align:center;color:var(--text2);padding:3rem 1rem}.error-msg{color:var(--accent);padding:2rem 1rem;text-align:center}@media(max-width:600px){.site-header .container{flex-wrap:wrap}.site-tagline{display:none}.song-title{font-size:1.4rem}}
