:root{--raspberry: #AA3353;--raspberry-dark: #8a2741;--amber: rgba(238, 143, 31, .25);--link: #1EAEDB;--text: #222;--muted: #999;--border: #ddd;--border-dark: #aaa}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:Raleway,HelveticaNeue,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:15px;line-height:1.6;color:var(--text);background:url(/full-bloom.png)}a{color:var(--link);text-decoration:none}a:hover{text-decoration:underline}#root{display:flex;flex-direction:column;min-height:100vh}.masthead{background:var(--amber);padding:.75rem 1.5rem 2.5rem;text-align:center}.masthead-nav{text-align:right;margin-bottom:.25rem}.masthead-nav a{background:var(--raspberry);color:#fff;padding:.4rem 1rem;border-radius:3px;text-decoration:none;font-size:.85rem;font-weight:600;letter-spacing:.05em}.masthead-nav a:hover{background:var(--raspberry-dark);text-decoration:none}.masthead-title{font-size:3.5rem;font-weight:700;margin:0 0 .25rem;line-height:1.1}.masthead-title a{color:#111;text-decoration:none}.masthead-title a:hover{text-decoration:none}.masthead-search-label{display:block;text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.18em;margin-bottom:.75rem;color:var(--text)}.masthead-search-form{display:flex;justify-content:center;max-width:440px;margin:0 auto}.masthead-search-form input{flex:1;padding:.5rem 1rem;border:1px solid var(--border-dark);border-right:none;border-radius:4px 0 0 4px;font-family:inherit;font-size:1rem;outline:none}.masthead-search-form input:focus{border-color:#888}.masthead-search-form button{background:var(--raspberry);color:#fff;border:1px solid var(--raspberry);border-radius:0 4px 4px 0;padding:.5rem 1.25rem;font-family:inherit;font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;white-space:nowrap}.masthead-search-form button:hover{background:var(--raspberry-dark);border-color:var(--raspberry-dark)}main{flex:1;background:#fffffff7}.song-page,.page-section,.home-content{max-width:800px;margin:0 auto;padding:2rem 2rem 3rem}.home-intro{margin-bottom:2rem;font-size:1rem;line-height:1.7;color:var(--text)}.back-link{display:inline-block;color:var(--muted);font-size:.875rem;text-decoration:none;margin-bottom:1.5rem}.back-link:hover{color:var(--text);text-decoration:none}.daily-section{margin-bottom:2.5rem}.daily-label{font-size:1.25rem;font-weight:400;color:var(--text);margin:0 0 .5rem}.daily-title-link{display:block;font-size:1.5rem;font-weight:700;color:var(--link);text-decoration:none;margin-bottom:1rem}.daily-title-link:hover{text-decoration:underline}.daily-verse{color:var(--text);line-height:1.8;margin:0 0 1.5rem}.daily-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-bottom:0}.skeleton{background:#00000012;border-radius:4px;animation:pulse 1.4s ease-in-out infinite}.skeleton--title{height:1.8rem;width:55%;margin:.4rem 0 1rem}.skeleton--text{height:.9rem;width:80%;margin-bottom:.5rem}.skeleton--text.short{width:55%}.skeleton--back{height:.9rem;width:100px;margin-bottom:1.5rem}@keyframes pulse{0%,to{opacity:.5}50%{opacity:.9}}.tag-cloud-section{border-top:1px solid #eee;padding-top:2rem}.section-title{font-size:.72rem;font-weight:700;letter-spacing:.15em;text-transform:uppercase;color:var(--muted);margin:0 0 1rem}.tag-cloud{display:flex;flex-wrap:wrap;gap:.4rem}.tag-chip{display:inline-block;padding:.25rem .65rem;border:1px solid #eee;border-radius:3px;background:#fff;color:var(--text);text-decoration:none;font-size:.8rem;transition:border-color .15s;white-space:nowrap}.tag-chip:hover{border-color:var(--border-dark);text-decoration:none;color:var(--text)}.site-footer{background:#d5d5d540;border-top:1px solid #e8e8e8;text-align:center;padding:1.5rem 1rem;font-size:.85rem;color:var(--muted)}.site-footer p{margin:.2rem 0}.site-footer a{color:var(--muted)}.site-footer a:hover{color:var(--text);text-decoration:underline}.footer-skral{font-style:italic}.song-header{margin-bottom:1.75rem}.song-header-top{display:flex;align-items:flex-start;gap:.75rem}.song-title{flex:1;font-size:1.8rem;font-weight:700;color:var(--text);margin:0 0 .3rem;line-height:1.2}.song-melody,.song-author{font-size:.875rem;color:var(--muted);margin:.2rem 0;font-style:italic}.fav-btn{font-size:1.5rem;background:none;border:none;cursor:pointer;color:var(--muted);padding:0;line-height:1;transition:color .15s;flex-shrink:0;margin-top:.1rem}.fav-btn:hover,.fav-btn--active{color:#c0392b}.song-verses{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:2rem}.song-verse{margin:0;padding:0;font-style:italic;line-height:1.9;font-size:.95rem;border:none;background:none}.song-history{margin-bottom:2rem;color:var(--text);line-height:1.7;font-style:italic}.song-history p{margin:0}.song-tags-section{margin-bottom:2rem}.song-list{border-top:1px solid #eee}.song-item{padding:1rem 0;border-bottom:1px solid #eee}.song-item-title{display:block;font-size:1.05rem;font-weight:600;color:var(--link);text-decoration:none;margin-bottom:.2rem}.song-item-title:hover{text-decoration:underline}.song-item-meta{font-size:.82rem;color:var(--muted);margin:0 0 .25rem;font-style:italic}.song-item-preview{font-size:.875rem;color:var(--text);margin:0;font-style:italic}.song-item-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.5rem}.page-heading{font-size:1.8rem;font-weight:700;color:var(--text);margin:0 0 1rem}.tag-description{color:var(--text);line-height:1.7;margin:0 0 1.5rem}.result-count{color:var(--muted);font-size:.875rem;margin:0 0 1rem}.loading-text,.empty-state{color:var(--muted)}.favorites-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.75rem;margin-bottom:1.5rem}.favorites-header .page-heading{margin-bottom:0}.fav-song-list{border-top:1px solid #eee}.fav-song-item{padding:1rem 0;border-bottom:1px solid #eee}.fav-song-row{display:flex;align-items:baseline;gap:.5rem}.fav-remove-btn{flex-shrink:0;background:none;border:none;cursor:pointer;font-size:1.2rem;color:var(--muted);padding:0;transition:color .15s;line-height:1}.fav-remove-btn:hover{color:#c0392b}.clear-confirm-label{font-size:.875rem;color:var(--text);align-self:center}.print-btn{padding:.35rem .9rem;border:1px solid var(--border-dark);border-radius:3px;background:var(--raspberry);border-color:var(--raspberry);color:#fff;font-family:inherit;font-size:.75rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:background .15s;flex-shrink:0}.print-btn:hover{background:var(--raspberry-dark);border-color:var(--raspberry-dark)}.print-btn--cancel{background:#fff;border-color:var(--border-dark);color:var(--text)}.print-btn--cancel:hover{background:#f5f5f5}.print-btn--danger{background:#c0392b;border-color:#c0392b}.print-btn--danger:hover{background:#a93226}.print-setup-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem;max-width:480px}.print-setup-field{display:flex;flex-direction:column;gap:.3rem}.print-setup-field label{font-size:.72rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.08em}.print-setup-field input,.print-setup-field textarea{padding:.4rem .65rem;border:1px solid var(--border);border-radius:3px;font-size:.9rem;font-family:inherit;color:var(--text);resize:vertical}.print-setup-field input:focus,.print-setup-field textarea:focus{outline:none;border-color:var(--border-dark)}.verse-selector{margin-top:.6rem;display:flex;flex-direction:column;gap:.3rem}.verse-check{display:flex;align-items:baseline;gap:.5rem;cursor:pointer;font-size:.85rem;color:var(--muted);padding:.25rem .5rem;border-radius:3px;-webkit-user-select:none;user-select:none;transition:background .1s}.verse-check:hover{background:#00000008}.verse-check input[type=checkbox]{flex-shrink:0;accent-color:var(--raspberry);width:14px;height:14px;cursor:pointer}.verse-check--locked input[type=checkbox]{cursor:default}.verse-check--on .verse-check-label{color:var(--text)}.verse-check-label{font-style:italic;line-height:1.7}.pagination{display:flex;align-items:center;gap:1rem;margin-top:2rem;justify-content:center;font-size:.875rem;color:var(--muted)}.pagination button{padding:.35rem .9rem;border:1px solid var(--border-dark);border-radius:3px;background:#fff;color:var(--text);font-size:.72rem;font-family:inherit;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:border-color .15s}.pagination button:hover:not(:disabled){border-color:#888}.pagination button:disabled{opacity:.35;cursor:default}.print-view{display:none}@media print{.no-print,.masthead,.site-footer{display:none!important}body{background:#fff;font-family:Georgia,Times New Roman,serif;font-size:11pt;line-height:1.5}main{background:#fff}.song-page,.page-section,.home-content{padding:0;max-width:none}.print-view{display:block;padding:1cm 2cm}.print-view-title{font-size:18pt;font-weight:700;text-align:center;margin:0 0 .3cm;letter-spacing:.05em}.print-view-description{text-align:center;font-size:10pt;color:#555;margin:0 0 1.2cm;font-style:italic}.print-song{margin-bottom:1.2cm;break-inside:avoid}.print-song-title{font-size:13pt;font-weight:700;margin:0 0 .15cm;border-bottom:.5pt solid #aaa;padding-bottom:.1cm}.print-song-meta{font-size:9pt;color:#555;margin:.1cm 0;font-style:italic}.print-song-verses{margin-top:.3cm;display:flex;flex-direction:column;gap:.3cm}.print-verse{margin:0;font-style:italic;line-height:1.7;padding-left:.5cm;border-left:1.5pt solid #bbb}}@media(max-width:600px){.masthead-title{font-size:2.2rem}.masthead{padding:.75rem 1rem 2rem}.song-page,.page-section,.home-content{padding:1.5rem 1rem 2rem}}
