@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=Lora:ital,wght@0,400;0,500;0,600;1,400&family=Fira+Code:wght@400;500&display=swap";:root{--bg-color:#faf9f5;--text-primary:#2d2c2a;--text-secondary:#5e5b56;--surface:#fff;--border:#e6e3da;--accent:#111;--accent-light:#e6e3da;--font-body:"Inter", sans-serif;--font-title:"Lora", serif;--font-mono:"Fira Code", monospace;--transition:all .2s cubic-bezier(.4, 0, .2, 1);--shadow-sm:0 1px 3px #0000000d;--shadow-md:0 4px 6px -1px #0000000d, 0 2px 4px -1px #00000008}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-body);background-color:var(--bg-color);color:var(--text-primary);-webkit-font-smoothing:antialiased;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-title);color:var(--text-primary);margin-bottom:.5em;font-weight:500}a{color:var(--accent);transition:var(--transition);text-decoration:none}a:hover{opacity:.8}button{font-family:var(--font-body);cursor:pointer;transition:var(--transition);background:0 0;border:none}input,textarea{font-family:var(--font-body);color:var(--text-primary)}.container{max-width:800px;margin:0 auto;padding:1rem}.card{background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);transition:var(--transition);border-radius:12px;padding:1.5rem}.card:hover{box-shadow:var(--shadow-md);border-color:#d6d3ca}.btn{border-radius:6px;justify-content:center;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:.9rem;font-weight:500;display:inline-flex}.btn-primary{background-color:var(--text-primary);color:var(--bg-color)}.btn-primary:hover{background-color:#1a1a1a}.btn-secondary{background-color:var(--surface);border:1px solid var(--border);color:var(--text-primary)}.btn-secondary:hover{background-color:#f0eee6}.btn-icon{color:var(--text-secondary);border-radius:6px;align-items:center;padding:.5rem;display:flex}.btn-icon:hover{background-color:var(--border);color:var(--text-primary)}.form-group{margin-bottom:1.5rem}.form-label{margin-bottom:.5rem;font-size:.9rem;font-weight:500;display:block}.form-control{border:1px solid var(--border);background-color:var(--surface);width:100%;transition:var(--transition);border-radius:8px;padding:.75rem 1rem;font-size:1rem}.form-control:focus{border-color:var(--text-primary);outline:none}textarea.form-control{resize:vertical;min-height:300px}.app-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.5rem;display:flex}.app-title{font-family:var(--font-title);color:var(--text-primary);margin:0;font-size:1.75rem;text-decoration:none}.nav-links{gap:1rem;display:flex}.song-list{flex-direction:column;gap:1rem;display:flex}.song-item{color:inherit;border-bottom:1px solid var(--border);transition:var(--transition);justify-content:space-between;align-items:center;padding:1.5rem;text-decoration:none;display:flex}.song-item:last-child{border-bottom:none}.song-item:hover{background-color:var(--surface);box-shadow:var(--shadow-sm);border-color:#0000;border-radius:12px}.song-item-content h3{margin:0;font-size:1.25rem}.song-item-artist{color:var(--text-secondary);font-size:.9rem}.search-bar{margin-bottom:1.5rem;position:relative}.search-bar input{border-radius:20px;padding-left:2.5rem}.search-icon{color:var(--text-secondary);width:18px;height:18px;position:absolute;top:50%;left:.75rem;transform:translateY(-50%)}.song-header{margin-bottom:1.5rem}.song-title{margin-bottom:.25rem;font-size:2.5rem}.song-artist{color:var(--text-secondary);font-size:1.1rem}.song-actions{border-top:1px solid var(--border);border-bottom:1px solid var(--border);align-items:center;gap:1rem;margin-top:.5rem;padding:1rem 0;display:flex}.song-content{font-family:var(--font-body);white-space:pre-wrap;margin-top:2rem;font-size:1.1rem;line-height:1.5}.lyric-line{margin-bottom:.5em}.chord-pro-line{line-height:normal;display:block}.chord-segment{vertical-align:bottom;flex-direction:column;display:inline-flex}.chord-segment.empty-lyric{margin-right:.5em}.chord{color:var(--accent);font-family:var(--font-mono);min-height:1.2em;margin-bottom:-.2em;font-size:.9em;font-weight:600}.spacer{min-height:1.2em;margin-bottom:-.2em}.lyric{min-height:1.5em}.mobile-nav-toggle,.mobile-actions-toggle{display:none}@media (width<=419px){.desktop-nav,.desktop-actions{display:none!important}.mobile-nav-toggle,.mobile-actions-toggle{display:block}}.mobile-menu{background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:8px;flex-direction:column;margin-bottom:1rem;display:flex;overflow:hidden}.mobile-menu-item{border-bottom:1px solid var(--border);color:var(--text-primary);text-align:left;cursor:pointer;width:100%;font-size:1rem;font-family:var(--font-body);background:0 0;border:none;border-radius:0;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}.mobile-menu-item:last-child{border-bottom:none}.mobile-menu-item:hover{background-color:var(--border)}.song-actions-container{position:relative}.mobile-actions-menu{background-color:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);z-index:10;border-radius:8px;flex-direction:column;min-width:160px;margin-top:.5rem;display:flex;position:absolute;top:100%;right:0;overflow:hidden}.app-footer{border-top:1px solid var(--border);text-align:center;color:var(--text-secondary);font-size:.85rem;font-family:var(--font-body);margin-top:3rem;padding:2rem 0}.app-footer p{opacity:.8;margin:0}
