*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{color-scheme:light;--bg: #f8f7f2;--bg-2: #ffffff;--bg-3: #eceae3;--text: #1a1a18;--text-2: #555550;--text-3: #888880;--border: #cccac2;--accent: #b07800;--accent-dim: rgba(176, 120, 0, .1);--accent-border: rgba(176, 120, 0, .4)}html,body{min-height:100dvh;background:var(--bg);color:var(--text);font-family:Space Grotesk,Inter,system-ui,sans-serif}a{color:inherit}.landing-nav,.page-body,.page-hero,.page-cta-inner,.landing-footer,.landing-section,.faq-section,.about-body,.pwa-panels{max-width:900px;margin:0 auto}.landing-nav{padding:1.25rem 1.5rem;display:flex;align-items:center;gap:1rem}.landing-nav-home{flex:1;color:var(--text);text-decoration:none;font-size:.95rem;font-weight:600}.landing-nav-links{display:flex;gap:1.25rem}.landing-nav-links a{color:var(--text-2);text-decoration:none;font-size:.875rem}.landing-nav-links a[aria-current=page]{color:var(--accent);font-weight:600}.landing-nav-home:hover,.landing-nav-links a:hover,.landing-footer a:hover,.page-copy a:hover,.related-links a:hover{color:var(--accent)}.page-hero{padding:3rem 1.5rem 2rem;text-align:center;max-width:760px}.eyebrow{color:var(--accent);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.9rem}.page-h1,.landing-h1{font-size:clamp(1.85rem,4vw,2.8rem);line-height:1.15;margin-bottom:1rem}.page-subtitle,.landing-subtitle{color:var(--text-2);font-size:1rem;line-height:1.7}.page-body{padding:0 1.5rem 4rem;display:grid;gap:1.5rem}.page-card,.landing-card{background:var(--bg-2);border:1px solid var(--border);border-radius:8px;padding:1.5rem}.page-copy h2{font-size:1.1rem;margin-bottom:.75rem}.page-copy p,.page-copy li{color:var(--text-2);font-size:.9375rem;line-height:1.75}.page-copy p+p{margin-top:.85rem}.page-copy ul{padding-left:1.25rem;display:grid;gap:.55rem}.page-copy strong{color:var(--text)}.page-cta,.landing-final-cta{border-top:1px solid var(--border);padding:4rem 1.5rem;text-align:center}.page-cta h2,.landing-h2{font-size:clamp(1.2rem,2.5vw,1.6rem);margin-bottom:1rem}.page-cta p,.landing-final-cta p{color:var(--text-2);line-height:1.7;margin-bottom:2rem}.landing-cta{display:inline-block;background:var(--accent);color:#0e0f14;text-decoration:none;font-weight:600;padding:.9rem 2.3rem;border-radius:6px}.landing-cta:hover{opacity:.85}.related-links{display:grid;gap:.75rem}.related-links a{color:var(--text);text-decoration:none}.landing-footer{padding:1.5rem;text-align:center;border-top:1px solid var(--border);font-size:.8rem;color:var(--text-3);display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center}.landing-footer a{color:var(--text-3);text-decoration:none}.cookie-banner{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:50;max-width:760px;margin:0 auto;background:#1a1a18f5;color:#f8f7f2;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:1rem;display:flex;gap:1rem;align-items:center;justify-content:space-between}.cookie-banner[hidden]{display:none}.cookie-banner-text{font-size:.875rem;line-height:1.55;color:#f8f7f2eb}.cookie-banner-link{color:#f5c86a}.cookie-banner-actions{display:flex;gap:.75rem;flex-shrink:0}.cookie-banner-btn{border:0;border-radius:6px;padding:.7rem 1rem;font:inherit;cursor:pointer}.cookie-banner-btn--ghost{background:transparent;color:#f8f7f2;border:1px solid rgba(255,255,255,.18)}.cookie-banner-btn--primary{background:var(--accent);color:#0e0f14;font-weight:600}.sep{opacity:.4}.landing-hero{max-width:720px;margin:0 auto;padding:4rem 1.5rem;text-align:center}.landing-subtitle{margin-bottom:2.5rem}.landing-subtitle--compact{max-width:720px;margin-left:auto;margin-right:auto;text-align:center}.landing-section{padding:4rem 1.5rem}.landing-section--alt{background:var(--bg-2);max-width:100%}.landing-section--alt>*{max-width:900px;margin-left:auto;margin-right:auto}.landing-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}.landing-card-icon{font-size:1.75rem;margin-bottom:.75rem}.landing-card-title{font-size:.95rem;font-weight:600;color:var(--text);margin-bottom:.5rem}.landing-card-body{font-size:.875rem;color:var(--text-2);line-height:1.6}.landing-steps{list-style:none;display:flex;flex-direction:column;gap:2rem;max-width:620px;margin:0 auto}.landing-step,.install-step{display:flex;gap:1.25rem;align-items:flex-start}.landing-step-num,.install-step-num,.seo-tip-num{flex-shrink:0;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#0e0f14;font-weight:700;font-size:.875rem;display:flex;align-items:center;justify-content:center;margin-top:.125rem}.landing-step-title,.install-step-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:.35rem}.landing-step-body,.install-step-body{font-size:.875rem;color:var(--text-2);line-height:1.6}.landing-step-body code,.faq-answer code{font-family:monospace;background:var(--bg-3);padding:.1em .4em;border-radius:3px;font-size:.8rem}.landing-audience,.about-values{list-style:none;display:flex;flex-direction:column;gap:1rem;max-width:620px;margin:0 auto}.landing-audience li,.about-values li{font-size:.9rem;color:var(--text-2);line-height:1.6;padding-left:1.25rem;position:relative}.landing-audience li:before,.about-values li:before{content:"—";position:absolute;left:0;color:var(--accent)}.landing-audience strong{color:var(--text);font-weight:600}.landing-songs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.625rem}.landing-song-link,.landing-use-case-link,.backing-index-link{display:flex;flex-direction:column;background:var(--bg-2);border:1px solid var(--border);text-decoration:none}.landing-song-link{gap:.2rem;padding:.75rem 1rem;border-radius:.5rem;transition:border-color .12s,background .12s}.landing-song-link:hover,.landing-use-case-link:hover,.backing-index-link:hover,.seo-link-list a:hover{border-color:var(--accent-border);background:var(--accent-dim)}.landing-song-name,.landing-use-case-title,.backing-index-link strong{font-size:.875rem;font-weight:600;color:var(--text)}.landing-song-meta{font-size:.7rem;color:var(--text-3)}.landing-use-cases{display:grid;grid-template-columns:1fr;gap:.75rem;max-width:720px;margin:0 auto}.landing-browse-link{margin-top:1.25rem}.landing-use-case-link{gap:.3rem;padding:1rem 1.25rem;border-radius:8px}.landing-use-case-desc{font-size:.85rem;color:var(--text-2);line-height:1.55}.about-body{max-width:680px;padding:2rem 1.5rem 5rem}.about-body h2{font-size:1.15rem;font-weight:600;color:var(--text);margin:2.5rem 0 .75rem}.about-body p{font-size:.9375rem;color:var(--text-2);line-height:1.75}.about-body p+p{margin-top:.875rem}.about-body a,.faq-answer a,.install-step-link{color:var(--accent);text-decoration:underline}.about-divider{border:none;border-top:1px solid var(--border);margin:3rem 0}.faq-section{max-width:720px;padding:2rem 1.5rem 4rem}.faq-group{margin-bottom:2.5rem}.faq-group-title{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin-bottom:.75rem}details{border-top:1px solid var(--border)}details:last-child{border-bottom:1px solid var(--border)}summary{cursor:pointer;list-style:none;padding:1rem 0;font-size:.975rem;font-weight:600;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:1rem;user-select:none}summary::-webkit-details-marker{display:none}summary:after{content:"+";flex-shrink:0;font-size:1.25rem;font-weight:400;color:var(--text-3);line-height:1}details[open] summary:after{content:"−"}details[open] summary{color:var(--accent)}.faq-answer{padding:0 0 1.25rem;font-size:.9rem;color:var(--text-2);line-height:1.7}.faq-answer p+p{margin-top:.75rem}.pwa-tabs{max-width:720px;margin:2rem auto 0;padding:0 1.5rem;display:flex;gap:.5rem;border-bottom:2px solid var(--border)}.pwa-tab{background:none;border:none;cursor:pointer;padding:.6rem 1rem;font-family:inherit;font-size:.9rem;font-weight:500;color:var(--text-2);border-bottom:2px solid transparent;margin-bottom:-2px}.pwa-tab:hover{color:var(--text)}.pwa-tab[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent);font-weight:600}.pwa-panels{max-width:720px;padding:0 1.5rem 4rem}.pwa-panel{display:none}.pwa-panel.active{display:block}.install-steps{list-style:none;display:flex;flex-direction:column;gap:2.5rem;padding-top:2.5rem}.pwa-install-block{padding:2rem 0 1.5rem;display:flex;flex-direction:column;align-items:flex-start;gap:.75rem}.pwa-install-btn{display:inline-flex;align-items:center;gap:.6rem;background:var(--accent);color:#0e0f14;font-family:inherit;font-size:1rem;font-weight:600;padding:.85rem 2rem;border:none;border-radius:6px;cursor:pointer}.pwa-install-btn:disabled{background:var(--bg-3);color:var(--text-2);cursor:default}.pwa-install-hint,.pwa-installed-note{font-size:.85rem;color:var(--text-3)}.pwa-install-block[hidden],.pwa-installed-note[hidden]{display:none}.pwa-benefits{background:var(--bg-2);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:2.5rem 1.5rem;margin:2rem 0 0}.pwa-benefits-inner{max-width:720px;margin:0 auto}.pwa-benefits-title{font-size:1rem;font-weight:600;color:var(--text);margin-bottom:1.25rem}.pwa-benefits-grid{display:grid;grid-template-columns:1fr;gap:1rem}.pwa-benefit{display:flex;gap:.75rem;align-items:flex-start}.pwa-benefit-icon{font-size:1.3rem;flex-shrink:0}.pwa-benefit-text{font-size:.875rem;color:var(--text-2);line-height:1.55}.pwa-benefit-text strong{color:var(--text);display:block;margin-bottom:.15rem}.backing-index-groups{display:grid;gap:1.5rem}.backing-index-group h3{margin-bottom:.85rem}.backing-index-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.backing-index-link{gap:.5rem;padding:1rem 1.05rem;border-radius:.95rem;color:var(--text-2);min-height:8.5rem;justify-content:space-between}.backing-index-title{font-size:.98rem;line-height:1.35;letter-spacing:-.01em}.backing-index-subtitle{font-size:.82rem;line-height:1.5;color:var(--text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.backing-index-meta{font-size:.74rem;line-height:1.4;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}.article-shell{max-width:760px;margin:0 auto;padding:0 1.5rem 4rem}.article-hero{max-width:820px}.article-subtitle{max-width:720px;margin-inline:auto}.article-card{display:grid;gap:.85rem}.article-card-title{font-size:1.35rem;line-height:1.2}.article-card-title a{text-decoration:none;color:var(--text)}.article-card-title a:hover,.article-card-link:hover{color:var(--accent)}.article-card-excerpt{color:var(--text-2);line-height:1.7}.article-card-link{color:var(--text);font-weight:600;text-decoration:none}.article-meta{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;font-size:.8rem;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3)}.article-meta--hero{justify-content:center;margin-top:1.25rem}.article-prose{padding:2rem}.article-prose h2{font-size:1.35rem;line-height:1.2;margin:2rem 0 .9rem}.article-prose p,.article-prose li{font-size:1rem;line-height:1.85;color:var(--text-2)}.article-prose p+p{margin-top:1rem}.article-prose ul,.article-prose ol{margin:1rem 0;padding-left:1.35rem;display:grid;gap:.65rem}.article-prose strong{color:var(--text)}.article-prose em{font-style:italic}.article-prose a{color:var(--accent);text-decoration:underline}.article-prose>:first-child{margin-top:0}.seo-hero{max-width:840px}.seo-badges{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin-top:1.25rem}.seo-badge{display:inline-block;padding:.3rem .8rem;background:var(--bg-3);border:1px solid var(--border);border-radius:999px;font-size:.8rem;font-weight:600;color:var(--text-2)}.seo-badge--beginner{background:#22c55e1a;border-color:#22c55e59;color:#166534}.seo-badge--intermediate{background:#eab3081a;border-color:#eab30859;color:#854d0e}.seo-badge--advanced{background:#ef44441a;border-color:#ef444459;color:#991b1b}.seo-hero .landing-cta{margin:0 auto;display:block;width:fit-content}.seo-chords-card h2{margin-bottom:1rem}.seo-chord-row{display:flex;flex-wrap:wrap;gap:.625rem}.seo-chord-chip{display:flex;flex-direction:column;align-items:center;padding:.75rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:8px;min-width:72px;gap:.3rem}.seo-chord-name{font-size:1.1rem;font-weight:700;color:var(--text)}.seo-chord-roman{font-size:.7rem;font-weight:500;color:var(--accent);letter-spacing:.04em}.seo-video-frame{position:relative;width:100%;aspect-ratio:16 / 9;border-radius:10px;overflow:hidden;border:1px solid var(--border);background:#000}.seo-video-frame iframe{width:100%;height:100%;border:0}.seo-tips-list{list-style:none;padding:0;display:grid;gap:.875rem}.seo-tip{display:grid;grid-template-columns:1.75rem 1fr;gap:.75rem;align-items:start}.seo-tip-num{width:1.75rem;height:1.75rem;font-size:.75rem;margin-top:.1rem}.seo-tip-text{font-size:.9375rem;color:var(--text-2);line-height:1.7}.seo-related-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.seo-related-grid h3{font-size:.875rem;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.75rem}.seo-link-list{list-style:none;padding:0;display:grid;gap:.5rem}.seo-link-list a{display:block;padding:.65rem .9rem;border-radius:.625rem;background:var(--bg);border:1px solid var(--border);text-decoration:none;font-size:.875rem;color:var(--text-2)}.seo-empty{color:var(--text-3);font-size:.875rem}.cta-list{list-style:none;padding-left:0}.cta-list li{padding:.8rem 0;border-top:1px solid var(--border)}.cta-list li:first-child{border-top:none;padding-top:0}.not-found-hero{padding-bottom:5rem}.not-found-code{font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:1rem}@media(min-width:540px){.pwa-benefits-grid{grid-template-columns:1fr 1fr}}@media(min-width:640px){.landing-use-cases{grid-template-columns:repeat(3,1fr)}.landing-grid{grid-template-columns:repeat(2,1fr)}}@media(min-width:720px){.pwa-benefits-grid{grid-template-columns:repeat(3,1fr)}}@media(min-width:900px){.landing-grid{grid-template-columns:repeat(4,1fr)}}@media(max-width:760px){.landing-nav{flex-wrap:wrap}.landing-nav-links{width:100%}.cookie-banner{flex-direction:column;align-items:flex-start}}@media(max-width:560px){.seo-related-grid{grid-template-columns:1fr}}
