html,body,#root{height:100%}body{margin:0}:root{--bg:#0f1115;--panel:#1a1d24;--panel2:#14171d;--border:#2a2f3a;--text:#e6e8ec;--muted:#9aa4b2;--accent:#4f8cff;--accent-hover:#3a76e8;--ok-bg:#13351f;--ok-fg:#6ee7a0;--warn-bg:#3a2f12;--warn-fg:#f0c674}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}.layout{grid-template-columns:360px 1fr;height:100vh;display:grid}.loading-screen{height:100vh;color:var(--muted);justify-content:center;align-items:center;display:flex}.auth-screen{justify-content:center;align-items:center;min-height:100vh;padding:1rem;display:flex}.auth-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;flex-direction:column;gap:.6rem;width:100%;max-width:340px;padding:1.5rem;display:flex}.auth-card h1{margin:0;font-size:1.4rem}.auth-sub{color:var(--muted);margin:0 0 .4rem;font-size:.9rem}.auth-card input{width:100%}.auth-card .primary{margin-top:.3rem}.auth-err{color:#ff8a9a;margin:0;font-size:.85rem}.auth-switch{color:var(--muted);text-align:center;margin:.4rem 0 0;font-size:.82rem}.link{color:var(--accent);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0}.link:hover{text-decoration:underline}.topbar{justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.account{align-items:center;gap:.6rem;font-size:.8rem;display:flex}.account .who{color:var(--muted)}.invite-note{color:var(--muted);margin:.35rem 0 0;font-size:.8rem}.sidebar{border-right:1px solid var(--border);background:var(--panel2);flex-direction:column;min-height:0;display:flex}.sidebar header{padding:1rem 1rem .5rem}.sidebar h1{margin:0;font-size:1.25rem}.sidebar .sub{color:var(--muted);margin:.15rem 0 0;font-size:.85rem}.controls{border-bottom:1px solid var(--border);flex-direction:column;gap:.5rem;padding:.5rem 1rem .75rem;display:flex}.controls input[type=text],.controls input:not([type]){width:100%}.check{color:var(--muted);align-items:center;gap:.4rem;font-size:.82rem;display:flex}.check input{width:auto}input{border:1px solid var(--border);color:var(--text);background:#0d0f13;border-radius:6px;padding:.5rem .6rem;font-size:.9rem}input:focus{border-color:var(--accent);outline:none}button{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#262b35;border-radius:6px;padding:.45rem .8rem;font-size:.85rem}button:hover:not(:disabled){border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}button.primary{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}button.primary:hover:not(:disabled){background:var(--accent-hover)}button.scan{background:#223}.church-list{flex:1;min-height:0;margin:0;padding:0;list-style:none;overflow-y:auto}.church-list li.row{border-bottom:1px solid var(--border);padding:0;position:relative;overflow:hidden}.hide-action{cursor:pointer;color:#fff;letter-spacing:.03em;background:#7a2434;border:none;justify-content:flex-end;align-items:center;width:100%;padding:0 1.3rem 0 0;font-size:.82rem;font-weight:700;display:flex;position:absolute;inset:0}.hide-action:hover{background:#8f2b3d}.hide-action:active{background:#a03246}.row-fg{background:var(--panel2);cursor:pointer;touch-action:pan-y;padding:.6rem 1rem;position:relative}.row-fg.static{cursor:default}.church-list li.row:hover .row-fg{background:#1e222b}.church-list li.row.active .row-fg{box-shadow:inset 3px 0 0 var(--accent);background:#1b2740}.church-list li.row.hidden-row .row-fg{opacity:.5}.c-name{padding-right:5.5rem;font-size:.92rem;font-weight:600}.c-meta{color:var(--muted);margin-top:.1rem;padding-right:5.5rem;font-size:.78rem}.badge{white-space:nowrap;border-radius:10px;padding:.1rem .4rem;font-size:.68rem;position:absolute;top:.6rem;right:.7rem}.row-btn{cursor:pointer;position:absolute;bottom:.45rem;right:.6rem}.row-btn.unhide{padding:.1rem .45rem;font-size:.68rem}.badge.ok{background:var(--ok-bg);color:var(--ok-fg)}.badge.warn{background:var(--warn-bg);color:var(--warn-fg)}.badge.muted{color:var(--muted);background:#23262e}.content{min-height:0;padding:1.25rem 1.5rem 3rem;overflow-y:auto}.empty{text-align:center;max-width:520px;color:var(--muted);margin:4rem auto}.empty h2{color:var(--text)}.church-head{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.church-head h2{margin:0}.hide-church-btn{color:#fff;white-space:nowrap;background:#7a2434;border-color:#7a2434;flex-shrink:0;font-weight:600}.hide-church-btn:hover:not(:disabled){background:#8f2b3d;border-color:#8f2b3d}.sub{color:var(--muted);margin:.25rem 0;font-size:.88rem}.sub a,.feed-line a{color:var(--accent)}.feed-line{color:var(--muted);word-break:break-all;font-size:.8rem}code{background:#ffffff14;border-radius:4px;padding:.05rem .3rem}.ep-actions{color:var(--muted);justify-content:space-between;align-items:center;margin:1rem 0 .5rem;font-size:.85rem;display:flex}.ep-actions .right{gap:.5rem;display:flex}.episodes{margin:0;padding:0;list-style:none}.episodes li{border:1px solid var(--border);background:var(--panel);border-radius:8px;gap:.7rem;margin-bottom:.5rem;padding:.7rem;display:flex}.episodes li.sel{border-color:var(--accent)}.episodes li>input{width:auto;margin-top:.2rem}.ep-body{flex:1;min-width:0}.ep-title{font-weight:600}.ep-meta{color:var(--muted);margin:.1rem 0;font-size:.78rem}.ep-desc{color:var(--muted);margin:.3rem 0;font-size:.82rem}.ep-body audio{width:100%;height:32px;margin-top:.35rem}.download-bar{background:var(--panel);border:1px solid var(--border);border-radius:10px;align-items:flex-end;gap:.75rem;margin-top:1rem;padding:.85rem 1rem;display:flex;position:sticky;bottom:0}.download-bar label{color:var(--muted);flex-direction:column;flex:1;gap:.3rem;font-size:.8rem;display:flex}.progress{background:#0d0f13;border-radius:5px;height:10px;overflow:hidden}.progress.thin{height:6px}.progress .bar{background:var(--accent);height:100%;transition:width .3s}.job{background:var(--panel);border:1px solid var(--border);border-radius:10px;margin-top:1.25rem;padding:1rem}.job.done{border-color:#2e6b3e}.job.done .bar{background:#3ea25b}.job.error{border-color:#7a2434}.job h3{margin:0 0 .5rem}.stats{color:var(--muted);margin:.5rem 0;font-size:.85rem}.feed-url code{word-break:break-all}.copy-btn{vertical-align:middle;border-radius:5px;margin-left:.25rem;padding:.1rem .5rem;font-size:.72rem}.copy-btn:hover:not(:disabled){border-color:var(--accent);color:#fff}.note{color:var(--muted);padding:.5rem 1rem;font-size:.88rem}.note.err{color:#ff8a9a}details pre{border:1px solid var(--border);white-space:pre-wrap;background:#0d0f13;border-radius:6px;max-height:240px;padding:.6rem;font-size:.78rem;overflow:auto}.mobile-back{display:none}@media (width<=700px){.layout{grid-template-columns:1fr}.sidebar{height:100vh}.content,.layout.has-selection .sidebar{display:none}.layout.has-selection .content{height:100vh;display:block}.mobile-back{color:var(--text);border:1px solid var(--border);cursor:pointer;background:#262b35;border-radius:6px;align-items:center;gap:.3rem;margin-bottom:.75rem;padding:.45rem .8rem;font-size:.9rem;display:inline-flex}.content{padding:1rem 1rem 3rem}}
