/* Shared personal account controls and library. Colors follow LightCity's gold theme. */
.lc-hub-dialog,.lc-study-hub,.lc-hub-header-tools{--hub-panel:#fff;--hub-soft:#ededeb;--hub-text:#282828;--hub-muted:#647083;--hub-border:#d1d9e0;--hub-gold:#ffc107;color:var(--hub-text);font-family:inherit}
.darkmode .lc-hub-dialog,.darkmode .lc-study-hub,.darkmode .lc-hub-header-tools{--hub-panel:#1f1f1f;--hub-soft:#292929;--hub-text:#eee;--hub-muted:#b0b6c2;--hub-border:#383838}
.lc-hub-header-tools{display:flex;align-items:center;gap:6px;flex-shrink:0;margin-left:12px}
.lc-hub-button{font:inherit;color:inherit;border:1px solid var(--hub-border);border-radius:999px;padding:10px 16px;background:transparent;cursor:pointer;line-height:1.3;display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none!important;transition:background .18s ease,color .18s ease,transform .18s ease}
.lc-hub-button:hover{background:var(--hub-soft)}
.lc-hub-button:focus-visible,.lc-hub-card-menu summary:focus-visible,.lc-hub-tabs button:focus-visible{outline:3px solid #bf9000;outline-offset:3px}
.lc-hub-button:disabled{opacity:.55;cursor:default}
.lc-hub-primary,.lc-hub-button[aria-pressed=true]{background:var(--hub-gold);color:#171717;border-color:var(--hub-gold)}
.lc-hub-primary:hover{background:#e8ae00}
.lc-hub-icon{width:39px;height:39px;padding:8px;border:0;position:relative;flex-shrink:0}
.lc-hub-icon svg,.lc-hub-button>span svg{width:23px;height:23px;display:block}
.lc-hub-count{position:absolute;top:-2px;right:-4px;min-width:18px;height:18px;border-radius:20px;background:#bc1329;color:#fff;padding:0 4px;font:600 10px/18px sans-serif;text-align:center}
.lc-hub-count[hidden]{display:none}
.lc-account-hub-ready .lc-notification-settings{display:none!important}
.lc-hub-dialog{box-sizing:border-box;width:min(560px,calc(100vw - 28px));max-height:min(85dvh,900px);margin:auto;border:1px solid var(--hub-border);border-radius:24px;background:var(--hub-panel);padding:24px;overflow:auto;box-shadow:0 20px 80px #0005;overscroll-behavior:contain}
.lc-hub-dialog::backdrop{background:#0008;backdrop-filter:blur(4px)}
.lc-hub-dialog[open]{animation:lc-hub-appear .18s ease-out}
@keyframes lc-hub-appear{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.lc-hub-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}
.lc-hub-dialog h2,.lc-hub-dialog h3,.lc-study-hub h1,.lc-study-hub h2,.lc-study-hub h3{font-family:inherit!important;color:inherit!important;text-transform:none!important;letter-spacing:normal!important;line-height:1.25!important;margin:0!important}
.lc-hub-dialog h2{font-size:24px!important}.lc-hub-dialog h3{font-size:20px!important}
.lc-hub-dialog p{font-size:15px;line-height:1.6;margin:12px 0;color:inherit}
.lc-hub-dialog>a.lc-hub-button,.lc-hub-dialog>button{margin:5px 4px 5px 0}
.lc-hub-dialog label{font-size:14px;font-weight:600}
.lc-hub-dialog input{box-sizing:border-box;width:100%;border:1px solid var(--hub-border);border-radius:12px;background:var(--hub-soft);color:var(--hub-text);font:inherit;padding:12px;min-width:0}
.lc-hub-dialog input:focus{outline:2px solid var(--hub-gold);outline-offset:2px}
.lc-hub-account-summary{padding:8px 0 18px;border-bottom:1px solid var(--hub-border);margin-bottom:14px;overflow-wrap:anywhere}
.lc-hub-avatar{display:flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:50%;background:var(--hub-gold);color:#242424;font-size:34px;font-weight:700;flex-shrink:0}
.lc-hub-account-summary .lc-hub-avatar{margin-bottom:15px}
.lc-hub-label{display:block;font-size:11px!important;letter-spacing:.09em;text-transform:uppercase;line-height:1.5;color:var(--hub-muted);margin:0 0 6px}
.lc-hub-setting{padding:18px 0;border-bottom:1px solid var(--hub-border);margin-bottom:15px}
.lc-hub-muted{color:var(--hub-muted)!important}
.lc-hub-small{font-size:13px!important;line-height:1.5!important;color:var(--hub-muted);margin:10px 0}
.lc-hub-actions{display:flex;flex-wrap:wrap;gap:8px}
.lc-hub-create{display:grid;gap:10px;margin-top:20px;padding-top:18px;border-top:1px solid var(--hub-border)}
.lc-hub-picker{display:grid;gap:8px;max-height:35dvh;overflow:auto}
.lc-hub-picker .lc-hub-button{justify-content:flex-start;border-radius:12px;text-align:left;overflow-wrap:anywhere}
.lc-hub-inbox-row{display:flex;align-items:center;gap:10px;padding:16px 8px;border-bottom:1px solid var(--hub-border);position:relative}
.lc-hub-inbox-row>a{flex:1;min-width:0;text-decoration:none;color:inherit;display:grid;gap:5px;overflow-wrap:anywhere;font-size:15px;line-height:1.4}
.lc-hub-inbox-row small{font-size:12px;color:var(--hub-muted)}
.lc-hub-inbox-row .lc-hub-button{font-size:12px;padding:8px}
.lc-hub-unread{background:var(--hub-soft);border-left:3px solid var(--hub-gold);padding-left:12px;border-radius:10px}
.lc-study-hub{max-width:1400px;margin:0 auto;padding:32px 0 70px}
.lc-hub-profile{display:flex;align-items:center;gap:24px;padding-bottom:28px;flex-wrap:wrap}
.lc-hub-profile-name{flex:1;min-width:180px;overflow-wrap:anywhere}
.lc-hub-profile h1{font-size:clamp(28px,3vw,42px)!important;font-weight:700}
.lc-hub-profile p{margin:6px 0 0;line-height:1.5;font-size:15px}
.lc-hub-profile .lc-hub-actions{margin-left:auto}
.lc-hub-tabs,.lc-hub-filters{display:flex;gap:8px;overflow:auto;scrollbar-width:none;padding:4px 0 12px}
.lc-hub-tabs{border-bottom:1px solid var(--hub-border);margin-bottom:12px}
.lc-hub-tabs button{font:inherit;background:transparent;border:0;border-radius:999px;color:inherit;cursor:pointer;white-space:nowrap;padding:11px 19px}
.lc-hub-tabs button[aria-pressed=true]{color:#1a1a1a;background:var(--hub-gold);font-weight:600}
.lc-hub-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:20px}
.lc-study-hub h2{font-size:26px!important;font-weight:700}
.lc-hub-section-head .lc-hub-button{border:0;padding:8px;white-space:nowrap;font-size:14px}
.lc-hub-shelf{margin:34px 0 42px}
.lc-hub-rail{display:flex;gap:18px;overflow-x:auto;padding:0 2px 20px;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:var(--hub-border) transparent}
.lc-hub-rail>.lc-hub-resource{flex:0 0 255px;scroll-snap-align:start}
.lc-hub-resource{border:1px solid var(--hub-border);border-radius:18px;background:var(--hub-panel);min-width:0;position:relative;align-self:start}
.lc-hub-cover{display:block;aspect-ratio:16/9;position:relative;background:var(--hub-soft);border-radius:17px 17px 0 0;overflow:hidden;text-decoration:none!important;color:inherit}
.lc-hub-cover img{width:100%;height:100%;object-fit:cover;display:block}
.lc-hub-reading-cover{background:linear-gradient(135deg,#fff4c3,#d6cba8);color:#514117;display:flex;align-items:center;justify-content:center;gap:15px;flex-direction:column;font-size:13px}
.darkmode .lc-hub-reading-cover{background:linear-gradient(135deg,#3b3521,#26251e);color:#f6db7b}
.lc-hub-reading-cover svg{width:42px;height:42px}
.lc-hub-duration{position:absolute;bottom:8px;right:8px;border-radius:5px;background:#111d;color:#fff;font-size:11px;padding:3px 6px;font-weight:600}
.lc-hub-live{background:#d60725}
.lc-hub-resource-body{padding:15px}
.lc-hub-title-line{display:flex;gap:4px;align-items:flex-start;min-width:0}
.lc-hub-title-line>a{flex:1;min-width:0;color:inherit;text-decoration:none!important}
.lc-hub-resource h3{font-size:16px!important;font-weight:600;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:40px}
.lc-hub-resource progress{width:100%;height:4px;accent-color:#d6a914;display:block;margin-top:14px;border:0;border-radius:5px;overflow:hidden}
.lc-hub-resource progress::-webkit-progress-bar{background:var(--hub-border)}
.lc-hub-resource progress::-webkit-progress-value{background:#c6a433}
.lc-hub-card-menu{position:relative;flex-shrink:0}
.lc-hub-card-menu summary{display:flex;align-items:center;justify-content:center;list-style:none;cursor:pointer;width:26px;height:30px;border-radius:50%}
.lc-hub-card-menu summary::-webkit-details-marker{display:none}
.lc-hub-card-menu summary svg{width:21px;height:21px}
.lc-hub-card-menu-panel{position:absolute;z-index:20;right:0;top:32px;width:190px;padding:6px;background:var(--hub-panel);border:1px solid var(--hub-border);border-radius:14px;box-shadow:0 6px 20px #0003}
.lc-hub-card-menu-panel .lc-hub-button{border:0;width:100%;border-radius:8px;font-size:13px;justify-content:flex-start;text-align:left;padding:12px}
.lc-hub-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:22px;margin:20px 0}
.lc-hub-playlist-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;margin:20px 0}
.lc-hub-playlist-card{display:flex;align-items:stretch;flex-direction:column;padding:0 0 15px;border-radius:18px;overflow:hidden;text-align:left;background:var(--hub-panel);gap:10px}
.lc-hub-playlist-card strong,.lc-hub-playlist-card>span:last-child{margin:0 15px;overflow-wrap:anywhere;align-self:stretch}
.lc-hub-playlist-cover{display:flex;align-items:center;justify-content:center;background:var(--hub-soft);height:105px;border-bottom:4px solid var(--hub-gold)}
.lc-hub-playlist-cover svg{width:40px;height:40px;color:var(--hub-muted)}
.lc-hub-playlist-add{border-radius:18px;border-style:dashed;min-height:140px}
.watch-menu-panel>[data-hub-playlist]{width:100%;justify-content:flex-start;border:0;border-radius:8px;font-size:15px}
@media(max-width:650px){.lc-hub-header-tools{margin-left:0;gap:0}.lc-hub-icon{width:34px;height:34px;padding:7px}.lc-study-hub{padding-top:16px}.lc-hub-profile{gap:14px;padding-bottom:20px}.lc-hub-profile .lc-hub-avatar{width:60px;height:60px;font-size:29px}.lc-hub-profile-name{min-width:180px}.lc-hub-profile .lc-hub-actions{width:100%;margin-left:0}.lc-hub-profile h1{font-size:28px!important}.lc-hub-tabs button{padding:10px 15px;font-size:14px}.lc-hub-rail>.lc-hub-resource{flex-basis:240px}.lc-study-hub h2{font-size:23px!important}.lc-hub-dialog{padding:20px;border-radius:20px}.lc-hub-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lc-hub-grid .lc-hub-resource-body{padding:10px}.lc-hub-grid .lc-hub-resource h3{font-size:14px!important}.lc-hub-grid .lc-hub-label{font-size:10px!important}.lc-hub-grid .lc-hub-small{font-size:11px!important}.lc-hub-grid .lc-hub-card-menu-panel{width:160px}.lc-hub-grid .lc-hub-resource:nth-child(odd) .lc-hub-card-menu-panel{right:auto;left:-90px}.lc-hub-playlist-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lc-hub-playlist-card{font-size:14px}.lc-hub-playlist-card strong,.lc-hub-playlist-card>span:last-child{margin:0 10px}.lc-hub-playlist-card .lc-hub-muted{font-size:12px}}
@media(prefers-reduced-motion:reduce){.lc-hub-dialog[open]{animation:none}.lc-hub-button{transition:none}}
/* Keep shared chrome aligned and avoid legacy all-property theme animations. */
.lc-account-hub-ready .mobileControls{display:flex;align-items:center;gap:8px}
.lc-personal-main:has([data-study-hub]){width:calc(100% - 32px);max-width:1160px;padding:0}
.lc-study-hub,.lc-study-hub *,.lc-hub-dialog,.lc-hub-dialog *,.lc-hub-header-tools{transition:none}
.lc-study-hub .lc-hub-button,.lc-hub-dialog .lc-hub-button{transition:background .18s ease,color .18s ease}
.lc-study-hub[hidden],[data-legacy-library][hidden]{display:none!important}
.lc-personal-main:has([data-study-hub]){margin-left:auto!important;margin-right:auto!important}
.lc-hub-rail .lc-hub-card-menu-panel{top:auto;bottom:0}
.home-header-controls .lc-hub-header-tools{margin-left:0}
/* Personal account actions are available only after church access is restored. */
.lc-library-playlist,[data-study-playlist],[data-hub-playlist]{display:none!important}
.lc-member-tools .lc-library-playlist,.lc-member-tools [data-study-playlist],.lc-member-tools [data-hub-playlist]{display:inline-flex!important}
[data-hub-account][hidden],[data-hub-view][hidden]{display:none!important}
.lc-hub-avatar{position:relative;overflow:hidden}
.lc-hub-avatar img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;border-radius:50%;background:var(--hub-soft);border:0}
.lc-hub-profile-button{padding:0!important}
.lc-hub-profile-button .lc-hub-avatar{width:32px;height:32px;font-size:16px}
.lc-hub-mobile-account{display:none}

/* Neutral account slot keeps navigation steady while Firebase restores access. */
.lc-hub-account-pending{display:flex;align-items:center;justify-content:center;box-sizing:border-box}
.lc-hub-account-pending .lc-hub-avatar{width:28px;height:28px;min-width:28px;background:currentColor;opacity:.12;border-radius:50%}
.lc-hub-account-pending[hidden]{display:none!important}
.home-bottom-nav>.lc-hub-account-pending{width:auto;min-height:36px;padding:0 0 7px!important}
