/* CALLED Church app. Deep navy + warm cream, gold for highlights.
   Inter for the interface, Newsreader for Scripture and long reading. */
:root{
  --navy:#0F2342; --navy-2:#1B3560; --navy-3:#2A4A7F;
  --gold:#C9A54C; --gold-soft:#F3E7C6; --green:#7C9A7E; --red:#C2453B;
  --bg:#F6F2EA; --card:#FFFFFF; --card-2:#FBF8F2; --ink:#121A2E; --ink-2:#3B4256; --muted:#717789;
  --line:rgba(18,26,46,.10); --line-2:rgba(18,26,46,.16);
  --tab:#FFFFFFEE; --bubble-me:#1E4FB8; --bubble-them:#ECE7DD;
  --hl-yellow:#F7E38A; --hl-blue:#BCD6FF; --hl-green:#C6E7BF; --hl-pink:#F6C6D6;
  --r:18px; --r-sm:12px;
  --f:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --f-read:'Newsreader',Georgia,'Times New Roman',serif;
  --safe-t:env(safe-area-inset-top,0px); --safe-b:env(safe-area-inset-bottom,0px);
  --tabh:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){
  :root{
    --bg:#0A1424; --card:#132137; --card-2:#0F1C30; --ink:#EEF1F7; --ink-2:#C5CBD8; --muted:#8D96AA;
    --line:rgba(255,255,255,.08); --line-2:rgba(255,255,255,.14); --tab:#0E1A2DEE;
    --bubble-me:#2F66F6; --bubble-them:#1E2E48; --gold-soft:#3A3220;
    --hl-yellow:#6B5A12; --hl-blue:#1F3F73; --hl-green:#25502C; --hl-pink:#6A2742;
    color-scheme:dark;
  }
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f);font-size:16px;line-height:1.45;-webkit-font-smoothing:antialiased}
body{min-height:100vh;overscroll-behavior-y:none}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
a{color:inherit}
img{max-width:100%;display:block}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

#splash{position:fixed;inset:0;background:var(--navy);display:grid;place-items:center;z-index:50;transition:opacity .35s}
#splash.out{opacity:0;pointer-events:none}

/* ---------- shell ---------- */
#view{max-width:680px;margin:0 auto;padding:calc(var(--safe-t) + 8px) 18px calc(var(--tabh) + var(--safe-b) + 28px);outline:none;min-height:100vh}
#view.full{padding:0;max-width:none}
#view.chatv{padding-bottom:0}
#tabs{position:fixed;left:0;right:0;bottom:0;z-index:20;background:var(--tab);backdrop-filter:saturate(1.6) blur(18px);-webkit-backdrop-filter:saturate(1.6) blur(18px);
  border-top:1px solid var(--line);display:flex;justify-content:center;padding-bottom:var(--safe-b)}
#tabs .in{display:grid;grid-template-columns:repeat(5,1fr);width:100%;max-width:680px;height:var(--tabh)}
#tabs a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--muted);font-size:11px;font-weight:600;letter-spacing:.01em;position:relative}
#tabs a svg{width:24px;height:24px}
#tabs a[aria-current=page]{color:var(--navy)}
@media (prefers-color-scheme:dark){#tabs a[aria-current=page]{color:#fff}}
#tabs .dot{position:absolute;top:8px;left:calc(50% + 7px);min-width:17px;height:17px;border-radius:9px;background:var(--red);color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 4px}
body.no-tabs #tabs{display:none}
body.no-tabs #view{padding-bottom:calc(var(--safe-b) + 24px)}

/* ---------- headers ---------- */
.top{display:flex;align-items:center;gap:10px;min-height:52px;margin:0 -4px 6px}
.top h1{font-size:30px;line-height:1.1;font-weight:800;letter-spacing:-.02em;margin:0;flex:1}
.top .ib{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);flex:none}
.top .ib svg{width:20px;height:20px}
.back{display:inline-flex;align-items:center;gap:2px;font-weight:600;color:var(--ink-2);height:40px;padding-right:8px;text-decoration:none}
.back svg{width:22px;height:22px}
.bar{position:sticky;top:0;z-index:15;margin:0 -18px 10px;padding:calc(var(--safe-t) + 4px) 14px 6px;background:color-mix(in srgb,var(--bg) 88%,transparent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);display:flex;align-items:center;gap:8px;min-height:52px}
.bar .t{flex:1;font-weight:700;font-size:17px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bar .sp{width:72px;display:flex;justify-content:flex-end}
#view>.bar:first-child{margin-top:calc(-1 * (var(--safe-t) + 8px))}
.kicker{font-size:12px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:26px 2px 10px}
.sec h2{font-size:20px;font-weight:800;letter-spacing:-.01em;margin:0}
.sec a,.sec button{font-size:14px;font-weight:600;color:var(--navy-3);text-decoration:none}
@media (prefers-color-scheme:dark){.sec a,.sec button{color:#8DB2FF}}
.sub{color:var(--muted);font-size:14px}
.lead{font-size:17px;color:var(--ink-2)}

/* ---------- cards ---------- */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.card+.card{margin-top:12px}
.stack>*+*{margin-top:12px}
.list{background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.row{display:flex;align-items:center;gap:12px;padding:13px 14px;text-decoration:none;width:100%;text-align:left}
.row+.row{border-top:1px solid var(--line)}
.row .ic{width:38px;height:38px;border-radius:11px;display:grid;place-items:center;background:var(--card-2);border:1px solid var(--line);flex:none;color:var(--navy-2)}
@media (prefers-color-scheme:dark){.row .ic{color:#9FC0FF}}
.row .ic svg{width:20px;height:20px}
.row .m{flex:1;min-width:0}
.row .m b{display:block;font-weight:600}
.row .m small{display:block;color:var(--muted);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.row .chev{color:var(--muted);width:18px;height:18px;flex:none}
.row img.th{width:96px;height:54px;border-radius:9px;object-fit:cover;flex:none;background:var(--card-2)}

/* hero */
.hero{position:relative;border-radius:24px;overflow:hidden;color:#fff;background:var(--navy);min-height:230px;display:flex;flex-direction:column;justify-content:flex-end;padding:20px;margin:0 0 4px;isolation:isolate}
.hero img.bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}
.hero::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(15,35,66,.05) 0%,rgba(15,35,66,.55) 55%,rgba(10,22,42,.92) 100%);z-index:-1}
.hero .logo{position:absolute;top:18px;left:20px;width:118px}
.hero h2{font-size:27px;line-height:1.12;font-weight:800;margin:4px 0 6px;letter-spacing:-.015em}
.hero p{margin:0;opacity:.9;font-size:15px}
.hero .acts{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}
.pill{display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 15px;border-radius:19px;font-weight:600;font-size:14px;text-decoration:none;background:rgba(255,255,255,.16);color:#fff;border:1px solid rgba(255,255,255,.25);backdrop-filter:blur(6px)}
.pill.solid{background:#fff;color:var(--navy);border-color:#fff}
.pill svg{width:17px;height:17px}
.live-dot{width:8px;height:8px;border-radius:50%;background:#FF4D4D;box-shadow:0 0 0 0 rgba(255,77,77,.7);animation-name:pulse;animation-duration:1.6s;animation-iteration-count:infinite}
@keyframes pulse{70%{box-shadow:0 0 0 9px rgba(255,77,77,0)}100%{box-shadow:0 0 0 0 rgba(255,77,77,0)}}

/* quick grid */
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.quick a{display:flex;flex-direction:column;align-items:center;gap:7px;text-decoration:none;font-size:12px;font-weight:600;color:var(--ink-2);text-align:center}
.quick .q{width:56px;height:56px;border-radius:18px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line);color:var(--navy-2)}
@media (prefers-color-scheme:dark){.quick .q{color:#9FC0FF}}
.quick .q svg{width:25px;height:25px}

/* devotional card */
.devo{display:block;text-decoration:none;background:linear-gradient(160deg,var(--navy) 0%,var(--navy-2) 100%);color:#fff;border-radius:var(--r);padding:20px;position:relative;overflow:hidden}
.devo::before{content:"";position:absolute;right:-40px;top:-40px;width:180px;height:180px;border-radius:50%;border:28px solid rgba(201,165,76,.18)}
.devo .kicker{color:var(--gold)}
.devo h3{font-family:var(--f-read);font-weight:500;font-size:25px;line-height:1.2;margin:8px 0 8px}
.devo .vs{font-family:var(--f-read);font-style:italic;font-size:17px;opacity:.88;line-height:1.45}
.devo .ref{font-size:13px;font-weight:600;opacity:.75;margin-top:8px}
.devo .go{display:inline-flex;align-items:center;gap:4px;margin-top:14px;font-weight:600;font-size:14px;color:var(--gold)}

/* horizontal scrollers */
.hs{display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -18px;padding:2px 18px 6px;scrollbar-width:none}
.hs::-webkit-scrollbar{display:none}
.hs>*{scroll-snap-align:start;flex:none}
.vcard{width:250px;text-decoration:none}
.vcard .th{aspect-ratio:16/9;border-radius:14px;overflow:hidden;background:var(--card-2);position:relative}
.vcard .th img{width:100%;height:100%;object-fit:cover}
.vcard .th .play{position:absolute;inset:auto auto 10px 10px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.55);display:grid;place-items:center;color:#fff}
.vcard .th .play svg{width:18px;height:18px}
.vcard b{display:block;font-weight:650;margin-top:8px;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vcard small{color:var(--muted);font-size:13px}
.ecard{width:200px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;text-decoration:none}
.ecard .d{display:flex;align-items:baseline;gap:6px}
.ecard .d b{font-size:26px;font-weight:800;line-height:1}
.ecard .d span{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--gold)}
.ecard h4{margin:8px 0 2px;font-size:15px;line-height:1.3}
.ecard small{color:var(--muted);font-size:13px}

/* ---------- forms ---------- */
label.f{display:block;margin-bottom:12px}
label.f>span{display:block;font-size:13px;font-weight:600;color:var(--ink-2);margin:0 0 6px 2px}
.in,input:not([type]),input[type=text],input[type=email],input[type=password],input[type=tel],input[type=date],input[type=url],input[type=search],input[type=number],textarea,select{
  width:100%;border:1px solid var(--line-2);background:var(--card);border-radius:13px;padding:12px 14px;font-size:16px;outline:none;transition:border-color .15s,box-shadow .15s}
textarea{min-height:110px;resize:vertical;line-height:1.5}
input:focus,textarea:focus,select:focus{border-color:var(--navy-3);box-shadow:0 0 0 3px color-mix(in srgb,var(--navy-3) 22%,transparent)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:48px;padding:0 20px;border-radius:14px;font-weight:650;font-size:16px;background:var(--card);border:1px solid var(--line-2);text-decoration:none;white-space:nowrap}
.btn.primary{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme:dark){.btn.primary{background:#2F66F6;border-color:#2F66F6}}
.btn.gold{background:var(--gold);border-color:var(--gold);color:#1B1405}
.btn.danger{color:var(--red);border-color:color-mix(in srgb,var(--red) 40%,transparent)}
.btn.block{width:100%}
.btn.sm{height:36px;padding:0 13px;font-size:14px;border-radius:11px}
.btn svg{width:18px;height:18px}
.btn:disabled{opacity:.5}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{height:36px;padding:0 14px;border-radius:18px;border:1px solid var(--line-2);background:var(--card);font-size:14px;font-weight:600;display:inline-flex;align-items:center;gap:6px;color:var(--ink-2)}
.chip[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme:dark){.chip[aria-pressed=true]{background:#2F66F6;border-color:#2F66F6}}
.seg{display:flex;background:var(--card-2);border:1px solid var(--line);border-radius:13px;padding:3px;gap:3px;margin-bottom:14px}
.seg button{flex:1;height:36px;border-radius:10px;font-weight:600;font-size:14px;color:var(--muted)}
.seg button[aria-pressed=true]{background:var(--card);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.08)}
.check{display:flex;gap:10px;align-items:flex-start;margin:10px 0;font-size:15px}
.check input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--navy);flex:none}
.note{font-size:13px;color:var(--muted);margin-top:8px}
.err{color:var(--red);font-size:14px;margin-top:8px}
.tag{display:inline-flex;align-items:center;height:22px;padding:0 8px;border-radius:11px;font-size:11.5px;font-weight:700;background:var(--card-2);border:1px solid var(--line);color:var(--ink-2);letter-spacing:.02em}
.tag.gold{background:var(--gold-soft);border-color:transparent;color:#7A5B12}
@media (prefers-color-scheme:dark){.tag.gold{color:var(--gold)}}
.tag.green{background:color-mix(in srgb,var(--green) 20%,transparent);border-color:transparent;color:#3F6B42}
@media (prefers-color-scheme:dark){.tag.green{color:#A9D3AB}}
.tag.red{background:color-mix(in srgb,var(--red) 15%,transparent);border-color:transparent;color:var(--red)}
.empty{text-align:center;color:var(--muted);padding:34px 18px;font-size:15px}
.empty svg{width:36px;height:36px;margin:0 auto 10px;opacity:.5;display:block}
.av{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:14px;flex:none;letter-spacing:.02em}
.av.lg{width:64px;height:64px;font-size:24px}
.av.sm{width:28px;height:28px;font-size:12px}

/* ---------- sheet + toast ---------- */
#sheetWrap{position:fixed;inset:0;z-index:40}
#sheetWrap .scrim{position:absolute;inset:0;background:rgba(5,12,24,.45);animation-name:fadeIn;animation-duration:.2s}
.sheet{position:absolute;left:0;right:0;bottom:0;max-height:92vh;overflow:auto;background:var(--bg);border-radius:24px 24px 0 0;padding:10px 18px calc(var(--safe-b) + 22px);max-width:680px;margin:0 auto;animation-name:up;animation-duration:.26s;animation-timing-function:cubic-bezier(.2,.9,.3,1)}
.sheet::before{content:"";display:block;width:40px;height:5px;border-radius:3px;background:var(--line-2);margin:0 auto 12px}
.sheet h3{font-size:21px;margin:4px 0 12px;font-weight:800;letter-spacing:-.01em}
@keyframes up{from{transform:translateY(40px);opacity:0}}
@keyframes fadeIn{from{opacity:0}}
#toast{position:fixed;left:50%;bottom:calc(var(--tabh) + var(--safe-b) + 16px);transform:translate(-50%,20px);background:var(--ink);color:var(--bg);padding:11px 18px;border-radius:14px;font-weight:600;font-size:14px;opacity:0;pointer-events:none;transition:all .25s;z-index:60;max-width:90vw;text-align:center}
#toast.on{opacity:1;transform:translate(-50%,0)}

/* ---------- prayer wall ---------- */
.pcard{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px}
.pcard+.pcard{margin-top:12px}
.pcard .who{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.pcard .who b{font-weight:650}
.pcard .who small{display:block;color:var(--muted);font-size:12.5px}
.pcard .txt{font-size:16px;white-space:pre-wrap;word-break:break-word}
.pcard .praise{margin-top:12px;padding:12px;border-radius:12px;background:var(--gold-soft);font-size:15px}
.pcard .praise b{display:block;font-size:12px;letter-spacing:.1em;text-transform:uppercase;margin-bottom:4px;color:#7A5B12}
@media (prefers-color-scheme:dark){.pcard .praise b{color:var(--gold)}}
.pacts{display:flex;align-items:center;gap:8px;margin-top:14px}
.pray-btn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px;border-radius:19px;border:1px solid var(--line-2);font-weight:650;font-size:14px}
.pray-btn svg{width:18px;height:18px}
.pray-btn[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
@media (prefers-color-scheme:dark){.pray-btn[aria-pressed=true]{background:#2F66F6;border-color:#2F66F6}}
.pacts .cnt{font-size:13.5px;color:var(--muted);flex:1}
.pacts .more{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--muted)}
.pacts .more svg{width:20px;height:20px}
.comment{display:flex;gap:10px;padding:10px 0}
.comment+.comment{border-top:1px solid var(--line)}
.comment .b{flex:1;font-size:15px}
.comment .b b{font-size:14px}
.comment .b small{color:var(--muted);font-size:12px;margin-left:6px}
.compose{display:flex;gap:8px;align-items:flex-end}
.compose textarea{min-height:44px;height:44px;border-radius:22px;padding:11px 16px;resize:none}
.compose .send{width:44px;height:44px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;flex:none}
@media (prefers-color-scheme:dark){.compose .send{background:#2F66F6}}
.compose .send svg{width:19px;height:19px}
.fab{position:fixed;right:max(18px,calc(50% - 322px));bottom:calc(var(--tabh) + var(--safe-b) + 16px);height:52px;padding:0 20px 0 16px;border-radius:26px;background:var(--navy);color:#fff;display:inline-flex;align-items:center;gap:8px;font-weight:700;box-shadow:0 10px 30px rgba(15,35,66,.35);z-index:18}
@media (prefers-color-scheme:dark){.fab{background:#2F66F6}}
.fab svg{width:22px;height:22px}

/* ---------- reading (devotionals, bible, notes) ---------- */
.read{font-family:var(--f-read);font-size:var(--rs,20px);line-height:1.62;color:var(--ink)}
.read p{margin:0 0 1em}
.read h2{font-family:var(--f);font-size:.8em;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin:1.6em 0 .6em}
.read blockquote{margin:1.2em 0;padding:4px 0 4px 16px;border-left:3px solid var(--gold);font-style:italic}
.dtitle{font-family:var(--f-read);font-weight:500;font-size:34px;line-height:1.12;letter-spacing:-.01em;margin:8px 0 10px}
.scrip{display:inline;color:var(--navy-3);font-weight:600;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--navy-3) 35%,transparent);text-underline-offset:3px;cursor:pointer}
@media (prefers-color-scheme:dark){.scrip{color:#8DB2FF}}
.versebox{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px 18px;margin:18px 0}
.versebox .read{font-size:19px}
.versebox .ref{font-family:var(--f);font-size:13px;font-weight:700;color:var(--muted);margin-top:6px}
.qbox{background:var(--gold-soft);border-radius:var(--r);padding:16px 18px;margin:18px 0}
.qbox .kicker{color:#7A5B12;margin-bottom:6px}
@media (prefers-color-scheme:dark){.qbox .kicker{color:var(--gold)}}

/* bible */
.bnav{display:flex;align-items:center;gap:8px}
.bnav .ref{flex:1;height:42px;border-radius:21px;background:var(--card);border:1px solid var(--line);font-weight:700;display:flex;align-items:center;justify-content:center;gap:6px;font-size:16px}
.bnav .ref svg{width:16px;height:16px;color:var(--muted)}
.bnav .ver{height:42px;padding:0 14px;border-radius:21px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:14px}
.bnav .ib{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line)}
.bnav .ib svg{width:19px;height:19px}
.chap{margin-top:18px}
.chap h2.ch{font-family:var(--f-read);font-weight:500;font-size:44px;margin:4px 0 14px;color:var(--ink)}
.v{cursor:pointer;border-radius:4px;transition:background .15s;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:1px 0}
.v sup{font-family:var(--f);font-size:.55em;font-weight:700;color:var(--muted);margin:0 3px 0 2px;vertical-align:.55em}
.v.sel{text-decoration:underline dotted;text-decoration-color:var(--navy-3);text-underline-offset:5px}
.v.hl-yellow{background:var(--hl-yellow)}.v.hl-blue{background:var(--hl-blue)}.v.hl-green{background:var(--hl-green)}.v.hl-pink{background:var(--hl-pink)}
.v.noted sup::after{content:"•";color:var(--gold);margin-left:1px}
.copy{font-family:var(--f);font-size:12px;color:var(--muted);margin-top:24px;line-height:1.5}
.chnav{display:flex;justify-content:space-between;margin-top:22px}
.vbar{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(var(--tabh) + var(--safe-b) + 12px);background:var(--card);border:1px solid var(--line-2);border-radius:20px;padding:10px;display:flex;align-items:center;gap:8px;box-shadow:0 12px 34px rgba(0,0,0,.18);z-index:19;width:min(92vw,520px)}
.vbar .sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--card);box-shadow:0 0 0 1px var(--line-2);flex:none}
.vbar .sw.none{background:var(--card);display:grid;place-items:center;color:var(--muted)}
.vbar .sw.none svg{width:14px;height:14px}
.vbar .gap{flex:1}
.vbar button.a{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;color:var(--ink-2)}
.vbar button.a svg{width:20px;height:20px}
.books{columns:2;column-gap:10px}
.books button{display:block;width:100%;text-align:left;padding:9px 12px;border-radius:10px;font-weight:600;break-inside:avoid}
.books button:hover,.books button.on{background:var(--card)}
.chgrid{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.chgrid button{aspect-ratio:1;border-radius:12px;background:var(--card);border:1px solid var(--line);font-weight:700}
.chgrid button.on{background:var(--navy);color:#fff}

/* message notes */
input.blank,.blank{display:inline-block;min-width:110px;border:0;border-bottom:2px solid var(--gold);background:transparent;border-radius:0;padding:0 4px;font-family:var(--f-read);font-size:inherit;color:var(--navy-3);font-weight:600;text-align:center;outline:none;width:auto}
@media (prefers-color-scheme:dark){.blank{color:#9FC0FF}}
input.blank.ok,.blank.ok{border-bottom-color:var(--green)}
.notes-pt{margin:0 0 .9em}
.notes-h{font-family:var(--f);font-weight:800;font-size:.72em;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin:1.4em 0 .5em}
.video{aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;margin:0 -2px}
.video iframe{width:100%;height:100%;border:0}
.yt-thumb{position:relative;display:block;width:100%;height:100%}
.yt-thumb img{width:100%;height:100%;object-fit:cover}
.yt-thumb span{position:absolute;inset:0;display:grid;place-items:center}
.yt-thumb span i{width:64px;height:64px;border-radius:50%;background:rgba(0,0,0,.6);display:grid;place-items:center;color:#fff}
.yt-thumb span i svg{width:28px;height:28px}

/* ---------- crews ---------- */
.crew-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (min-width:560px){.crew-grid{grid-template-columns:1fr 1fr 1fr}}
.ccard{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden;text-decoration:none;display:flex;flex-direction:column}
.ccard .ph{aspect-ratio:4/3;background:var(--card-2);position:relative}
.ccard .ph img{width:100%;height:100%;object-fit:cover}
.ccard .ph .tag{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.92);color:var(--navy);border:0}
.ccard .b{padding:10px 12px 12px}
.ccard b{display:block;font-weight:700;line-height:1.25}
.ccard small{display:block;color:var(--muted);font-size:12.5px;margin-top:3px;line-height:1.35}
.mycrew{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:10px;text-decoration:none}
.mycrew+.mycrew{margin-top:10px}
.mycrew img{width:56px;height:56px;border-radius:14px;object-fit:cover;flex:none}
.mycrew .m{flex:1;min-width:0}
.mycrew .m b{display:block}
.mycrew .m small{display:block;color:var(--muted);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mycrew .badge{min-width:22px;height:22px;border-radius:11px;background:var(--red);color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;padding:0 6px}
.cover{margin:0 -18px 0;aspect-ratio:16/10;position:relative;background:var(--navy)}
.cover img{width:100%;height:100%;object-fit:cover}
.cover .bk{position:absolute;top:calc(var(--safe-t) + 10px);left:12px;width:40px;height:40px;border-radius:50%;background:rgba(0,0,0,.4);color:#fff;display:grid;place-items:center;backdrop-filter:blur(6px)}
.cover .bk svg{width:22px;height:22px}
.facts{display:grid;gap:10px;margin:14px 0}
.facts div{display:flex;gap:10px;align-items:flex-start;font-size:15px}
.facts svg{width:19px;height:19px;color:var(--muted);flex:none;margin-top:1px}

/* chat */
.chat{display:flex;flex-direction:column;height:100dvh;max-width:680px;margin:0 auto}
.chat .head{display:flex;align-items:center;gap:10px;padding:calc(var(--safe-t) + 6px) 12px 8px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:blur(14px)}
.chat .head img{width:36px;height:36px;border-radius:50%;object-fit:cover}
.chat .head .m{flex:1;min-width:0}
.chat .head b{display:block;font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat .head small{color:var(--muted);font-size:12px}
.chat .head .ib{width:38px;height:38px;display:grid;place-items:center;border-radius:50%}
.chat .head .ib svg{width:21px;height:21px}
.msgs{flex:1;overflow-y:auto;padding:12px 12px 8px;display:flex;flex-direction:column;gap:2px;-webkit-overflow-scrolling:touch}
.day{align-self:center;font-size:12px;font-weight:600;color:var(--muted);margin:14px 0 8px}
.msg{display:flex;gap:8px;align-items:flex-end;max-width:84%}
.msg.me{align-self:flex-end;flex-direction:row-reverse}
.msg .av{width:28px;height:28px;font-size:11px}
.msg .av.ghost{visibility:hidden}
.msg .bub{padding:9px 13px;border-radius:19px;background:var(--bubble-them);font-size:16px;line-height:1.35;white-space:pre-wrap;word-break:break-word;position:relative}
.msg.me .bub{background:var(--bubble-me);color:#fff}
.msg .nm{font-size:12px;color:var(--muted);margin:8px 0 2px 48px}
.msg.cont .bub{border-top-left-radius:7px}
.msg.me.cont .bub{border-top-left-radius:19px;border-top-right-radius:7px}
.msg .bub a{color:inherit}
.msg .likes{position:absolute;bottom:-9px;right:-4px;background:var(--card);border:1px solid var(--line-2);border-radius:10px;font-size:11px;padding:0 5px;height:19px;display:flex;align-items:center;gap:2px;color:var(--ink)}
.msg.me .likes{right:auto;left:-4px}
.msg.liked{margin-bottom:10px}
.time{font-size:11px;color:var(--muted);align-self:flex-end;margin:2px 4px 6px}
.chat .bottom{padding:8px 10px calc(var(--safe-b) + 8px);border-top:1px solid var(--line);background:var(--bg)}
.chat .compose textarea{max-height:140px}

/* connect, resources, events */
.ctile{display:flex;gap:14px;align-items:center;padding:16px;border-radius:var(--r);background:var(--card);border:1px solid var(--line);text-decoration:none;text-align:left;width:100%}
.ctile+.ctile{margin-top:10px}
.ctile .ic{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;flex:none;color:#fff;background:var(--navy-2)}
.ctile .ic svg{width:23px;height:23px}
.ctile b{display:block;font-size:16px}
.ctile small{display:block;color:var(--muted);font-size:13.5px;margin-top:1px}
.shop{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.item{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.item .ph{aspect-ratio:1;background:var(--card-2);display:grid;place-items:center;font-size:40px}
.item .ph img{width:100%;height:100%;object-fit:cover}
.item .b{padding:10px 12px}
.item b{display:block;font-size:14.5px;line-height:1.3}
.item .pr{display:flex;justify-content:space-between;align-items:center;margin-top:4px;font-size:14px;font-weight:700}
.datebox{width:52px;flex:none;text-align:center;border-radius:12px;background:var(--card-2);border:1px solid var(--line);padding:6px 0}
.datebox span{display:block;font-size:11px;font-weight:800;letter-spacing:.1em;color:var(--gold)}
.datebox b{display:block;font-size:21px;line-height:1.1}

/* profile */
.prof{display:flex;align-items:center;gap:14px;margin:6px 0 18px}
.prof b{display:block;font-size:20px}
.admin-badge{background:var(--gold-soft);color:#7A5B12;border-radius:8px;font-size:11px;font-weight:800;padding:2px 7px;letter-spacing:.05em}
.toggle{position:relative;width:51px;height:31px;flex:none}
.toggle input{opacity:0;width:0;height:0;position:absolute}
.toggle span{position:absolute;inset:0;border-radius:16px;background:var(--line-2);transition:.2s}
.toggle span::after{content:"";position:absolute;width:27px;height:27px;left:2px;top:2px;border-radius:50%;background:#fff;box-shadow:0 2px 4px rgba(0,0,0,.2);transition:.2s}
.toggle input:checked+span{background:#34C759}
.toggle input:checked+span::after{transform:translateX(20px)}

/* auth */
.auth{min-height:100vh;display:flex;flex-direction:column;justify-content:center;padding-top:20px}
.auth .brand{background:var(--navy);border-radius:24px;padding:28px 22px;color:#fff;margin-bottom:18px;text-align:center}
.auth .brand img{width:150px;margin:0 auto 10px}
.auth .brand p{margin:0;opacity:.85}

.spin{width:26px;height:26px;border-radius:50%;border:3px solid var(--line-2);border-top-color:var(--navy-3);animation-name:rot;animation-duration:.8s;animation-iteration-count:infinite;animation-timing-function:linear;margin:30px auto}
@keyframes rot{to{transform:rotate(360deg)}}
.skel{background:linear-gradient(90deg,var(--card-2),var(--card),var(--card-2));background-size:200% 100%;animation-name:sh;animation-duration:1.2s;animation-iteration-count:infinite;border-radius:12px}
@keyframes sh{to{background-position:-200% 0}}
hr.sep{border:0;border-top:1px solid var(--line);margin:18px 0}
.md p{margin:0 0 .8em}
/* small icon sizes */
.chev{width:18px;height:18px;flex:none;color:var(--muted)}
.devo .go svg{width:18px;height:18px}
.ctile>svg{width:18px;height:18px;flex:none;color:var(--muted)}
.hs{align-items:flex-start}
.hero{min-height:300px;padding-top:96px}
.hero .logo{width:104px}
.pray-btn{text-decoration:none;color:inherit}

.bar .sp svg{width:21px;height:21px}
label.f{min-width:0}
#view.full .cover{margin:0}
html,body{overflow-x:clip}
input.blank:focus{box-shadow:none;border-bottom-color:var(--navy-3)}

/* ---------- Serve team + Kids check-in ---------- */
.sv-teambtn{display:inline-flex;align-items:center;gap:5px;height:36px;padding:0 12px;border-radius:18px;background:var(--navy);color:#F3E7C6;font-size:13px;font-weight:700;text-decoration:none;margin-right:4px}
.sv-teambtn svg{width:17px;height:17px}
@media (prefers-color-scheme:dark){.sv-teambtn{background:#F3E7C6;color:var(--navy)}}
.sv-home{display:flex;flex-direction:column;gap:3px;text-decoration:none;margin-top:14px;background:var(--navy);color:#fff;border-color:var(--navy)}
.sv-home b{font-size:19px;font-weight:800}
.sv-home small{color:#C5CBD8;font-size:14px}
.sv-home span{display:inline-flex;align-items:center;gap:2px;margin-top:6px;font-weight:700;font-size:14px;color:#F3E7C6}
.sv-home span svg{width:16px;height:16px}
.sv-chk{cursor:pointer}
.sv-chk input{width:22px;height:22px;accent-color:var(--navy);flex:none}
.tag.sv-ok{background:rgba(124,154,126,.18);color:#4E6E50;border-color:transparent}
@media (prefers-color-scheme:dark){.tag.sv-ok{color:#A9D1AB}}
.sv-pass{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center}
.sv-code{font-size:64px;font-weight:800;letter-spacing:.14em;color:var(--navy-2);font-variant-numeric:tabular-nums;line-height:1}
@media (prefers-color-scheme:dark){.sv-code{color:#9FC0FF}}
.sv-qr{width:200px;max-width:70%;background:#fff;border-radius:12px;padding:6px}
.sv-qr svg{display:block;width:100%;height:auto}

/* ---------- header buttons, notifications, messages ---------- */
.top .hb{position:relative;text-decoration:none;color:var(--ink)}
.hdot{position:absolute;top:-3px;right:-3px;min-width:18px;height:18px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;font-style:normal;display:grid;place-items:center;padding:0 4px;border:2px solid var(--bg)}
.nrow,.trow{align-items:flex-start}
.nrow .m small,.trow .m small{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.nrow .when{color:var(--muted);font-size:12px;margin-top:2px}
.nrow.unread,.trow.unread{background:color-mix(in srgb,var(--gold) 9%,var(--card))}
.nrow.unread b,.trow.unread b{font-weight:800}
.udot{width:10px;height:10px;border-radius:50%;background:var(--red);flex:none;margin-top:6px}
.trow .th{width:48px;height:48px;border-radius:12px;object-fit:cover;flex:none}
.trow .tteam{display:grid;place-items:center;background:var(--navy);color:var(--gold-soft)}
.trow .tteam svg{width:22px;height:22px}
.trow .side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none;color:var(--muted);font-size:12px}
.btns .btn[disabled]{opacity:.45}

/* ---------- calendar ---------- */
.calhead{display:flex;align-items:center;gap:8px;margin:4px 0 10px}
.calhead h2{flex:1;margin:0;font-size:21px;letter-spacing:-.01em}
.calhead .ib{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--card);border:1px solid var(--line)}
.calhead .ib svg{width:18px;height:18px}
.cgrid{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:8px}
.cgrid .wd{text-align:center;font-size:11px;font-weight:700;color:var(--muted);padding:2px 0 6px}
.cday{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0 5px;border-radius:10px;min-height:46px}
.cday span{font-size:14px;font-weight:600;width:28px;height:28px;display:grid;place-items:center;border-radius:50%}
.cday.out span{color:var(--muted);opacity:.55}
.cday.today span{color:var(--red);font-weight:800}
.cday.sel span{background:var(--navy);color:#fff}
.cday i{display:flex;gap:2px;height:6px}
.cday i b{width:6px;height:6px;border-radius:50%}
.crow{gap:10px}
.ctime{width:58px;flex:none;font-size:13px;font-weight:700;display:flex;flex-direction:column;line-height:1.2}
.ctime small{font-weight:500;color:var(--muted)}
.cbar{width:4px;align-self:stretch;border-radius:2px;flex:none}
svg.mini{width:13px;height:13px;vertical-align:-2px}
.tag.warn{background:#FCE9D6;color:#9A4A0B;border-color:#F1C59A;gap:3px;flex:none}
.warnbox{display:flex;gap:10px;align-items:flex-start;background:#FCF1E4;border-color:#F1C59A;color:#6D3708;margin:10px 0}
.warnbox svg{width:20px;height:20px;flex:none;margin-top:2px}
.warnbox small{display:block}
@media (prefers-color-scheme:dark){.tag.warn{background:#4A2B10;color:#F8C99A;border-color:#7A4A1E}.warnbox{background:#3A2410;color:#F8D9B8;border-color:#7A4A1E}.cday.sel span{background:var(--gold);color:var(--navy)}}
.live-card{display:flex;align-items:center;gap:12px;text-decoration:none;margin-bottom:14px;border-color:#F3B7B2;background:color-mix(in srgb,#FF4D4D 8%,var(--card))}
.live-card small{display:block;color:var(--muted)}
.live-card .live-dot{width:10px;height:10px;border-radius:50%;background:#FF4D4D;flex:none}
.seg button svg{width:13px;height:13px;vertical-align:-1px;margin-right:4px}

/* ---------- chat photos & videos ---------- */
.compose .attach{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:var(--card);border:1px solid var(--line);color:var(--ink);cursor:pointer;align-self:flex-end}
.compose .attach svg{width:20px;height:20px}
.tray{display:flex;gap:8px;overflow-x:auto;padding:8px 2px 4px}
.tray .tp{position:relative;width:64px;height:64px;flex:none;border-radius:12px;overflow:hidden;background:#000}
.tray .tp img,.tray .tp video{width:100%;height:100%;object-fit:cover}
.tray .tx{position:absolute;top:3px;right:3px;width:22px;height:22px;border-radius:50%;background:rgba(0,0,0,.65);color:#fff;display:grid;place-items:center}
.tray .tx svg{width:13px;height:13px}
.tray .vbadge{position:absolute;left:4px;bottom:4px;color:#fff}
.tray .vbadge svg{width:14px;height:14px}
.tray .tprog{position:absolute;left:6px;right:6px;bottom:6px;height:5px;border-radius:3px;background:rgba(255,255,255,.35);overflow:hidden}
.tray .tprog b{display:block;height:100%;background:#fff;transition:width .2s}
.mgrid{display:grid;gap:3px;border-radius:14px;overflow:hidden;margin:-4px -6px 6px;max-width:260px}
.bub.mediaonly{padding:4px;background:transparent!important;box-shadow:none}
.bub.mediaonly .mgrid{margin:0}
.mgrid.n2,.mgrid.n4{grid-template-columns:1fr 1fr}
.mgrid.n3{grid-template-columns:1fr 1fr}.mgrid.n3>:first-child{grid-column:1/3}
.mgrid .mimg{display:block;padding:0;border:0;background:#0002}
.mgrid img,.mgrid video{display:block;width:100%;max-height:320px;object-fit:cover;background:#000}
.mgrid.n2 img,.mgrid.n3 img,.mgrid.n4 img{aspect-ratio:1/1!important;height:auto}
.pview{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.94);display:grid;place-items:center;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom)}
.pview img{max-width:100vw;max-height:100vh;object-fit:contain}
.pview .pclose{position:absolute;top:calc(env(safe-area-inset-top) + 12px);right:14px;width:40px;height:40px;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;display:grid;place-items:center}
.pview .pclose svg{width:20px;height:20px}
.pview .pcount{position:absolute;top:calc(env(safe-area-inset-top) + 22px);left:0;right:0;text-align:center;color:#fff;font-size:14px;pointer-events:none}
.pview .psave{position:absolute;bottom:calc(env(safe-area-inset-bottom) + 18px);right:16px;color:#fff;font-size:14px;display:flex;gap:6px;align-items:center;text-decoration:none;background:rgba(255,255,255,.15);padding:8px 12px;border-radius:20px}
.pview .psave svg{width:15px;height:15px}

/* ---------- next steps ---------- */
.steps-card{display:block;text-decoration:none;color:inherit;margin-bottom:14px}
.steps-card .ring{--p:0;width:46px;height:46px;border-radius:50%;flex:none;display:grid;place-items:center;background:conic-gradient(var(--gold) calc(var(--p)*1%),var(--line) 0)}
.steps-card .ring i{width:36px;height:36px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:800}
.dots{display:flex;gap:5px;margin-top:10px;align-items:center}
.dots i{width:100%;max-width:44px;height:5px;border-radius:3px;background:var(--line)}
.dots i.done{background:var(--gold)}.dots i.asked{background:color-mix(in srgb,var(--gold) 45%,var(--line))}
.prow .dots{margin-top:4px}.prow .dots i{max-width:22px}
.pbar{height:8px;border-radius:4px;background:var(--line);overflow:hidden}.pbar b{display:block;height:100%;background:var(--gold);border-radius:4px}
.path{list-style:none;margin:0;padding:0;position:relative}
.path li{display:flex;gap:12px;padding:0 0 18px;position:relative}
.path li:not(:last-child)::before{content:"";position:absolute;left:19px;top:40px;bottom:0;width:2px;background:var(--line)}
.path li.done:not(:last-child)::before{background:var(--gold)}
.path .pdot{width:40px;height:40px;border-radius:50%;flex:none;display:grid;place-items:center;background:var(--card);border:2px solid var(--line);color:var(--muted)}
.path .pdot svg{width:18px;height:18px}
.path li.done .pdot{background:var(--gold);border-color:var(--gold);color:var(--navy)}
.path li.asked .pdot{border-color:var(--gold);color:var(--gold)}
.path .pm{flex:1;padding-top:2px}.path .pm b{display:block;font-size:16px}.path .pm small{display:block;color:var(--muted);margin-top:2px}
.path .pbtns{display:flex;gap:8px;margin-top:8px;flex-wrap:wrap}
.lnk{background:none;border:0;padding:0;color:var(--link,#2F6FD6);font:inherit;font-size:13px;text-decoration:underline;cursor:pointer}

/* ---------- Sunday mode ---------- */
.sun-card{display:grid;gap:2px;text-decoration:none;color:#fff;background:linear-gradient(135deg,var(--navy),#1d3a66);border:0;margin-bottom:14px}
.sun-card b{font-size:20px}.sun-card small{color:#ffffffb3}.sun-card .go{display:flex;align-items:center;gap:4px;color:var(--gold-soft);font-weight:700;font-size:14px;margin-top:6px}
.sun-card .go svg{width:16px;height:16px}
.sun-hero{background:linear-gradient(135deg,var(--navy),#1d3a66);color:#fff;border-radius:var(--r);padding:20px;margin-bottom:14px}
.sun-hero h1{font-size:28px;margin:4px 0 6px;letter-spacing:-.02em;color:#fff}.sun-hero p{margin:0 0 12px;color:#ffffffb3}
.guest{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;border-color:var(--gold)}
.guest .ic{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--navy);flex:none}
.guest small,.notes-ready small,.ed small{display:block;color:var(--muted)}
.notes-ready{display:flex;align-items:center;gap:10px;text-decoration:none;color:inherit}
.ed{display:grid;gap:8px;border-style:dashed;margin-top:10px}
.order .oi{display:flex;align-items:center;gap:10px;padding:7px 0;border-bottom:1px solid var(--line);font-weight:600}
.order .oi:last-of-type{border-bottom:0}
.order .oi i{width:8px;height:8px;border-radius:50%;background:var(--muted);flex:none}.order .oi i.w{background:#7B5CC4}
.song{display:flex;gap:10px;align-items:center;padding:5px 0}.song svg{width:16px;height:16px;color:var(--muted);flex:none}.song small{display:block;color:var(--muted)}
.qgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.qbtn{display:grid;justify-items:center;gap:6px;padding:12px 4px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-decoration:none;color:var(--ink);font-size:12px;font-weight:600;text-align:center}
.qbtn svg{width:22px;height:22px}

/* ---------- reading plans ---------- */
.plan-card{display:grid;gap:2px;text-decoration:none;color:inherit;margin-bottom:14px}
.plan-card b{font-size:18px}.plan-card small{color:var(--muted)}
.days .day{align-items:center}
.days .day.today{background:color-mix(in srgb,var(--gold) 10%,var(--card))}
.days .day .m small{color:var(--muted);font-size:12px}
.days .day.done .m b{opacity:.6}
.chk{width:30px;height:30px;border-radius:50%;border:2px solid var(--line);background:var(--card);display:grid;place-items:center;flex:none;color:var(--navy)}
.chk[aria-pressed=true]{background:var(--gold);border-color:var(--gold)}
.chk svg{width:16px;height:16px}
.dn{width:30px;text-align:center;font-weight:700;color:var(--muted);flex:none}
.mates .mate{display:grid;grid-template-columns:90px 1fr auto;gap:10px;align-items:center;padding:5px 0}
.mates .mate small{color:var(--muted);font-size:12px}
.row .pbar{display:block;height:5px}

/* ---------- crew map ---------- */
.cmap{height:330px;border-radius:var(--r);overflow:hidden;border:1px solid var(--line);background:#dfe6ea;z-index:0}
.mapbtn{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit;margin:0 0 14px}
.mapbtn>svg:first-child{width:24px;height:24px;color:var(--gold)}
.mapbtn small{display:block;color:var(--muted)}
.leaflet-popup-content a{color:#2F6FD6}

/* ---------- listen mode ---------- */
.btn.listen{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:2px 8px;margin-top:10px;padding:10px 14px;height:auto;min-height:52px;line-height:1.2}
.btn.listen small{flex-basis:100%;text-align:center;font-weight:500;font-size:12px;color:var(--muted)}
.btn.listen.on{border-color:var(--gold)}
.uprog{height:6px;border-radius:3px;background:var(--line);overflow:hidden;margin-top:6px}.uprog b{display:block;height:100%;width:0;background:var(--gold)}
.miniplayer{position:fixed;left:8px;right:8px;bottom:calc(var(--tabh) + var(--safe-b) + 8px);z-index:21;max-width:664px;margin:0 auto;display:flex;align-items:center;gap:4px;
  background:var(--navy);color:#fff;border-radius:16px;padding:8px 8px 8px 10px;box-shadow:0 8px 24px #0004;overflow:hidden}
body.no-tabs .miniplayer{bottom:calc(var(--safe-b) + 8px)}
.miniplayer[hidden]{display:none}
.mp-prog{position:absolute;left:0;right:0;top:0;height:3px;background:#ffffff26}.mp-prog b{display:block;height:100%;background:var(--gold)}
.mp-info{display:flex;align-items:center;gap:10px;flex:1;min-width:0;color:#fff;text-decoration:none}
.mp-info .m{min-width:0}.mp-info b{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mp-info small{color:#ffffffa8;font-size:12px;font-variant-numeric:tabular-nums}
.mp-ic{width:34px;height:34px;border-radius:10px;background:#ffffff1f;display:grid;place-items:center;flex:none}.mp-ic svg{width:18px;height:18px;color:var(--gold-soft)}
.mp-b{min-width:36px;height:36px;border-radius:50%;color:#fff;font-size:12px;font-weight:700;display:grid;place-items:center;background:none;border:0}
.mp-b svg{width:18px;height:18px}.mp-play{background:#fff;color:var(--navy)}.mp-play svg{width:16px;height:16px}
.mp-x svg{width:15px;height:15px;opacity:.75}
body.has-player #view{padding-bottom:calc(var(--tabh) + var(--safe-b) + 96px)}
body.has-player.chat-open .miniplayer{display:none}

/* ---------- sermon series + editor start time ---------- */
.series-shelf{gap:10px;padding:2px 18px 6px;margin-bottom:12px}
.sercard{flex:none;width:150px;text-align:left;background:none;border:0;padding:0;color:var(--ink)}
.sercard img{width:150px;aspect-ratio:16/9;object-fit:cover;border-radius:12px;display:block;margin-bottom:6px;background:var(--line)}
.sercard b{display:block;font-size:14px;line-height:1.2}.sercard small{color:var(--muted);font-size:12px}
.series-head{margin:0 0 12px}.series-head h2{margin:4px 0 0;font-size:22px}
.startset{display:block;margin-top:10px;border-style:dashed}.startset small{display:block;color:var(--muted)}
.ntools{display:flex;gap:6px;flex-wrap:wrap;margin:4px 0 6px}
.ntools button{border:1px solid var(--line);background:var(--card);border-radius:10px;padding:7px 10px;font:inherit;font-size:13px;font-weight:600;color:var(--ink)}
.ntools button:active{background:var(--gold);color:var(--navy)}
.card.how{margin:0 0 14px}.card.how small{display:block;color:var(--muted);margin-top:4px;line-height:1.5}

/* ---------- Manage on a computer: wider, notes preview beside the editor ---------- */
@media (min-width: 960px) {
  body.admin-wide #view { max-width: 1180px; padding-left: 32px; padding-right: 32px; }
  body.admin-wide .notes-split { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
  body.admin-wide .notes-split textarea { min-height: 560px !important; }
  body.admin-wide .notes-split #pv { position: sticky; top: 16px; max-height: calc(100vh - 32px); overflow: auto; }
  body.admin-wide .notes-split #pv .card { margin-top: 30px !important; }
  body.admin-wide .pvbtn { display: none; }
  body.admin-wide .f textarea { min-height: 120px; }
  body.admin-wide #tabs .in, body.admin-wide .sheet { max-width: 1180px; }
}

/* ---------- About: vision, mission, values ---------- */
.card.mv p{margin:4px 0 0;font-size:16px;line-height:1.45}
.values{display:grid;gap:10px}
.val{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px}
.val .vn{width:30px;height:30px;border-radius:50%;background:var(--navy);color:var(--gold-soft);display:grid;place-items:center;font-weight:800;font-size:14px;flex:none}
.val b{display:block;font-size:16px}.val b span{text-transform:uppercase;letter-spacing:.04em;color:var(--gold)}
.val p{margin:4px 0 0;color:var(--ink-2);font-size:14px;line-height:1.45}
