.backdrop.svelte-pjc6jk{z-index:1000;background:#0000008c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-card.svelte-pjc6jk{background:var(--surface);color:var(--text-primary);border-radius:var(--radius-md);border:1px solid var(--border);width:100%;max-width:580px;max-height:90vh;box-shadow:var(--shadow-lg);padding:24px;overflow-y:auto}.header.svelte-pjc6jk{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.title-wrap.svelte-pjc6jk{color:var(--brand-primary);align-items:center;gap:8px;display:flex}.title-wrap.svelte-pjc6jk h2:where(.svelte-pjc6jk){font-size:1.25rem;font-weight:700}.close-btn.svelte-pjc6jk{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;font-size:1.25rem}.info-text.svelte-pjc6jk{color:var(--text-secondary);margin-bottom:16px;font-size:.85rem;line-height:1.4}.howto.svelte-pjc6jk a:where(.svelte-pjc6jk){color:var(--brand-primary);font-weight:600}.input-row.svelte-pjc6jk{gap:8px;margin-bottom:8px;display:flex}input[type=text].svelte-pjc6jk{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);color:var(--text-primary);flex:1;padding:10px 12px;font-size:.9rem}input[type=text].svelte-pjc6jk:focus,textarea.svelte-pjc6jk:focus{outline:2px solid var(--brand-primary)}.sr-only-input.svelte-pjc6jk{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.local-actions-row.svelte-pjc6jk{flex-wrap:wrap;gap:8px;margin-bottom:8px;display:flex}.btn-secondary-small.svelte-pjc6jk{background:var(--bg-primary);color:var(--brand-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;padding:6px 12px;font-size:.8rem;font-weight:600}.btn-secondary-small.svelte-pjc6jk:hover,.btn-secondary-small.active.svelte-pjc6jk{border-color:var(--brand-primary);background:#c084fc1f}.json-paste-box.svelte-pjc6jk{flex-direction:column;gap:8px;margin-bottom:10px;display:flex}.json-paste-box.svelte-pjc6jk textarea:where(.svelte-pjc6jk){border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--bg-primary);width:100%;color:var(--text-primary);resize:vertical;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem}.json-paste-actions.svelte-pjc6jk{justify-content:flex-end;display:flex}.btn-primary.svelte-pjc6jk{background:var(--brand-primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;padding:10px 18px;font-size:.9rem;font-weight:600}.btn-primary.svelte-pjc6jk:disabled{opacity:.5;cursor:not-allowed}.error-text.svelte-pjc6jk{color:var(--brand-secondary);margin-bottom:12px;font-size:.8rem}.list-header.svelte-pjc6jk{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;margin-top:20px;margin-bottom:10px;padding-bottom:6px;display:flex}.section-title.svelte-pjc6jk{font-size:.85rem;font-weight:600}.refresh-all-btn.svelte-pjc6jk{color:var(--brand-primary);cursor:pointer;background:0 0;border:none;font-size:.8rem;font-weight:600}.feeds-list.svelte-pjc6jk{flex-direction:column;gap:10px;max-height:280px;display:flex;overflow-y:auto}.empty-state.svelte-pjc6jk{text-align:center;color:var(--text-secondary);padding:24px 0;font-size:.9rem}.feed-item.svelte-pjc6jk{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.feed-info.svelte-pjc6jk{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.feed-name-row.svelte-pjc6jk{align-items:center;gap:6px;display:flex}.feed-name.svelte-pjc6jk{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;overflow:hidden}.feed-badge.svelte-pjc6jk{color:var(--brand-primary);border-radius:var(--radius-full);background:#c084fc26;padding:2px 6px;font-size:.7rem;font-weight:600}.feed-url.svelte-pjc6jk{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.feed-meta.svelte-pjc6jk{color:var(--text-secondary);font-size:.7rem}.feed-error.svelte-pjc6jk{color:var(--brand-secondary);font-size:.75rem}.feed-actions.svelte-pjc6jk{align-items:center;gap:8px;display:flex}.action-icon-btn.svelte-pjc6jk{cursor:pointer;color:var(--brand-primary);background:0 0;border:none;padding:4px;font-size:1.1rem}.delete-btn.svelte-pjc6jk{color:var(--brand-secondary)}.toggle-wrap.svelte-pjc6jk{width:36px;height:20px;display:inline-block;position:relative}.toggle-wrap.svelte-pjc6jk input:where(.svelte-pjc6jk){opacity:0;width:0;height:0}.slider.svelte-pjc6jk{cursor:pointer;background-color:var(--border);border-radius:20px;transition:all .2s;position:absolute;inset:0}.slider.svelte-pjc6jk:before{content:"";background-color:#fff;border-radius:50%;width:14px;height:14px;transition:all .2s;position:absolute;bottom:3px;left:3px}input.svelte-pjc6jk:checked+.slider:where(.svelte-pjc6jk){background-color:var(--brand-primary)}input.svelte-pjc6jk:checked+.slider:where(.svelte-pjc6jk):before{transform:translate(16px)}.btn-done.svelte-pjc6jk{background:var(--bg-primary);width:100%;color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;margin-top:20px;padding:12px;font-size:.95rem;font-weight:600}.legal-footer.svelte-7bq3y{color:var(--text-secondary);justify-content:center;gap:8px;padding:24px 0;font-size:14px;display:flex}.legal-footer.svelte-7bq3y a:where(.svelte-7bq3y){color:var(--brand-primary);text-decoration:none}.songs-page.svelte-7bq3y{background-color:var(--bg-primary);flex-direction:column;min-height:100vh;display:flex}.inner.svelte-7bq3y{width:100%;max-width:760px;padding:0 var(--spacing-md);margin:0 auto}.header.svelte-7bq3y{background-color:var(--surface);border-bottom:1px solid var(--border);z-index:50;padding:var(--spacing-sm) 0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0}.header-inner.svelte-7bq3y{gap:var(--spacing-sm);flex-direction:column;display:flex}.top-nav.svelte-7bq3y{justify-content:space-between;align-items:center;min-height:40px;display:flex}.brand-link.svelte-7bq3y{align-items:center;gap:8px;text-decoration:none;display:inline-flex}.brand-icon.svelte-7bq3y{border-radius:8px}.brand-name.svelte-7bq3y{color:var(--brand-primary);letter-spacing:-.01em;font-size:1.25rem;font-weight:800}.back-link.svelte-7bq3y{min-height:40px;color:var(--brand-primary);align-items:center;gap:2px;font-weight:600;text-decoration:none;display:inline-flex}.feed-nav-btn.svelte-7bq3y{color:var(--brand-primary);border:1px solid var(--border);border-radius:var(--radius-full);cursor:pointer;background:#c084fc1f;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:600;transition:background .15s;display:inline-flex}.feed-nav-btn.svelte-7bq3y:hover{background:#c084fc38}.feed-count-pill.svelte-7bq3y{background:var(--brand-primary);color:var(--surface);border-radius:9999px;padding:1px 6px;font-size:.7rem}.book-heading.svelte-7bq3y{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.book-title.svelte-7bq3y{color:var(--text-primary);font-size:1.6rem;font-weight:800;line-height:1.2}.book-count.svelte-7bq3y{color:var(--text-secondary);font-size:.875rem}.count-badge.svelte-7bq3y{color:var(--text-secondary);white-space:nowrap;margin-left:auto;font-size:.8125rem;font-weight:600}.input-wrapper.svelte-7bq3y{align-items:center;display:flex;position:relative}.search-icon.svelte-7bq3y{color:var(--text-secondary);pointer-events:none;position:absolute;left:12px}input[type=search].svelte-7bq3y{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--bg-primary);width:100%;height:42px;color:var(--text-primary);padding:0 36px 0 38px;font-family:inherit;font-size:1rem;transition:border-color .15s,box-shadow .15s}input[type=search].svelte-7bq3y:focus{border-color:var(--brand-primary);outline:none;box-shadow:0 0 0 3px #312e8126}.clear-btn.svelte-7bq3y{color:var(--text-secondary);border-radius:var(--radius-full);justify-content:center;align-items:center;padding:4px;display:flex;position:absolute;right:10px}.clear-btn.svelte-7bq3y:hover{color:var(--text-primary)}.filter-row.svelte-7bq3y{align-items:center;gap:8px;min-width:0;display:flex}.category-btn.svelte-7bq3y{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-primary);max-width:75%;min-height:40px;color:var(--text-primary);align-items:center;gap:8px;padding:0 14px;font-size:.9375rem;font-weight:500;display:inline-flex}.category-btn-label.svelte-7bq3y{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.category-btn.active.svelte-7bq3y{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--surface);font-weight:600}.clear-filter.svelte-7bq3y{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--bg-primary);width:40px;height:40px;color:var(--text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.songs-main.svelte-7bq3y{padding-top:var(--spacing-md);padding-bottom:var(--spacing-xxl);flex:1}.section-label.svelte-7bq3y{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 4px var(--spacing-sm);font-size:.75rem;font-weight:700}.shelf-section.svelte-7bq3y{margin-top:var(--spacing-lg);gap:var(--spacing-sm);flex-direction:column;display:flex}.shelf-section.svelte-7bq3y .section-label:where(.svelte-7bq3y){margin-bottom:0}.tiles.svelte-7bq3y{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.tile.svelte-7bq3y{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);flex-direction:column;gap:6px;min-width:0;padding:14px;text-decoration:none;transition:border-color .15s;display:flex}.tile.svelte-7bq3y:hover,.book-row.svelte-7bq3y:hover,.season-row.svelte-7bq3y:hover{border-color:var(--brand-primary)}.tile-icon.svelte-7bq3y{color:var(--brand-primary);height:22px;font-size:1.3rem;line-height:22px}.tile-icon-fav.svelte-7bq3y{color:var(--brand-secondary)}.tile-title.svelte-7bq3y{font-weight:700}.tile-sub.svelte-7bq3y{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.season-hero.svelte-7bq3y{border-radius:var(--radius-lg);background:var(--color-indigo);color:#fff;flex-direction:column;gap:8px;padding:18px;text-decoration:none;display:flex}.season-hero.svelte-7bq3y:hover{background:var(--color-dark-blue)}.season-hero-head.svelte-7bq3y{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.season-hero-title.svelte-7bq3y{font-size:1.35rem;font-weight:800}.season-hero-count.svelte-7bq3y{color:#dcdaf5;white-space:nowrap;font-size:.85rem}.season-hero-preview.svelte-7bq3y{color:#e6e4fa;font-size:.9rem;line-height:1.45}.book-list.svelte-7bq3y{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.book-row.svelte-7bq3y,.season-row.svelte-7bq3y{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);min-height:60px;color:var(--text-primary);align-items:center;gap:14px;padding:10px 14px;text-decoration:none;transition:border-color .15s;display:flex}.book-spine.svelte-7bq3y{color:#fff;border-radius:4px 8px 8px 4px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:46px;display:flex}.spine-indigo.svelte-7bq3y{background:var(--color-indigo)}.spine-coral.svelte-7bq3y{background:#be185d}.spine-grey.svelte-7bq3y{background:#666}.book-text.svelte-7bq3y{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.book-name.svelte-7bq3y{font-size:1.0625rem;font-weight:700}.book-sub.svelte-7bq3y{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;overflow:hidden}.season-row-count.svelte-7bq3y{color:var(--text-secondary);font-size:.85rem}.row-chevron.svelte-7bq3y{color:var(--text-secondary);flex-shrink:0}.add-book.svelte-7bq3y{border:1.5px dashed var(--border);border-radius:var(--radius-md);min-height:48px;color:var(--brand-primary);justify-content:center;align-items:center;gap:8px;font-size:.9375rem;font-weight:600;display:flex}.add-book.svelte-7bq3y:hover{border-color:var(--brand-primary)}.song-list.svelte-7bq3y{gap:var(--spacing-sm);flex-direction:column;list-style:none;display:flex}.song-item.svelte-7bq3y{background-color:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);transition:transform .15s,border-color .15s,box-shadow .15s}.song-item.svelte-7bq3y:hover{border-color:var(--brand-primary);box-shadow:var(--shadow-sm);transform:translateY(-1px)}.song-link.svelte-7bq3y{padding:var(--spacing-md);justify-content:space-between;align-items:center;gap:var(--spacing-md);text-decoration:none;display:flex}.song-info.svelte-7bq3y{flex:1;min-width:0}.song-title-row.svelte-7bq3y{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.song-favorite.svelte-7bq3y{color:var(--brand-secondary);font-size:1rem;line-height:1}.song-feed-pill.svelte-7bq3y{color:var(--brand-primary);border-radius:var(--radius-sm);background:#c084fc1f;padding:1px 6px;font-size:.7rem;font-weight:600}.song-title.svelte-7bq3y{color:var(--text-primary);font-size:1.125rem;font-weight:700;line-height:1.3}.song-composer.svelte-7bq3y{color:var(--text-secondary);margin-top:2px;font-size:.875rem}.song-tags.svelte-7bq3y{flex-wrap:wrap;gap:4px;margin-top:6px;display:flex}.song-tag.svelte-7bq3y{color:var(--text-secondary);background-color:var(--bg-primary);border:1px solid var(--border);border-radius:var(--radius-sm);padding:2px 6px;font-size:.75rem}.song-meta.svelte-7bq3y{flex-shrink:0;align-items:center;gap:8px;display:flex}.badge.svelte-7bq3y{border-radius:var(--radius-full);padding:2px 8px;font-size:.75rem;font-weight:600}.badge-music.svelte-7bq3y{color:var(--brand-primary);background-color:#312e8114}.badge-chords.svelte-7bq3y{color:#e11d48;background-color:#fb71851f}@media (prefers-color-scheme:dark){.badge-music.svelte-7bq3y{color:var(--color-purple);background-color:#c084fc26}}.chevron.svelte-7bq3y{color:var(--text-secondary);margin-left:2px;font-size:1.25rem}.category-dialog.svelte-7bq3y{color:var(--text-primary);background:0 0;border:0;width:100%;max-width:560px;max-height:85vh;margin:auto auto 0;padding:0}.category-dialog.svelte-7bq3y::backdrop{background:#0b0a1f73}@media (width>=640px){.category-dialog.svelte-7bq3y{margin:auto}.sheet.svelte-7bq3y{border-radius:var(--radius-lg)}}.sheet.svelte-7bq3y{background:var(--bg-primary);border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--spacing-md) var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md);flex-direction:column;max-height:85vh;display:flex;overflow-y:auto}.sheet-head.svelte-7bq3y{justify-content:space-between;align-items:center;display:flex}.sheet-head.svelte-7bq3y h2:where(.svelte-7bq3y){font-size:1.3rem;font-weight:800}.sheet-done.svelte-7bq3y{color:var(--brand-primary);min-height:40px;padding:0 4px;font-size:1rem;font-weight:700}.sheet-all.svelte-7bq3y{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface);min-height:48px;color:var(--text-primary);justify-content:space-between;align-items:center;padding:0 16px;font-size:1rem;display:flex}.sheet-group.svelte-7bq3y h3:where(.svelte-7bq3y){letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);margin:0 4px 8px;font-size:.75rem;font-weight:700}.sheet-chips.svelte-7bq3y{flex-wrap:wrap;gap:8px;display:flex}.shelf-group.svelte-7bq3y{flex-direction:column;gap:6px;display:flex}.group-label.svelte-7bq3y{color:var(--text-secondary);margin:4px 4px 0;font-size:.8125rem;font-weight:600}.sheet-chip.svelte-7bq3y{border-radius:var(--radius-full);border:1px solid var(--border);background:var(--surface);min-height:40px;color:var(--text-primary);align-items:center;gap:6px;padding:0 14px;font-size:.9375rem;text-decoration:none;display:inline-flex}.sheet-chip.svelte-7bq3y:hover,.sheet-all.svelte-7bq3y:hover{border-color:var(--brand-primary)}.sheet-chip.active.svelte-7bq3y,.sheet-all.active.svelte-7bq3y{background:var(--brand-primary);border-color:var(--brand-primary);color:var(--surface);font-weight:600}.sheet-count.svelte-7bq3y{opacity:.75;font-size:.8rem}.empty-state.svelte-7bq3y{text-align:center;padding:var(--spacing-xxl) var(--spacing-md)}.empty-title.svelte-7bq3y{color:var(--text-primary);margin-bottom:var(--spacing-xs);font-size:1.25rem;font-weight:700}.empty-hint.svelte-7bq3y{color:var(--text-secondary);margin-bottom:var(--spacing-md);font-size:.95rem}.reset-btn.svelte-7bq3y{background-color:var(--brand-primary);color:var(--surface);border-radius:var(--radius-full);padding:8px 18px;font-size:.9375rem;font-weight:600;display:inline-block}.sr-only.svelte-7bq3y{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
