:root{
  --bg:#090a0b;
  --bg2:#0d0f11;
  --panel:#121519;
  --panel2:#171b20;
  --panel3:#1d2228;
  --line:#2a3037;
  --line2:#343b44;
  --text:#f7f7f4;
  --muted:#aeb4bc;
  --muted2:#7f8791;
  --orange:#f59e0b;
  --orange2:#ffb12e;
  --orange3:#c97800;
  --silver:#d8dce1;
  --green:#4ade80;
  --red:#fb7185;
  --blue:#7dd3fc;
  --shadow:0 18px 44px rgba(0,0,0,.28);
  --radius:18px;
  --radius-sm:13px;
  --top:76px;
  --nav:72px;
  --max:860px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark;scroll-behavior:smooth}
body{margin:0;background:
  radial-gradient(850px 420px at 50% -120px,rgba(245,158,11,.12),transparent 58%),
  linear-gradient(180deg,#0a0b0c 0,#090a0b 100%);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;min-height:100vh;-webkit-font-smoothing:antialiased}
button,input,textarea,select{font:inherit}
button{color:inherit}
a{color:var(--orange2)}
svg{display:block}
[hidden]{display:none!important}
::selection{background:rgba(245,158,11,.3)}

.offline-strip{position:fixed;z-index:120;left:0;right:0;top:0;padding:8px 16px calc(8px + env(safe-area-inset-top,0px));text-align:center;background:#7c2d12;color:#fff;font-size:12px;font-weight:750;letter-spacing:.01em}
.offline-strip:not([hidden])~.topbar{top:34px}

.topbar{position:fixed;z-index:80;top:0;left:0;right:0;background:rgba(9,10,11,.84);backdrop-filter:blur(20px) saturate(135%);-webkit-backdrop-filter:blur(20px) saturate(135%);border-bottom:1px solid rgba(255,255,255,.07);padding-top:var(--safe-top)}
.topbar__inner{height:var(--top);max-width:var(--max);margin:0 auto;padding:0 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}
.brand{appearance:none;border:0;background:none;padding:0;display:flex;align-items:center;gap:10px;text-align:left;cursor:pointer;min-width:0}
.brand__icon{width:42px;height:42px;border-radius:11px;box-shadow:0 6px 16px rgba(0,0,0,.38);flex:0 0 auto}
.brand__copy{min-width:0;display:flex;flex-direction:column;line-height:1.08}
.brand__copy strong{font-size:15px;letter-spacing:.01em;white-space:nowrap}
.brand__copy small{font-size:11px;color:var(--orange2);font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-top:4px}
.topbar__actions{display:flex;align-items:center;gap:8px;min-width:0}
.group-switch{max-width:180px;display:flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:9px 11px 9px 13px;font-size:12px;font-weight:800;cursor:pointer;min-width:0}
.group-switch span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.group-switch svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.2;flex:0 0 auto}
.icon-btn{width:40px;height:40px;border:1px solid var(--line);border-radius:12px;background:var(--panel);display:grid;place-items:center;cursor:pointer;flex:0 0 auto}
.icon-btn:active{transform:translateY(1px)}
.icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.icon-btn--soft{background:var(--panel2)}

.app{max-width:var(--max);margin:0 auto;padding:calc(var(--top) + var(--safe-top) + 22px) 16px calc(var(--nav) + var(--safe-bottom) + 28px);min-height:100vh;outline:none}
.page-head{margin:4px 0 20px}
.page-head h1{font-size:30px;line-height:1.08;margin:0;letter-spacing:-.035em}
.page-head p{margin:8px 0 0;color:var(--muted);font-size:14px;line-height:1.5;max-width:680px}
.eyebrow{margin:0 0 6px;color:var(--orange2);font-size:11px;font-weight:850;text-transform:uppercase;letter-spacing:.13em}
.section-title{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin:24px 0 11px}
.section-title h2,.section-title h3{font-size:17px;margin:0;letter-spacing:-.015em}
.section-title p{margin:0;color:var(--muted2);font-size:12px}

.hero{position:relative;overflow:hidden;border:1px solid rgba(245,158,11,.25);background:
  radial-gradient(520px 250px at 100% 0,rgba(245,158,11,.18),transparent 66%),
  linear-gradient(145deg,#17191d,#101215 72%);border-radius:24px;padding:22px;box-shadow:var(--shadow)}
.hero:after{content:"";position:absolute;right:-56px;bottom:-70px;width:220px;height:220px;border:34px solid rgba(245,158,11,.06);border-radius:50%}
.hero__top{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;position:relative;z-index:1}
.hero__day{font-size:50px;font-weight:900;letter-spacing:-.06em;line-height:.94;margin:4px 0 4px}
.hero__phase{font-size:14px;color:var(--silver);font-weight:750;max-width:520px;line-height:1.35}
.hero__badge{border:1px solid rgba(245,158,11,.3);background:rgba(245,158,11,.08);color:var(--orange2);padding:7px 10px;border-radius:999px;font-size:11px;font-weight:850;white-space:nowrap}
.hero__actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:20px;position:relative;z-index:1}

.grid{display:grid;gap:12px}
.grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.stat{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:15px;min-height:94px}
.stat__label{color:var(--muted2);font-size:11px;text-transform:uppercase;letter-spacing:.09em;font-weight:800}
.stat__value{font-size:27px;font-weight:900;letter-spacing:-.04em;margin-top:7px}
.stat__meta{font-size:11px;color:var(--muted);margin-top:3px;line-height:1.35}

.card{border:1px solid var(--line);background:linear-gradient(180deg,var(--panel),#101316);border-radius:var(--radius);padding:17px}
.card--soft{background:var(--panel2)}
.card--orange{border-color:rgba(245,158,11,.28);background:linear-gradient(180deg,rgba(245,158,11,.105),rgba(245,158,11,.03))}
.card--danger{border-color:rgba(251,113,133,.25);background:rgba(251,113,133,.05)}
.card h3{font-size:16px;margin:0 0 8px;letter-spacing:-.01em}
.card p{color:var(--muted);font-size:14px;line-height:1.55;margin:7px 0}
.card p:last-child{margin-bottom:0}

.btn{appearance:none;border:1px solid var(--line2);background:var(--panel2);border-radius:12px;padding:11px 14px;min-height:44px;font-weight:800;font-size:13px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-align:center;text-decoration:none}
.btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.btn:hover{border-color:#46505c}
.btn:active{transform:translateY(1px)}
.btn--primary{border-color:#f5a20d;background:linear-gradient(180deg,#ffb22a,#e88c00);color:#130c02;text-shadow:0 1px rgba(255,255,255,.2);box-shadow:0 8px 24px rgba(245,158,11,.18)}
.btn--ghost{background:transparent}
.btn--danger{border-color:rgba(251,113,133,.35);color:#fecdd3;background:rgba(251,113,133,.06)}
.btn--sm{min-height:36px;padding:8px 11px;border-radius:10px;font-size:12px}
.btn--wide{width:100%}
.btn-row{display:flex;gap:9px;flex-wrap:wrap}

.list{display:flex;flex-direction:column;gap:9px}
.row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:13px 14px;min-height:64px}
.row--button{width:100%;text-align:left;appearance:none;color:inherit;cursor:pointer}
.row--button:hover{border-color:#3b444e;background:var(--panel2)}
.row__icon{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;background:rgba(245,158,11,.095);color:var(--orange2);flex:0 0 auto}
.row__icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.row__body{min-width:0;flex:1}
.row__title{font-size:14px;font-weight:820;line-height:1.25}
.row__meta{font-size:12px;color:var(--muted);margin-top:3px;line-height:1.35}
.row__aside{margin-left:auto;color:var(--muted2);font-size:12px;white-space:nowrap}
.row__chev{width:17px;height:17px;stroke:var(--muted2);fill:none;stroke-width:2;flex:0 0 auto}

.progress{height:7px;border-radius:99px;background:#242a31;overflow:hidden}
.progress span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#db8200,#ffb62f);width:0}

.pill{display:inline-flex;align-items:center;gap:5px;border:1px solid var(--line);background:var(--panel2);border-radius:999px;padding:5px 8px;font-size:10px;font-weight:850;letter-spacing:.02em;color:var(--muted)}
.pill--orange{color:var(--orange2);border-color:rgba(245,158,11,.25);background:rgba(245,158,11,.07)}
.pill--green{color:#86efac;border-color:rgba(74,222,128,.24);background:rgba(74,222,128,.06)}
.pill--red{color:#fda4af;border-color:rgba(251,113,133,.24);background:rgba(251,113,133,.06)}

.input,.select,.textarea{width:100%;border:1px solid var(--line2);background:#0c0e10;color:var(--text);border-radius:12px;min-height:47px;padding:11px 12px;font-size:16px;outline:none}
.textarea{min-height:110px;resize:vertical;line-height:1.5}
.input:focus,.select:focus,.textarea:focus{border-color:rgba(245,158,11,.75);box-shadow:0 0 0 3px rgba(245,158,11,.10)}
.label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);font-weight:820;margin-bottom:7px}
.field{margin-bottom:14px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.help{color:var(--muted2);font-size:11px;line-height:1.45;margin-top:6px}
.search-wrap{position:relative}
.search-wrap svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--muted2);stroke-width:2;pointer-events:none}
.search-wrap .input{padding-left:40px}

.notice{border-left:3px solid var(--orange);background:rgba(245,158,11,.07);padding:12px 13px;border-radius:0 12px 12px 0;color:var(--muted);font-size:13px;line-height:1.5}
.notice strong{color:var(--text)}
.notice--danger{border-left-color:var(--red);background:rgba(251,113,133,.06)}

.day-groups{display:flex;flex-direction:column;gap:22px}
.phase-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}
.phase-head h3{margin:0;font-size:14px;line-height:1.25}
.day-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.day-card{appearance:none;width:100%;text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:14px;padding:13px;cursor:pointer;min-height:96px}
.day-card:hover{border-color:#3e4751;background:var(--panel2)}
.day-card__n{font-size:10px;color:var(--orange2);font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.day-card__title{font-size:13px;font-weight:820;line-height:1.25;margin-top:5px}
.day-card__ref{font-size:11px;color:var(--muted);margin-top:5px}
.day-card.is-today{border-color:rgba(245,158,11,.7);box-shadow:inset 0 0 0 1px rgba(245,158,11,.18)}

.session-card{border:1px solid var(--line);background:var(--panel);border-radius:18px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:13px;align-items:center;cursor:pointer;width:100%;text-align:left;appearance:none}
.session-card:hover{border-color:#3e4751;background:var(--panel2)}
.session-card__num{width:42px;height:42px;border-radius:13px;background:rgba(245,158,11,.10);color:var(--orange2);display:grid;place-items:center;font-size:15px;font-weight:900}
.session-card.is-done .session-card__num{background:rgba(74,222,128,.09);color:#86efac}
.session-card__title{font-weight:850;font-size:15px;line-height:1.2}
.session-card__meta{font-size:11px;color:var(--muted);margin-top:4px}
.session-card__chev{width:18px;height:18px;stroke:var(--muted2);fill:none;stroke-width:2}

.att-grid{display:flex;flex-direction:column;gap:8px}
.att-row{display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center;border:1px solid var(--line);background:var(--panel);padding:11px 12px;border-radius:13px}
.att-name{font-size:13px;font-weight:800}
.att-actions{display:flex;gap:5px}
.att-btn{border:1px solid var(--line2);background:var(--panel2);color:var(--muted);min-width:34px;height:34px;border-radius:9px;font-size:11px;font-weight:850;cursor:pointer}
.att-btn.is-present{color:#86efac;border-color:rgba(74,222,128,.35);background:rgba(74,222,128,.06)}
.att-btn.is-absent{color:#fda4af;border-color:rgba(251,113,133,.35);background:rgba(251,113,133,.06)}
.att-btn.is-excused{color:#bae6fd;border-color:rgba(125,211,252,.35);background:rgba(125,211,252,.06)}

.member-row{border:1px solid var(--line);background:var(--panel);border-radius:15px;padding:13px;display:flex;gap:11px;align-items:center}
.avatar{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#3a2b12,#1c1710);border:1px solid rgba(245,158,11,.25);color:var(--orange2);font-size:12px;font-weight:900;flex:0 0 auto}
.member-row__body{flex:1;min-width:0}
.member-row__name{font-size:14px;font-weight:820}
.member-row__meta{font-size:11px;color:var(--muted2);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.prayer-card{border:1px solid var(--line);background:var(--panel);border-radius:16px;padding:15px}
.prayer-card.is-answered{opacity:.72}
.prayer-card.is-answered .prayer-card__text{text-decoration:line-through;text-decoration-color:rgba(255,255,255,.25)}
.prayer-card__text{font-size:14px;line-height:1.52;margin:0;color:var(--silver)}
.prayer-card__meta{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:12px;color:var(--muted2);font-size:10px}
.prayer-card__actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}

.tabs-inline{display:flex;gap:7px;overflow:auto;padding:2px 0 4px;scrollbar-width:none}
.tabs-inline::-webkit-scrollbar{display:none}
.tab-chip{white-space:nowrap;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:8px 11px;font-size:11px;font-weight:820;color:var(--muted);cursor:pointer}
.tab-chip.is-active{color:#140c01;background:var(--orange2);border-color:var(--orange2)}

.guide-accordion{border:1px solid var(--line);background:var(--panel);border-radius:15px;overflow:hidden}
.guide-accordion button{appearance:none;border:0;background:none;color:inherit;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px;text-align:left;font-weight:820;cursor:pointer}
.guide-accordion button svg{width:17px;height:17px;fill:none;stroke:var(--muted2);stroke-width:2;transition:transform .2s}
.guide-accordion.is-open button svg{transform:rotate(180deg)}
.guide-accordion__body{display:none;padding:0 15px 15px;color:var(--muted);font-size:13.5px;line-height:1.55}
.guide-accordion.is-open .guide-accordion__body{display:block}
.guide-accordion__body ul{padding-left:20px;margin:10px 0}
.guide-accordion__body li{margin:7px 0}

.bottom-nav{position:fixed;z-index:70;bottom:0;left:0;right:0;background:rgba(12,14,16,.92);backdrop-filter:blur(20px) saturate(130%);-webkit-backdrop-filter:blur(20px) saturate(130%);border-top:1px solid rgba(255,255,255,.08);padding-bottom:var(--safe-bottom)}
.bottom-nav{display:grid;grid-template-columns:repeat(6,1fr);height:calc(var(--nav) + var(--safe-bottom))}
.nav-item{appearance:none;border:0;background:none;color:var(--muted2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px 3px 7px;cursor:pointer;min-width:0}
.nav-item svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.nav-item span{font-size:9.5px;font-weight:800;white-space:nowrap}
.nav-item.is-active{color:var(--orange2)}
.nav-item.is-active svg{filter:drop-shadow(0 0 8px rgba(245,158,11,.25))}

.modal-layer{position:fixed;z-index:150;inset:0;display:flex;align-items:flex-end;justify-content:center;padding-top:calc(24px + var(--safe-top))}
.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.68);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}
.modal{position:relative;z-index:1;width:min(820px,100%);max-height:calc(100vh - 24px - var(--safe-top));background:#0f1215;border:1px solid var(--line);border-bottom:0;border-radius:24px 24px 0 0;box-shadow:0 -20px 70px rgba(0,0,0,.42);display:flex;flex-direction:column;overflow:hidden}
.modal__grab{width:42px;height:4px;background:#3a4149;border-radius:99px;margin:9px auto 1px}
.modal__header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 17px 12px;border-bottom:1px solid var(--line)}
.modal__header h2{font-size:21px;line-height:1.15;margin:0;letter-spacing:-.025em}
.modal__body{overflow:auto;padding:17px 17px calc(18px + var(--safe-bottom));-webkit-overflow-scrolling:touch}
.modal__footer{display:flex;gap:9px;padding:12px 16px calc(12px + var(--safe-bottom));border-top:1px solid var(--line);background:#0d0f11}
.modal__footer .btn{flex:1}
.prose h3{font-size:15px;margin:21px 0 8px;color:var(--text)}
.prose h3:first-child{margin-top:0}
.prose p{font-size:14px;color:var(--muted);line-height:1.62;margin:8px 0}
.prose ul,.prose ol{padding-left:21px;color:var(--muted);font-size:14px;line-height:1.55}
.prose li{margin:7px 0}
.scripture{border-left:3px solid var(--orange);background:rgba(245,158,11,.055);padding:13px 14px;border-radius:0 13px 13px 0;font-family:Georgia,"Times New Roman",serif;font-size:16px;line-height:1.55;color:#f2ede4}
.scripture cite{display:block;font-family:inherit;font-style:normal;color:var(--orange2);font-size:11px;font-weight:700;margin-top:8px}

.meeting-layer{position:fixed;z-index:130;inset:0;background:#090a0b;overflow:auto;padding:calc(12px + var(--safe-top)) 0 calc(22px + var(--safe-bottom));-webkit-overflow-scrolling:touch}
.meeting{max-width:760px;margin:0 auto;padding:0 16px;min-height:100%}
.meeting__top{display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:0;z-index:2;background:rgba(9,10,11,.94);backdrop-filter:blur(14px);padding:7px 0 11px}
.meeting__meta{min-width:0}
.meeting__meta strong{display:block;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.meeting__meta span{font-size:10px;color:var(--muted2)}
.meeting__timer{font-variant-numeric:tabular-nums;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:7px 10px;font-size:11px;font-weight:850}
.meeting__progress{margin:8px 0 18px}
.meeting__step{border:1px solid var(--line);background:linear-gradient(180deg,#14171b,#0f1215);border-radius:22px;padding:20px;min-height:58vh;display:flex;flex-direction:column}
.meeting__stepnum{font-size:10px;color:var(--orange2);font-weight:850;text-transform:uppercase;letter-spacing:.1em}
.meeting__step h1{font-size:29px;letter-spacing:-.035em;margin:7px 0 4px}
.meeting__hint{color:var(--muted);font-size:13px;line-height:1.5;margin:0 0 18px}
.meeting__content{flex:1}
.meeting__content p{font-size:16px;line-height:1.6;color:var(--silver)}
.meeting__content ul,.meeting__content ol{font-size:16px;line-height:1.55;padding-left:22px;color:var(--silver)}
.meeting__content li{margin:9px 0}
.meeting__footer{display:grid;grid-template-columns:1fr 1.3fr;gap:9px;margin-top:13px}
.segment-timer{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);background:var(--panel);border-radius:13px;padding:10px 12px;margin-top:16px}
.segment-timer span{font-size:11px;color:var(--muted)}
.segment-timer strong{font-variant-numeric:tabular-nums;font-size:14px}

.empty{border:1px dashed #343b43;background:rgba(255,255,255,.015);border-radius:15px;padding:22px;text-align:center;color:var(--muted);font-size:13px;line-height:1.5}
.divider{height:1px;background:var(--line);margin:18px 0}
.kicker{color:var(--orange2);font-weight:820}
.muted{color:var(--muted)!important}
.small{font-size:12px!important}
.tiny{font-size:10px!important}
.right{margin-left:auto}

.toast-region{position:fixed;z-index:200;right:14px;bottom:calc(var(--nav) + var(--safe-bottom) + 14px);display:flex;flex-direction:column;gap:8px;pointer-events:none;max-width:min(360px,calc(100vw - 28px))}
.toast{background:#1a1f24;border:1px solid #343b43;border-radius:13px;padding:11px 13px;box-shadow:var(--shadow);font-size:12px;color:var(--silver);animation:toast-in .22s ease-out}
@keyframes toast-in{from{transform:translateY(8px);opacity:0}to{transform:none;opacity:1}}

.onboarding{min-height:calc(100vh - var(--top) - var(--safe-top) - var(--nav) - var(--safe-bottom) - 55px);display:flex;align-items:center;justify-content:center}
.onboarding__card{width:min(560px,100%);border:1px solid rgba(245,158,11,.22);background:linear-gradient(180deg,#15181c,#0f1114);border-radius:24px;padding:23px;box-shadow:var(--shadow)}
.onboarding__logo{width:76px;height:76px;border-radius:20px;box-shadow:0 10px 28px rgba(0,0,0,.4);margin-bottom:16px}
.onboarding h1{font-size:28px;line-height:1.05;letter-spacing:-.035em;margin:0}
.onboarding p{font-size:14px;color:var(--muted);line-height:1.55}

@media (min-width:700px){
  .app{padding-left:22px;padding-right:22px}
  .day-list{grid-template-columns:repeat(3,minmax(0,1fr))}
  .modal-layer{align-items:center;padding:28px}
  .modal{border-bottom:1px solid var(--line);border-radius:24px;max-height:calc(100vh - 56px)}
  .modal__body{padding-bottom:22px}
  .modal__footer{padding-bottom:12px}
}
@media (max-width:520px){
  :root{--top:68px;--nav:66px}
  .brand__icon{width:38px;height:38px;border-radius:10px}
  .brand__copy strong{font-size:14px}
  .brand__copy small{font-size:9.5px}
  .group-switch{max-width:116px;padding:8px 9px 8px 11px}
  .group-switch span{font-size:11px}
  .icon-btn{width:38px;height:38px}
  .page-head h1{font-size:27px}
  .hero{padding:19px}
  .hero__day{font-size:44px}
  .hero__top{flex-direction:column;gap:8px}
  .hero__badge{align-self:flex-start}
  .grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid--3 .stat:last-child{grid-column:1/-1}
  .form-grid{grid-template-columns:1fr}
  .day-list{grid-template-columns:1fr 1fr}
  .modal__header h2{font-size:19px}
  .meeting__step{padding:17px;min-height:62vh}
  .meeting__step h1{font-size:26px}
  .meeting__content p,.meeting__content ul,.meeting__content ol{font-size:15px}
}
@media (max-width:365px){
  .nav-item span{font-size:8.7px}
  .nav-item svg{width:20px;height:20px}
  .day-list{grid-template-columns:1fr}
  .group-switch{display:none}
}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
@media print{
  .topbar,.bottom-nav,.offline-strip,.toast-region{display:none!important}
  body{background:#fff;color:#111}
  .app{padding:0;max-width:none}
}

/* ============================================================
   v4.1.0 — Display preferences (text size, line spacing, light theme)
   + Settings, guided tour, and How-to-Use page components.
   This block is intentionally placed last so it wins over the
   responsive rules above for reading-text sizing.
   ============================================================ */

:root{--fs:1;--lh:1}

/* --- Reading-text scaling. Chrome (nav, pills, buttons, eyebrows)
       stays fixed so layouts never break. --- */
.prose p{font-size:calc(14px * var(--fs));line-height:calc(1.62 * var(--lh))}
.prose ul,.prose ol{font-size:calc(14px * var(--fs));line-height:calc(1.55 * var(--lh))}
.prose h3{font-size:calc(15px * var(--fs))}
.scripture{font-size:calc(16px * var(--fs));line-height:calc(1.55 * var(--lh))}
.notice{font-size:calc(13px * var(--fs));line-height:calc(1.5 * var(--lh))}
.card p{font-size:calc(14px * var(--fs));line-height:calc(1.55 * var(--lh))}
.card h3{font-size:calc(16px * var(--fs))}
.guide-accordion__body{font-size:calc(13.5px * var(--fs));line-height:calc(1.55 * var(--lh))}
.row__title{font-size:calc(14px * var(--fs))}
.row__meta{font-size:calc(12px * var(--fs))}
.day-card__title{font-size:calc(13px * var(--fs))}
.day-card__ref{font-size:calc(11px * var(--fs))}
.session-card__title{font-size:calc(15px * var(--fs))}
.session-card__meta{font-size:calc(11px * var(--fs))}
.prayer-card__text{font-size:calc(14px * var(--fs));line-height:calc(1.52 * var(--lh))}
.member-row__name{font-size:calc(14px * var(--fs))}
.att-name{font-size:calc(13px * var(--fs))}
.empty{font-size:calc(13px * var(--fs));line-height:calc(1.5 * var(--lh))}
.meeting__hint{font-size:calc(13px * var(--fs));line-height:calc(1.5 * var(--lh))}
.meeting__step h1{font-size:calc(29px * var(--fs))}
.meeting__content p{font-size:calc(16px * var(--fs));line-height:calc(1.6 * var(--lh))}
.meeting__content ul,.meeting__content ol{font-size:calc(16px * var(--fs));line-height:calc(1.55 * var(--lh))}
@media (max-width:520px){
  .meeting__step h1{font-size:calc(26px * var(--fs))}
}

/* --- Settings & selectable option controls --- */
.settings-block{margin:2px 0 20px}
.settings-block > .label{margin-bottom:9px}
.opt-grid{display:grid;gap:8px}
.opt-grid--3{grid-template-columns:repeat(3,1fr)}
.opt-grid--4{grid-template-columns:repeat(4,1fr)}
.opt-grid--5{grid-template-columns:repeat(5,1fr)}
.opt{appearance:none;border:1px solid var(--line2);background:var(--panel2);color:var(--muted);border-radius:12px;padding:11px 6px;min-height:56px;font-weight:820;font-size:12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;line-height:1.12;text-align:center}
.opt:hover{border-color:var(--line2);background:var(--panel3)}
.opt:active{transform:translateY(1px)}
.opt.is-active{border-color:var(--orange);background:rgba(245,158,11,.12);color:var(--text);box-shadow:inset 0 0 0 1px rgba(245,158,11,.25)}
.opt__big{font-weight:900;letter-spacing:-.02em}
.opt small{font-size:10px;color:var(--muted2);font-weight:750}
.opt.is-active small{color:var(--orange2)}
.opt svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.settings-preview{margin-top:2px}
.settings-preview .eyebrow{margin-bottom:8px}

/* --- Guided tour --- */
.tour-hero{display:flex;align-items:center;gap:13px;margin-bottom:6px}
.tour-hero__icon{width:52px;height:52px;border-radius:15px;background:rgba(245,158,11,.1);color:var(--orange2);display:grid;place-items:center;flex:0 0 auto;border:1px solid rgba(245,158,11,.22)}
.tour-hero__icon svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:1.85;stroke-linecap:round;stroke-linejoin:round}
.tour-hero__step{font-size:10px;color:var(--orange2);font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.tour-hero__title{font-size:19px;font-weight:850;letter-spacing:-.02em;line-height:1.15;margin-top:3px}
.tour-dots{display:flex;gap:6px;align-items:center;margin-right:auto}
.tour-dot{width:7px;height:7px;border-radius:99px;background:var(--line2);transition:width .2s,background .2s}
.tour-dot.is-active{background:var(--orange2);width:19px}
.modal__footer .tour-dots{flex:0 1 auto}

/* --- How-to-Use page --- */
.pagenav{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.help-lead{border:1px solid rgba(245,158,11,.25);background:linear-gradient(145deg,rgba(245,158,11,.09),rgba(245,158,11,.02));border-radius:var(--radius);padding:17px}
.help-lead h2{margin:0 0 6px;font-size:18px;letter-spacing:-.02em}
.help-lead p{margin:0;color:var(--muted);font-size:calc(14px * var(--fs));line-height:calc(1.55 * var(--lh))}
.help-step{display:flex;gap:12px;align-items:flex-start}
.help-step__n{width:27px;height:27px;border-radius:9px;background:rgba(245,158,11,.1);color:var(--orange2);display:grid;place-items:center;font-weight:900;font-size:13px;flex:0 0 auto;margin-top:1px}

/* ============================================================
   LIGHT THEME — a faithful "day mode" of the same identity.
   ============================================================ */
html[data-theme="light"]{
  --bg:#f4f2ec;
  --bg2:#eeece5;
  --panel:#ffffff;
  --panel2:#f6f4ee;
  --panel3:#eeebe2;
  --line:#e4e0d6;
  --line2:#d5d0c3;
  --text:#1b1d20;
  --muted:#565b62;
  --muted2:#828892;
  --orange:#d98a12;
  --orange2:#9a5a05;
  --orange3:#7c4a03;
  --silver:#2b2e33;
  --green:#15803d;
  --red:#be123c;
  --blue:#0369a1;
  --shadow:0 18px 40px rgba(30,26,18,.12);
  color-scheme:light;
}
html[data-theme="light"]{background:var(--bg)}
html[data-theme="light"] body{background:
  radial-gradient(850px 420px at 50% -120px,rgba(245,158,11,.14),transparent 58%),
  linear-gradient(180deg,#f7f5ef 0,#f2f0e9 100%)}
html[data-theme="light"] .topbar{background:rgba(248,246,240,.86);border-bottom-color:var(--line)}
html[data-theme="light"] .bottom-nav{background:rgba(248,246,240,.92);border-top-color:var(--line)}
html[data-theme="light"] .card{background:var(--panel)}
html[data-theme="light"] .card--soft{background:var(--panel2)}
html[data-theme="light"] .card--orange{background:linear-gradient(180deg,rgba(245,158,11,.12),rgba(245,158,11,.04));border-color:rgba(245,158,11,.32)}
html[data-theme="light"] .card--danger{background:rgba(190,18,60,.05);border-color:rgba(190,18,60,.22)}
html[data-theme="light"] .hero{background:
  radial-gradient(520px 250px at 100% 0,rgba(245,158,11,.22),transparent 66%),
  linear-gradient(145deg,#ffffff,#fbf5e9 72%);border-color:rgba(245,158,11,.38)}
html[data-theme="light"] .hero:after{border-color:rgba(245,158,11,.1)}
html[data-theme="light"] .stat{background:var(--panel)}
html[data-theme="light"] .input,html[data-theme="light"] .select,html[data-theme="light"] .textarea{background:#fff;color:var(--text)}
html[data-theme="light"] .progress{background:#e6e1d5}
html[data-theme="light"] .btn{background:var(--panel2)}
html[data-theme="light"] .btn:hover{border-color:var(--line2);background:var(--panel3)}
html[data-theme="light"] .btn--primary{border-color:#e0910f;background:linear-gradient(180deg,#ffb22a,#e08a00);color:#241703;text-shadow:0 1px rgba(255,255,255,.35);box-shadow:0 8px 22px rgba(245,158,11,.28)}
html[data-theme="light"] .btn--danger{color:#9f1239;background:rgba(190,18,60,.06);border-color:rgba(190,18,60,.3)}
html[data-theme="light"] .row,html[data-theme="light"] .member-row,html[data-theme="light"] .att-row,html[data-theme="light"] .prayer-card,html[data-theme="light"] .session-card,html[data-theme="light"] .day-card,html[data-theme="light"] .guide-accordion,html[data-theme="light"] .stat{background:var(--panel)}
html[data-theme="light"] .row--button:hover,html[data-theme="light"] .day-card:hover,html[data-theme="light"] .session-card:hover{border-color:var(--line2);background:var(--panel2)}
html[data-theme="light"] .att-btn,html[data-theme="light"] .tab-chip,html[data-theme="light"] .group-switch,html[data-theme="light"] .icon-btn,html[data-theme="light"] .opt{background:var(--panel)}
html[data-theme="light"] .tab-chip.is-active{background:#9a5a05;border-color:#9a5a05;color:#fff}
html[data-theme="light"] .nav-item.is-active svg{filter:none}
html[data-theme="light"] .modal{background:#fff}
html[data-theme="light"] .modal__footer{background:var(--panel2)}
html[data-theme="light"] .modal__grab{background:#c9c3b5}
html[data-theme="light"] .modal-backdrop{background:rgba(40,34,24,.42)}
html[data-theme="light"] .meeting-layer{background:var(--bg)}
html[data-theme="light"] .meeting__top{background:rgba(244,242,236,.94)}
html[data-theme="light"] .meeting__step{background:linear-gradient(180deg,#ffffff,#f8f5ee)}
html[data-theme="light"] .meeting__timer{background:var(--panel)}
html[data-theme="light"] .meeting__content p,html[data-theme="light"] .meeting__content ul,html[data-theme="light"] .meeting__content ol{color:#26292d}
html[data-theme="light"] .scripture{color:#2b2620}
html[data-theme="light"] .prayer-card__text{color:#26292d}
html[data-theme="light"] .toast{background:#fff;border-color:var(--line);color:var(--text)}
html[data-theme="light"] .avatar{background:linear-gradient(145deg,#fbe6c4,#fcf4e5);border-color:rgba(245,158,11,.3)}
html[data-theme="light"] .onboarding__card{background:linear-gradient(180deg,#ffffff,#fbf7ee)}
html[data-theme="light"] .empty{background:rgba(0,0,0,.02);border-color:#dcd6c8}
html[data-theme="light"] .offline-strip{background:#b45309}
html[data-theme="light"] .tour-hero__icon,html[data-theme="light"] .help-step__n{background:rgba(245,158,11,.12)}
html[data-theme="light"] ::selection{background:rgba(245,158,11,.28)}
