:root{--bg: #faf8f4;--bg-alt: #f2ede3;--bg-section: #eee8dc;--text: #2d2416;--text-muted: #6b5f4e;--accent: #5c7a60;--accent-dark: #3e5741;--border: #ddd5c6;--chord-color: #4a6b4e;--font-serif: 'Lora', Georgia, 'Times New Roman', serif;--font-sans: 'Source Sans 3', system-ui, -apple-system, sans-serif;--max-width: 820px}*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{font-size:17px}body{background-color:var(--bg);background-image:url("/assets/images/paper-texture.webp");background-size:cover;background-position:center top;background-attachment:fixed;background-repeat:no-repeat;color:var(--text);font-family:var(--font-sans);line-height:1.7;min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;line-height:1.3}a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}a:hover{color:var(--accent)}img{max-width:100%;display:block}.container{max-width:var(--max-width);margin:0 auto;padding:0 1.5rem}.page-content{flex:1;padding:2.5rem 0 4rem}.site-header{border-bottom:1px solid var(--border);padding:1.1rem 0;background:var(--bg)}.site-header .container{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.site-title{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--text);text-decoration:none;letter-spacing:-0.01em}.site-title:hover{color:var(--accent-dark)}.site-nav{display:flex;gap:1.5rem}.site-nav a{font-size:0.95rem;color:var(--text-muted);text-decoration:none;letter-spacing:0.01em}.site-nav a:hover,.site-nav a.active{color:var(--text)}.nav-socials{display:flex;align-items:center;gap:0.75rem;margin-left:0.5rem;padding-left:0.75rem;border-left:1px solid var(--border)}.nav-socials a{font-size:1rem;line-height:1}.site-footer{border-top:1px solid var(--border);padding:2rem 0;margin-top:auto;background:var(--bg-alt)}.site-footer p{font-size:0.875rem;color:var(--text-muted);line-height:1.6;margin-bottom:0.4rem}.footer-links a{color:var(--text-muted);font-size:0.875rem}.home-intro{padding:3.5rem 0 2rem;border-bottom:1px solid var(--border);margin-bottom:2.5rem}.home-intro-layout{display:flex;gap:2.5rem;align-items:flex-start;margin-bottom:0}.home-intro-text{flex:1;min-width:0}.home-intro-image{flex:0 0 260px}.home-intro-image img{width:100%;border-radius:4px;display:block}@media (max-width: 640px){.home-intro-layout{flex-direction:column-reverse}.home-intro-image{flex:none;width:100%}}.home-intro h1{font-size:2.2rem;margin-bottom:1rem;letter-spacing:-0.02em}.home-intro .tagline{font-size:1.1rem;color:var(--text-muted);max-width:560px;margin-bottom:1.5rem}.home-intro .intro-body{max-width:620px}.home-intro .intro-body p{margin-bottom:0.9rem}.home-cta{margin-top:2rem;display:flex;gap:1rem;flex-wrap:wrap}.home-mp3s{margin-top:1.5rem}.home-mp3s-label{font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.08em;color:var(--text-muted);margin-bottom:0.6rem}.home-mp3s-links{display:flex;gap:0.75rem;flex-wrap:wrap}.home-social{margin-top:1.25rem;display:flex;gap:1.25rem;flex-wrap:wrap}.home-social a{font-size:0.875rem;color:var(--text-muted);text-decoration:none}.home-social a:hover{color:var(--text)}.btn{display:inline-block;padding:0.5rem 1.1rem;background:var(--accent);color:#fff;text-decoration:none;border-radius:3px;font-size:0.9rem;font-family:var(--font-sans);transition:background 0.15s}.btn:hover{background:var(--accent-dark);color:#fff}.btn-outline{background:transparent;color:var(--accent-dark);border:1px solid var(--accent)}.btn-outline:hover{background:var(--accent);color:#fff}.catalog-header{margin-bottom:2rem}.catalog-header h1{font-size:1.9rem;margin-bottom:0.5rem}.browse-toggle{display:flex;gap:0.5rem;margin-bottom:2rem}.toggle-btn{padding:0.35rem 0.9rem;border:1px solid var(--border);background:var(--bg);color:var(--text-muted);cursor:pointer;font-family:var(--font-sans);font-size:0.875rem;border-radius:3px;transition:all 0.15s}.toggle-btn.active{background:var(--text);color:var(--bg);border-color:var(--text)}.toggle-btn:hover:not(.active){border-color:var(--text-muted);color:var(--text)}.view{display:none}.view.active{display:block}.batch-group{margin-bottom:2.5rem}.batch-heading{font-size:1rem;font-family:var(--font-sans);font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:0.08em;font-size:0.8rem;margin-bottom:0.6rem;padding-bottom:0.4rem;border-bottom:1px solid var(--border)}.song-list{list-style:none}.song-list li{border-bottom:1px solid var(--border)}.song-list li:last-child{border-bottom:none}.song-list a{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:0.55rem 0.25rem;text-decoration:none;color:var(--text);font-size:1rem;transition:color 0.1s}.song-list a:hover{color:var(--accent-dark)}.song-list .song-key{font-size:0.8rem;color:var(--text-muted);flex-shrink:0}.alpha-list{columns:2;column-gap:2rem;list-style:none}@media (max-width: 560px){.alpha-list{columns:1}}.alpha-list li{break-inside:avoid}.alpha-list a{display:block;padding:0.35rem 0;text-decoration:none;color:var(--text);font-size:0.95rem;border-bottom:1px solid var(--border)}.alpha-list a:hover{color:var(--accent-dark)}.song-header{margin-bottom:2rem;padding-bottom:1.25rem;border-bottom:1px solid var(--border)}.song-header h1{font-size:2rem;letter-spacing:-0.02em;margin-bottom:0.4rem}.song-meta{font-size:0.875rem;color:var(--text-muted)}.song-meta a{color:var(--text-muted)}.song-body section{margin-bottom:3rem}.song-body h2{font-size:1.15rem;text-transform:uppercase;letter-spacing:0.06em;font-family:var(--font-sans);font-weight:600;color:var(--text-muted);font-size:0.8rem;margin-bottom:1rem;padding-bottom:0.4rem;border-bottom:1px solid var(--border)}.story-text{font-family:var(--font-serif);font-size:1.05rem;line-height:1.8;max-width:640px;margin-bottom:1.5rem}.story-text p{margin-bottom:0.9rem}.placeholder{color:var(--text-muted);font-style:italic}.youtube-wrap{position:relative;padding-bottom:56.25%;height:0;overflow:hidden;border-radius:3px;background:var(--bg-section);margin-top:1.25rem}.youtube-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}.section-intro{font-size:0.9rem;color:var(--text-muted);margin-bottom:1.25rem}.downloads{display:flex;gap:0.75rem;flex-wrap:wrap;margin-bottom:2rem}.chordpro-display{background:var(--bg-alt);border:1px solid var(--border);border-radius:4px;padding:1.5rem 1.75rem;overflow-x:auto}.loading{color:var(--text-muted);font-style:italic;font-size:0.9rem}.verse{margin-bottom:1.25rem}.chorus{border-left:3px solid var(--accent);padding-left:1rem;margin:0.25rem 0 1.25rem}.chorus .verse{margin-bottom:0.9rem}.cp-title{font-family:var(--font-serif);font-size:1.1rem;font-weight:600;margin-bottom:1rem}.cp-byline{font-family:var(--font-sans);font-size:0.85rem;color:var(--text-muted);margin-top:-0.6rem;margin-bottom:1.25rem}.cp-comment{font-family:var(--font-sans);font-size:0.8rem;font-style:italic;color:var(--text-muted);margin:1.25rem 0 0.35rem}.cp-chorus-ref{font-style:normal;font-weight:600;text-transform:uppercase;letter-spacing:0.05em}.section-label{font-family:var(--font-sans);font-size:0.8rem;font-weight:600;text-transform:uppercase;letter-spacing:0.07em;color:var(--text-muted);margin:1.5rem 0 0.5rem}.chord-line{display:flex;flex-wrap:wrap;align-items:flex-end;line-height:1;margin-bottom:0.15rem;column-gap:0.35rem}.chord-pair{display:inline-flex;flex-direction:column;white-space:pre}.chord{color:var(--chord-color);font-family:'Courier New', Courier, monospace;font-weight:bold;font-size:0.82rem;line-height:1.6;min-width:max-content}.lyric{font-family:'Courier New', Courier, monospace;font-size:0.95rem;line-height:1.5;white-space:pre}.plain-line{font-family:'Courier New', Courier, monospace;font-size:0.95rem;line-height:1.8;color:var(--text-muted)}.inline-line{display:none;font-family:'Courier New', Courier, monospace;font-size:0.95rem;line-height:1.8}.chord-inline{color:var(--chord-color);font-family:'Courier New', Courier, monospace;font-weight:bold;font-size:0.82rem}.covers-grid{display:grid;grid-template-columns:repeat(auto-fill, minmax(280px, 1fr));gap:1.5rem}.cover-label{font-size:0.875rem;color:var(--text-muted);margin-top:0.4rem}.song-nav{display:flex;justify-content:space-between;padding-top:2rem;margin-top:1rem;border-top:1px solid var(--border);font-size:0.9rem}.song-nav a{color:var(--text-muted);text-decoration:none;max-width:45%}.song-nav a:hover{color:var(--text)}.song-nav-next{text-align:right}.cover-song-section{margin-bottom:3rem}.bandlab-wrap{width:100%;margin-bottom:0.5rem}.cover-song-section h2{font-size:1.2rem;margin-bottom:1rem;border-bottom:1px solid var(--border);padding-bottom:0.4rem}.cover-entry{margin-bottom:1.5rem}.cover-artist{margin-top:0.5rem;font-size:0.95rem;color:var(--text-muted)}.covers-empty{color:var(--text-muted);font-style:italic;margin-top:2rem}.about-body{max-width:700px}.about-photo-wrap{float:right;margin:0 0 1.5rem 2rem;width:260px}.about-photo{width:100%;border-radius:6px;display:block}@media (max-width: 600px){.about-photo-wrap{float:none;margin:0 auto 1.5rem;width:100%;max-width:320px;display:block}}.about-body h1{font-size:1.9rem;margin-bottom:1.5rem}.about-body p{margin-bottom:1rem;font-size:1.05rem;line-height:1.8}.about-body h2{font-size:1.2rem;margin:2rem 0 0.75rem}@media (max-width: 600px){html{font-size:16px}.site-header .container{flex-direction:column;gap:0.5rem}.home-intro h1{font-size:1.7rem}.song-header h1{font-size:1.6rem}.chordpro-display{padding:1rem}}.print-btn{display:inline-block;margin-bottom:1.25rem;padding:0.35rem 0.85rem;border:1px solid var(--border);border-radius:3px;background:var(--bg);color:var(--text-muted);font-family:var(--font-sans);font-size:0.85rem;cursor:pointer;transition:border-color 0.15s, color 0.15s}.print-btn:hover{border-color:var(--text-muted);color:var(--text)}@media print{.site-header,.site-footer,.song-nav,.song-story,.covers-section,.section-intro,.downloads,.print-btn,.for-musicians>h2{display:none !important}.chordpro-display{border:none;padding:0;background:none;overflow:visible}body{background:#fff;color:#000}.page-content{padding:0}.container{padding:0;max-width:100%}.chord-line{display:none !important}.inline-line{display:block !important}.chord-inline{color:#000;font-weight:bold}.cp-title{font-size:1.1rem}.cp-byline{color:#555}.cp-comment{color:#555}.section-label{color:#555}.chorus{border-left-color:#999}.verse{break-inside:avoid}.chorus{break-inside:avoid}}
