@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/jetbrains-mono-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/jetbrains-mono-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/space-grotesk-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/space-grotesk-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/space-grotesk-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/space-grotesk-700.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-sinhala-latin-400.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-sinhala-latin-500.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-sans-sinhala-latin-600.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/noto-sans-sinhala-sinhala-400.woff2) format("woff2");unicode-range:U+0D80-0DFF}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/noto-sans-sinhala-sinhala-500.woff2) format("woff2");unicode-range:U+0D80-0DFF}@font-face{font-family:Noto Sans Sinhala;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/noto-sans-sinhala-sinhala-600.woff2) format("woff2");unicode-range:U+0D80-0DFF}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #ffffff;--surface: #f5f5f7;--surface2: #ebebed;--border: #e0e0e2;--text: #1a1820;--text-muted: #9b98a3;--text-dim: #6b6870;--chord: #2563eb;--chord-bg: rgba(37, 99, 235, .07);--section: #7c3aed;--nav-h: 56px}[data-theme=dark]{--bg: #0d0c10;--surface: #16141c;--surface2: #1e1c27;--border: #2d2b38;--text: #ede9e3;--text-muted: #6b6780;--text-dim: #9d99aa;--chord: #f5a623;--chord-bg: rgba(245, 166, 35, .08);--section: #a78bfa}html{scroll-behavior:smooth}body{font-family:Space Grotesk,sans-serif;background:var(--bg);color:var(--text);min-height:100vh;transition:background .2s,color .2s;-webkit-font-smoothing:antialiased}button{font-family:inherit;cursor:pointer;border:none;background:none}a{color:inherit;text-decoration:none}.nav{position:sticky;top:0;z-index:100;height:var(--nav-h);background:var(--bg);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 16px;gap:10px}.nav-back{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:20px;color:var(--text-dim);flex-shrink:0;transition:background .12s}.nav-back:hover{background:var(--surface2)}.nav-logo{font-size:16px;font-weight:700;letter-spacing:-.3px;color:var(--text);flex-shrink:0}.nav-logo span{color:var(--chord)}.nav-spacer{flex:1}.home{max-width:600px;margin:0 auto;padding:40px 16px}.home-hero{margin-bottom:32px;text-align:center}.home-title{font-size:42px;font-weight:800;letter-spacing:-1.5px;line-height:1.05;margin-bottom:10px}.home-title span{color:var(--chord)}.home-sub{color:var(--text-muted);font-size:15px;margin-bottom:24px;line-height:1.5}.page{max-width:600px;margin:0 auto;padding:28px 16px 40px}.page-title{font-size:32px;font-weight:700;letter-spacing:-1px;margin-bottom:4px}.page-sub{font-size:14px;color:var(--text-muted);margin-bottom:20px}.song-page{max-width:600px;margin:0 auto;padding:0 16px 40px}.song-header{padding:24px 0 20px;border-bottom:1px solid var(--border);margin-bottom:24px}.song-title{font-size:32px;font-weight:700;letter-spacing:-1px;line-height:1.1;margin-bottom:6px}.song-artist{font-size:15px;color:var(--text-dim);margin-bottom:16px}.song-artist button{color:var(--chord);font-weight:600;font-size:15px}.song-meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.legal-page{max-width:600px;margin:0 auto;padding:32px 16px 80px}.legal-page h1{font-size:28px;font-weight:700;letter-spacing:-.8px;margin-bottom:6px}.legal-page .legal-date{font-size:13px;color:var(--text-muted);margin-bottom:32px}.legal-page h2{font-size:16px;font-weight:700;margin:24px 0 8px}.legal-page p{font-size:14px;line-height:1.7;color:var(--text-dim);margin-bottom:12px}.legal-page ul{padding-left:20px;margin-bottom:12px}.legal-page li{font-size:14px;line-height:1.7;color:var(--text-dim);margin-bottom:4px}.legal-page a{color:var(--chord);text-decoration:underline}.footer{background:var(--surface);border-top:1px solid var(--border);padding:32px 16px 40px}.footer-inner{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:20px}.footer-brand{font-size:18px;font-weight:700;letter-spacing:-.5px}.footer-brand span{color:var(--chord)}.footer-tagline{font-size:13px;color:var(--text-muted);margin-top:2px}.footer-nav-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.footer-nav-col h4{font-size:11px;font-weight:700;letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:10px}.footer-nav-col a{display:block;font-size:14px;color:var(--text-dim);padding:4px 0;transition:color .12s}.footer-nav-col a:hover{color:var(--chord)}.footer-bottom{border-top:1px solid var(--border);padding-top:16px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:space-between}.footer-copy{font-size:12px;color:var(--text-muted)}.footer-legal{display:flex;gap:16px}.footer-legal a{font-size:12px;color:var(--text-muted);transition:color .12s}.footer-legal a:hover{color:var(--chord)}.toggle-sw-wrap{display:flex;align-items:center;gap:6px;cursor:pointer;flex-shrink:0;user-select:none;-webkit-tap-highlight-color:transparent}.toggle-sw-icon{display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.toggle-sw-track{width:40px;height:22px;border-radius:11px;background:var(--surface2);border:1.5px solid var(--border);position:relative;transition:background .2s,border-color .2s;flex-shrink:0}.toggle-sw-track.on{background:#4c1d95;border-color:#6d28d9}.toggle-sw-thumb{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:transform .2s,background .2s}.toggle-sw-track.on .toggle-sw-thumb{transform:translate(18px);background:#a78bfa}.section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.section-label{font-size:11px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted)}.section-action{font-size:12px;font-weight:600;color:var(--chord);cursor:pointer;-webkit-tap-highlight-color:transparent}.songs-list{display:flex;flex-direction:column;gap:2px}.song-card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;transition:border-color .12s,background .12s;display:flex;align-items:center;justify-content:space-between;gap:12px}.song-card:active{background:var(--surface)}.song-card-left{flex:1;min-width:0}.song-card-title{font-size:16px;font-weight:600;margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.song-card-artist{font-size:13px;color:var(--text-dim)}.song-card-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0}.no-results{text-align:center;padding:48px 16px;color:var(--text-muted)}.pill{font-size:11px;font-weight:500;background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:2px 7px;color:var(--text-dim);white-space:nowrap}.pill-key{font-size:13px;font-weight:700;background:var(--chord-bg);border:2px solid var(--chord);border-radius:8px;padding:5px 12px;color:var(--chord);white-space:nowrap;font-family:JetBrains Mono,monospace;letter-spacing:.5px}.pill-beat{font-size:12px;font-weight:700;background:var(--surface2);border:2px solid var(--border);border-radius:8px;padding:5px 12px;color:var(--text);white-space:nowrap;letter-spacing:.3px}.home-search-wrap{position:relative;text-align:left;margin-bottom:20px}.home-search{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;padding:15px 16px 15px 52px;font-family:Space Grotesk,sans-serif;font-size:16px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.home-search:focus{border-color:var(--chord);box-shadow:0 0 0 3px var(--chord-bg)}.home-search::placeholder{color:var(--text-muted)}.home-search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--chord);pointer-events:none;display:flex;align-items:center}.search-dropdown{position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1.5px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000001f;z-index:100;overflow:hidden}.search-dropdown-msg{padding:14px 16px;font-size:14px;color:var(--text-muted)}.search-result-item{display:block;padding:12px 16px;border-bottom:1px solid var(--border);transition:background .1s}.search-result-item:last-child{border-bottom:none}.search-result-item:hover{background:var(--surface2)}.search-result-title{font-size:14px;font-weight:600;color:var(--text);margin-bottom:4px}.search-result-excerpt{font-size:12px;color:var(--text-muted);line-height:1.5;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.search-result-excerpt mark{background:var(--chord-bg);color:var(--chord);border-radius:2px;font-style:normal}.artist-grid{display:flex;flex-direction:column;gap:2px}.artist-card{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:12px;cursor:pointer;border:1px solid var(--border);background:var(--bg);transition:border-color .12s,background .12s;-webkit-tap-highlight-color:transparent}.artist-card:active{background:var(--surface)}.artist-card-name{font-size:17px;font-weight:600}.artist-card-count{font-size:12px;color:var(--text-muted);margin-top:2px}.artist-card-right{color:var(--text-muted);font-size:20px}.artist-songs-list{display:flex;flex-direction:column;gap:2px}.artist-song-item{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-radius:12px;cursor:pointer;border:1px solid transparent;transition:all .1s;-webkit-tap-highlight-color:transparent}.artist-song-item:active{background:var(--surface);border-color:var(--border)}.artist-song-title{font-size:16px;font-weight:600}.artist-song-meta{display:flex;gap:6px}.chord-sheet-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.chord-sheet{font-family:JetBrains Mono,monospace;font-size:15px;line-height:2;white-space:pre;display:block;min-width:max-content}.cs-chord-line{display:block}.cs-chord-name{color:var(--chord);font-weight:600}.cs-section{display:block;font-family:Space Grotesk,sans-serif;color:var(--section);font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-top:6px;margin-bottom:-4px}.cs-lyric{display:block;font-family:Noto Sans Sinhala,monospace;font-size:15px;line-height:1.8;white-space:pre;color:var(--text)}.cs-meta-note{display:block;font-size:12px;color:var(--text-muted);margin-bottom:12px;font-family:Space Grotesk,sans-serif;font-style:italic;white-space:normal}.cs-empty{display:block;height:4px}.inline-keys-wrap{margin-bottom:24px}.inline-keys-label{font-size:10px;font-weight:700;letter-spacing:1.5px;color:var(--text-muted);text-transform:uppercase;margin-bottom:10px}.inline-keys-grid{display:grid;grid-template-columns:repeat(6,44px);gap:6px}.ikey-btn{width:44px;height:36px;padding:0;border-radius:8px;font-size:12px;font-weight:600;background:var(--surface);border:1.5px solid var(--border);color:var(--text);cursor:pointer;text-align:center;font-family:JetBrains Mono,monospace;transition:all .1s;-webkit-tap-highlight-color:transparent}.ikey-btn.active{background:#2563eb;border-color:#2563eb;color:#fff}.ikey-btn:active{transform:scale(.95)}.more-section{margin-top:40px;padding-top:20px;border-top:1px solid var(--border)}.more-list{display:flex;flex-direction:column;gap:2px}.more-item{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-radius:10px;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent}.more-item:active{background:var(--surface)}.more-item-title{font-size:15px;font-weight:600}.more-item-meta{font-size:12px;color:var(--text-muted)}.ad-wrap{margin:20px 0}.ad-block{border-radius:10px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:var(--surface);border:1px dashed var(--border);color:var(--text-muted);font-size:10px;letter-spacing:.8px;text-transform:uppercase;font-weight:500}.ad-block-sm{height:60px}.ad-block-lg{height:250px}.bmc-banner{display:flex;align-items:center;gap:14px;padding:12px 16px;background:#fd0;border-radius:12px;text-decoration:none;margin-bottom:20px;box-shadow:0 2px 10px #00000014}.contact-form{display:flex;flex-direction:column;gap:14px;margin-top:24px}.contact-form label{font-size:12px;font-weight:600;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);display:block;margin-bottom:5px}.contact-form input,.contact-form textarea,.contact-form select{width:100%;background:var(--surface);border:1.5px solid var(--border);border-radius:10px;padding:12px 14px;font-family:Space Grotesk,sans-serif;font-size:15px;color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus{border-color:var(--chord);box-shadow:0 0 0 3px var(--chord-bg)}.contact-form textarea{resize:vertical;min-height:120px}.contact-form .submit-btn{padding:14px;border-radius:10px;font-size:15px;font-weight:700;background:var(--chord);color:#fff;border:none;cursor:pointer;transition:opacity .15s}.contact-form .submit-btn:active{opacity:.8}
