/* Brand mark, Home layout, feature components, celebrations, phone layout and water. */
/* ===== ReadyVessel brand mark ===== */
.brand{display:flex;align-items:center;gap:10px}
.brand::before{display:none!important}
.brand .mark{width:30px;height:30px;flex:none}
.brand-v{color:var(--accent-ink)}
.mark .mk-a{fill:var(--accent)}.mark .mk-i{fill:var(--ink)}.mark .mk-r{stroke:var(--ink)}
/* ===== Home layout ===== */
.hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:30px 0 14px}
.hero .mark{width:104px;height:104px}
.hero-word{font-family:var(--cond);font-weight:800;font-size:clamp(46px,14vw,68px);letter-spacing:.05em;line-height:1;margin-top:12px}
.hero-word span{color:var(--accent-ink)}
.hero-tag{font-size:13px;font-weight:600;letter-spacing:.14em;line-height:1.5;max-width:30ch;margin-left:auto;margin-right:auto;text-transform:uppercase;color:var(--muted);margin-top:10px}
.top .brand{transition:opacity .2s}
body.on-home.hero-in .top .brand{opacity:0;pointer-events:none}
body.on-home.hero-in .top{border-bottom-color:transparent}
@media (max-width:700px){ .sync{display:none} }
#dateSlot .datebar{margin:6px 0 0}
.hcard{display:block;width:100%;text-align:left;background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:6px;padding:16px;margin-bottom:12px;color:var(--ink)}
.hcard-h{display:flex;justify-content:space-between;align-items:center;gap:10px}
.hcard-t{font-family:var(--cond);font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.03em}
.hcard-go{font-family:var(--cond);color:var(--accent-ink);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:15px;white-space:nowrap}
.hcard-p{display:block;margin-top:6px;color:var(--muted);font-size:15px;line-height:1.4}
.hcard-bar{display:block;margin-top:10px}
#homeCards{margin:6px 0 22px}
@keyframes panelUp{from{transform:translateY(24px);opacity:.4}to{transform:none;opacity:1}}
.toast{z-index:70}
.catpill{font-family:var(--sans);font-size:14px;font-weight:600;letter-spacing:0;text-align:left}
.catpill[disabled]{opacity:.55;cursor:default}
@media (prefers-reduced-motion:reduce){.panel{animation:none}}
/* ===== Daily v2 ===== */
.hcard{padding:0;overflow:hidden}
.hcard-head{display:block;width:100%;text-align:left;background:none;border:0;padding:16px;color:inherit}
.hcard-go{display:inline-flex;align-items:center;gap:6px}
.hcard-go::after{content:"";width:8px;height:8px;border-right:2.5px solid currentColor;border-bottom:2.5px solid currentColor;transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.hcard.open .hcard-go::after{transform:rotate(-135deg);margin-top:4px}
.hcard-sum{display:block}
.hcard.open .hcard-sum{display:none}
.hcard-body{padding:0 16px 18px;border-top:1px solid var(--line)}
.hcard-body > section{padding-top:4px}
.hcard-body .card{background:var(--paper)}
.hpill{font-family:var(--sans);font-size:15px;font-weight:600;letter-spacing:0;padding:9px 13px;border-color:var(--line)}
.hpill[aria-pressed="true"]{background:var(--c);border-color:var(--c);color:#fff}
.group .chips{gap:8px}
#homeLeft .group{margin-bottom:22px}
.home-cols{display:block}
/* computer and large tablets: two columns */
@media (min-width:900px){
  .wrap{max-width:1180px;padding:0 32px}
  .top .wrap{flex-wrap:nowrap;align-items:center;padding-top:12px;padding-bottom:0}
  .tabs{width:auto;margin:0 0 0 auto}
  .home-cols{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:40px;align-items:start}
  .hero{flex-direction:row;justify-content:center;gap:24px;padding:36px 0 24px;text-align:left}
  .hero .mark{width:88px;height:88px}
  .hero-word{margin-top:0;font-size:64px}
  .hero-text{display:flex;flex-direction:column}
  #gList{display:grid;grid-template-columns:1fr 1fr;gap:18px}
  #gList .goal{margin-bottom:0}
  #mList{display:grid;grid-template-columns:1fr 1fr;gap:0 24px}
  .fab{right:32px;bottom:32px}
  .sheet{bottom:auto;top:50%;transform:translateY(-40%);opacity:0;border-radius:14px;transition:transform .2s,opacity .2s}
  .sheet.open{transform:translateY(-50%);opacity:1}
}
/* ===== habits v3 ===== */
.xbtn{width:36px;height:36px;border:1px solid var(--line);background:var(--paper);border-radius:6px;font-size:20px;line-height:1;color:var(--muted)}
.pooltoggle{display:block;width:100%;margin:14px 0 18px;padding:12px;border:2px dashed var(--line);background:none;border-radius:6px;font-family:var(--cond);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink)}
.pooltoggle[aria-expanded="true"]{border-style:solid}
#pool .group{margin-bottom:18px}
.hpill[disabled]{opacity:.5;cursor:default}
.c-career{--c:var(--career)}

/* ===== pool chips tinted by area ===== */
.hpill:not([aria-pressed="true"]){background:color-mix(in srgb,var(--c) 12%,var(--surface));border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent);color:var(--ink)}
.hpill:not([aria-pressed="true"])::first-letter{color:var(--c)}
.legend-areas{display:flex;flex-wrap:wrap;gap:6px 14px;margin:0 0 16px;font-size:13px;font-weight:600;color:var(--muted)}
.legend-areas .la{display:inline-flex;align-items:center;gap:6px}
.legend-areas .la i{width:12px;height:12px;border-radius:3px;background:color-mix(in srgb,var(--c) 12%,var(--surface));border:1.5px solid color-mix(in srgb,var(--c) 60%,transparent)}

/* ===== food categories ===== */
.ft-meat{--fc:#B3402F}.ft-fruit{--fc:#C9661C}.ft-vegetables{--fc:#3D8A4F}.ft-carbs{--fc:#A8852B}.ft-sweets{--fc:#B0457E}.ft-supplement{--fc:#3F6FA8}.ft-other{--fc:#6E7780}
.fcat{border:1.5px solid color-mix(in srgb,var(--fc) 60%,transparent);background:color-mix(in srgb,var(--fc) 12%,var(--surface));color:var(--ink)}
.fcat[aria-checked="true"]{background:var(--fc);border-color:var(--fc);color:#fff}
.ftag{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;padding:2px 7px;border-radius:3px;margin-right:6px;color:var(--fc);background:color-mix(in srgb,var(--fc) 14%,transparent)}
.plate{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 18px}
.hcard-sum .plate{margin:10px 0 0}
/* ===== Scripture tab ===== */
.rcard{border-top:5px solid var(--c)}
.rpair{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:520px){.rpair{grid-template-columns:1fr}}
.rpass{display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-decoration:none}
.rlab{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.rref{font-family:var(--cond);font-size:22px;font-weight:800;line-height:1.15}
.rgo{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--accent-ink);font-size:15px}
.tcard{background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:10px;overflow:hidden}
.thead{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;text-align:left;background:none;border:0;padding:14px;color:var(--ink)}
.tcount{font-family:var(--cond);font-weight:800;font-size:18px;color:var(--accent-ink);white-space:nowrap}
.tlist{border-top:1px solid var(--line)}
.titem{display:grid;grid-template-columns:44px 1fr;gap:10px;width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--line);padding:10px 14px;color:var(--ink);font-size:14px;line-height:1.35}
.titem:first-child{border-top:0}
.titem .tn{font-family:var(--cond);font-weight:800;font-size:18px;color:var(--muted)}
.titem.done{opacity:.55}.titem.done .tn::after{content:" ✓";color:var(--health)}
.titem.cur{background:color-mix(in srgb,var(--accent) 10%,transparent)}
.hpill.is-hidden{opacity:.45;text-decoration:line-through}
.hpill.is-hidden:hover{opacity:.7}
/* ===== Scripture on Home and Progress ===== */
.scard{border-left:5px solid var(--c);margin-bottom:12px;padding:16px}
.scard .gname{font-size:21px}
.srefs{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}
.srefs a{flex:1 1 140px;padding:10px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-decoration:none;font-family:var(--cond);font-weight:700;font-size:18px}
.srefs a::after{content:" ›";color:var(--accent-ink)}
.srow{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.snext{flex-basis:100%;margin-left:56px}
.tsegs{display:flex;gap:3px;height:10px;margin-top:6px}
.tseg{display:block;background:var(--soft);overflow:hidden}
.tseg i{display:block;height:100%;background:var(--c)}
.slinks{display:flex;gap:18px;flex-wrap:wrap;margin-top:12px}
#hsNeeds .hpill,#sPickTop .hpill,#sNeeds .hpill{font-size:14px;padding:8px 12px}
.stheme{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin-top:4px}
.slab{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:2px 7px;border-radius:3px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent)}

/* ===== favorites ===== */
.starbtn{width:36px;height:36px;border:1px solid var(--line);background:var(--paper);border-radius:6px;font-size:19px;line-height:1;color:var(--muted)}
.starbtn[aria-pressed="true"]{color:#E3A92B;border-color:#E3A92B}
#groups .row{grid-template-columns:auto 1fr auto auto}
.hdr-actions{display:inline-flex;align-items:center;gap:10px}
.hpill.at-limit{opacity:.4}

/* ===== Favorites tab ===== */
.frow{grid-template-columns:minmax(0,1fr) auto auto auto}
#v-favorites .frow{grid-template-columns:minmax(0,1fr) auto auto;padding:12px 14px}
#v-favorites .fname .pdot{width:10px;height:10px;border-radius:3px;background:var(--c);flex:none}
.fvact{padding:8px 12px;font-size:15px;white-space:nowrap}
.fvact[disabled]{opacity:.6;cursor:default}
@media (max-width:420px){ #v-favorites .frow{grid-template-columns:minmax(0,1fr) auto} #v-favorites .frow .fvact{grid-column:1;justify-self:start;grid-row:2} #v-favorites .frow .starbtn{grid-column:2;grid-row:1} }
.wtools{align-items:center}
.bk-quiet{margin:28px 0 0;text-align:center;font-size:13px;color:var(--muted);opacity:.8}
.bk-quiet .linkbtn{font-size:13px}
/* ===== celebrations ===== */
.celebrate{position:fixed;inset:0;z-index:80;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:24px;opacity:0;transition:opacity .25s}
.celebrate[hidden]{display:none}
.celebrate.on{opacity:1}
.cel-card{width:100%;max-width:400px;background:var(--surface);border-radius:14px;padding:26px 22px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4);transform:scale(.9);transition:transform .3s cubic-bezier(.2,1.4,.4,1)}
.celebrate.on .cel-card{transform:scale(1)}
.cel-art{width:120px;height:120px;margin:0 auto 10px}
.cel-art svg,.mini-art svg{width:100%;height:100%}
.ca{fill:var(--accent)}.ci{fill:var(--ink)}.cst{stroke:var(--accent)}.cbg{stroke:var(--surface);fill:var(--surface)}.cbg2{fill:var(--surface);opacity:.85}.cbgs{stroke:var(--surface)}
.cel-art path[fill="none"].cbg{fill:none}
.cel-kicker{font-family:var(--cond);font-weight:700;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:var(--accent-ink)}
.cel-title{font-family:var(--cond);font-weight:800;font-size:30px;line-height:1.05;text-transform:uppercase;letter-spacing:.02em;margin:6px 0 10px}
.cel-body p{margin:0 0 14px;color:var(--muted);font-size:15px}
.cel-body .btnrow,.celebrate .btnrow{justify-content:center}
.cel-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin:6px 0 14px}
.cel-stats div{display:flex;flex-direction:column;align-items:center}
.cel-stats b{font-family:var(--cond);font-size:28px;font-weight:800;line-height:1}
.cel-stats span{font-size:12px;color:var(--muted)}
.cel-recs{list-style:none;padding:0;margin:0 0 14px;text-align:left}
.cel-recs li{padding:8px 10px;border-radius:6px;background:color-mix(in srgb,var(--accent) 12%,transparent);margin-bottom:6px;font-size:15px}
.cel-recs li span{color:var(--muted);font-size:13px}
#celBtns{justify-content:center}
.mini-cel{position:fixed;left:50%;top:calc(14px + env(safe-area-inset-top,0px));z-index:75;display:flex;align-items:center;gap:12px;max-width:min(92vw,420px);background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--accent);border-radius:10px;padding:10px 16px 10px 10px;box-shadow:0 10px 30px rgba(0,0,0,.3);transform:translate(-50%,-140%);transition:transform .35s cubic-bezier(.2,1.3,.4,1)}
.mini-cel.on{transform:translate(-50%,0)}
.mini-art{width:44px;height:44px;flex:none}
.mini-cel b{display:block;font-family:var(--cond);font-size:17px;text-transform:uppercase;letter-spacing:.02em}
.mini-cel span{display:block;font-size:13px;color:var(--muted)}
@media (prefers-reduced-motion:reduce){.celebrate,.cel-card,.mini-cel{transition:none}}
.cel-stats.rv{grid-template-columns:repeat(3,1fr);gap:12px 6px}
.cel-stats .dl{display:block;font-style:normal;font-size:11px;font-weight:700;margin-top:2px}
.dl.up{color:var(--health)}.dl.down{color:var(--danger)}.dl.same{color:var(--muted)}
.rvh li{background:var(--paper)}
.cel-card{max-height:calc(100vh - 48px);overflow-y:auto}

/* ===== hero branding: glow + watermark ===== */
.hero{position:relative;isolation:isolate}
.hero::before{content:"";position:absolute;z-index:-2;left:50%;transform:translateX(-50%);width:100vw;top:-60px;bottom:-30px;pointer-events:none;
  background:radial-gradient(ellipse 75% 85% at 50% 25%, color-mix(in srgb,var(--accent) 20%,transparent), transparent 72%)}
.hero-wm{position:absolute;z-index:-1;right:-70px;top:-24px;width:290px;height:290px;opacity:.07;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 55%,transparent 100%);mask-image:linear-gradient(to bottom,#000 55%,transparent 100%)}
.hero .hero-wm .mark{width:100%;height:100%}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .hero-wm{opacity:.09} }
:root[data-theme="dark"] .hero-wm{opacity:.09}
@media (min-width:900px){ .hero-wm{width:420px;height:420px;right:-40px;top:-70px} .hero::before{background:radial-gradient(ellipse 55% 95% at 50% 30%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 72%)} }

/* ===== page headers: same glow + watermark ===== */
#v-scripture,#v-progress,#v-favorites,#v-setup,#v-body,#v-mind{position:relative;isolation:isolate}
#v-scripture::before,#v-progress::before,#v-favorites::before,#v-setup::before,#v-body::before,#v-mind::before{content:"";position:absolute;z-index:-2;left:50%;transform:translateX(-50%);width:100vw;top:-60px;height:320px;pointer-events:none;
  background:radial-gradient(ellipse 75% 80% at 50% 20%, color-mix(in srgb,var(--accent) 18%,transparent), transparent 72%)}
.page-wm{position:absolute;z-index:-1;right:-70px;top:-6px;width:240px;height:240px;opacity:.07;pointer-events:none;
  -webkit-mask-image:linear-gradient(to bottom,#000 50%,transparent 100%);mask-image:linear-gradient(to bottom,#000 50%,transparent 100%)}
.page-wm .mark{width:100%;height:100%}
@media (prefers-color-scheme:dark){ :root:not([data-theme="light"]) .page-wm{opacity:.09} }
:root[data-theme="dark"] .page-wm{opacity:.09}
@media (min-width:900px){ .page-wm{width:340px;height:340px;right:-30px;top:-40px} }

/* ===== no sideways scrolling, and landscape support ===== */
html,body{overflow-x:clip;max-width:100%}
@supports not (overflow:clip){ html,body{overflow-x:hidden} }
@media (max-width:899px){
  .wrap{padding-left:max(14px, env(safe-area-inset-left,0px));padding-right:max(14px, env(safe-area-inset-right,0px))}
  .tabs{padding-left:env(safe-area-inset-left,0px);padding-right:env(safe-area-inset-right,0px)}
}
@media (orientation:landscape) and (max-height:500px){
  .hero{padding:14px 0 8px;flex-direction:row;justify-content:center;gap:16px;text-align:left}
  .hero .mark{width:60px;height:60px}
  .hero-word{font-size:40px;margin-top:0}
  .hero-wm{width:200px;height:200px;top:-30px}
  .page-wm{width:180px;height:180px}
  .vhead{font-size:34px;margin-top:14px}
  .tabs .tab{min-height:44px;padding:5px 0 4px}
  .tabs .tab .ti{width:20px;height:20px}
  main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .fab{bottom:calc(62px + env(safe-area-inset-bottom,0px));width:50px;height:50px}
  .celebrate .cel-card{max-height:calc(100vh - 24px)}
  .cel-art{width:80px;height:80px}
  .sheet{max-height:92vh}
}
/* ===== Body card ===== */
#checkins{display:none!important}
#hc-body{border-left-color:var(--fitness)}
.hcard-t .due,.brow .due{display:inline-block;margin-left:10px;vertical-align:middle;font-family:var(--cond);font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:3px;color:var(--warn);background:color-mix(in srgb,var(--warn) 16%,transparent)}
.hcard-t .due[hidden]{display:none}
.brow{padding:14px 0;border-bottom:1px solid var(--line)}
.brow:first-child{padding-top:12px}
.brow-h{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.brow-h .due{margin-left:0}
.brow input{font-family:var(--cond);font-size:24px;font-weight:700}
.bspark{display:block;width:100%;height:auto;margin-top:10px}
.bsln{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linejoin:round}
.bsdot{fill:var(--surface);stroke:var(--accent);stroke-width:2}
.bsms{stroke:var(--muted);stroke-width:1.2;stroke-dasharray:4 4}
.bstx{font-family:var(--sans);font-size:10px;fill:var(--muted)}

/* ===== planning ahead ===== */
.check.future{opacity:.35;border-style:dashed}
.future-note{border-left:5px solid var(--accent);margin-bottom:12px}
#homeCards[hidden],#homeScripture[hidden],.reflect[hidden],.future-note[hidden]{display:none}
.page-tag{font-size:13px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);line-height:1.5;margin:4px 0 14px}

/* ===== nav bar back on top (all screen sizes) ===== */
@media (max-width:899px){
  .tabs{position:static;left:auto;right:auto;bottom:auto;margin:8px 0 0;padding:0;background:transparent;border-top:0;box-shadow:none;width:100%;display:flex}
  .tabs .tab{flex:1 1 0;min-width:0;border-top:0;border-bottom:3px solid transparent;color:var(--muted);min-height:54px;padding:6px 0 6px}
  .tabs .tab[aria-selected="true"]{color:var(--ink);border-bottom-color:var(--accent)}
  .tabs .tab[aria-selected="true"] .ti{stroke:var(--accent)}
  .top .wrap{padding-bottom:0}
  main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))}
  .fab{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .toast{bottom:calc(20px + env(safe-area-inset-bottom,0px))}
}
@media (orientation:landscape) and (max-height:500px){
  .tabs .tab{min-height:42px;padding:3px 0}
  .fab{bottom:calc(14px + env(safe-area-inset-bottom,0px))}
  main{padding-bottom:80px}
}

/* ===== quick-add button bottom left ===== */
.fab{right:auto!important;left:calc(16px + env(safe-area-inset-left,0px))}
@media (min-width:900px){ .fab{left:32px} }
/* ===== pool category cards + start card ===== */
.startcard{border-left:5px solid var(--accent);margin:4px 0 4px}
.shuffle{display:block;margin:10px 0 0}
.acard{background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--c);border-radius:6px;margin-bottom:8px;overflow:hidden}
.ahead{display:grid;grid-template-columns:12px minmax(0,1fr) auto 14px;gap:10px;align-items:center;width:100%;text-align:left;background:none;border:0;padding:13px 14px;color:var(--ink)}
.adot{width:12px;height:12px;border-radius:3px;background:color-mix(in srgb,var(--c) 30%,transparent);border:1.5px solid var(--c)}
.acard.fav .adot{background:#E3A92B;border-color:#E3A92B}
.aname{font-family:var(--cond);font-weight:700;font-size:19px;text-transform:uppercase;letter-spacing:.04em}
.acount{font-size:13px;color:var(--muted);white-space:nowrap}
.achev{width:9px;height:9px;border-right:2.5px solid var(--muted);border-bottom:2.5px solid var(--muted);transform:rotate(45deg);margin-top:-4px;transition:transform .2s}
.acard.open .achev{transform:rotate(-135deg);margin-top:4px}
.abody{padding:2px 14px 14px;border-top:1px solid var(--line)}
.abody .chips{padding-top:12px}

.atag{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;padding:1px 7px;border-radius:3px;margin-right:8px;color:var(--c);background:color-mix(in srgb,var(--c) 15%,transparent);vertical-align:1px}
/* ===== difficulty markers ===== */
.lv{display:inline-block;width:22px;height:8px;margin-left:8px;vertical-align:1px;border-radius:2px;background:linear-gradient(90deg,currentColor 0 30%,transparent 30% 35%,var(--lvb) 35% 65%,transparent 65% 70%,var(--lvc) 70% 100%);opacity:.75}
.lv-e{--lvb:color-mix(in srgb,currentColor 22%,transparent);--lvc:color-mix(in srgb,currentColor 22%,transparent)}
.lv-m{--lvb:currentColor;--lvc:color-mix(in srgb,currentColor 22%,transparent)}
.lv-h{--lvb:currentColor;--lvc:currentColor}
.lvkey{display:flex;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--muted);margin:0 0 12px}
.lvkey .lv{margin:0 6px 0 0;color:var(--ink)}

.lvtx{font-size:11px;color:var(--muted);margin-left:5px;vertical-align:1px}
.row .lv{color:var(--ink)}
.lvrow{display:grid;grid-template-columns:96px minmax(0,1fr) 44px 64px;gap:10px;align-items:center;margin-bottom:10px}
.lvname{font-family:var(--cond);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:15px;display:flex;align-items:center}
.lvname .lv{margin:0 8px 0 0;color:var(--ink)}
.lvbar{margin:0;height:10px}
.lvpct{font-family:var(--cond);font-weight:800;font-size:18px;text-align:right}
.lvn{font-size:12px;color:var(--muted);text-align:right}
@media (max-width:420px){.lvrow{grid-template-columns:84px minmax(0,1fr) 40px}.lvn{display:none}}
/* ===== compact food form ===== */
.legacy-food,#scanRow,#offBox{display:none!important}
.fform{padding:14px;margin:6px 0 16px}
.fform .field{margin-bottom:10px}
.fform label{font-size:13px}
.fform .opt{font-weight:400;color:var(--muted);font-size:12px}
.fform input,.fform select{padding:9px 10px}
.fgrid2{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.fgrid4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.fgrid4 input{text-align:center;padding:9px 4px}
#fTotals{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin:6px 0 10px}
#fTotals[hidden]{display:none}
.ftot{background:var(--paper);border:1px solid var(--line);border-radius:6px;padding:8px 10px}
.ftot b{display:block;font-family:var(--cond);font-size:22px;font-weight:800;line-height:1}
.ftot span{display:block;font-size:11px;color:var(--muted);margin-top:2px}
.ftot .bar{margin-top:6px;height:5px}
/* ===================== ReadyVessel 2.0 styles ===================== */
.examen .field{margin-bottom:12px}
.examen label{font-size:15px}
.examen textarea{min-height:64px}
#exServe{margin-top:6px}
.hero-mission{display:none;margin:12px auto 0;max-width:34ch;font-family:var(--sans);font-style:italic;font-size:15px;line-height:1.45;color:var(--ink);opacity:.85}
.answered{margin-top:12px}
.answered summary{cursor:pointer;font-weight:600;color:var(--accent-ink)}
.anrow{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.frrow{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;padding:7px 0;border-top:1px solid var(--line)}
.frrow:first-of-type{border-top:0}
.frbtns{display:flex;gap:5px;justify-content:flex-end;grid-column:2/4}
.frbtns .pill{min-width:36px;padding:6px 0;text-align:center}
.frspark{display:flex;align-items:flex-end;gap:3px;height:26px}
.frspark i{flex:1;max-width:14px;background:var(--spiritual);border-radius:2px 2px 0 0;min-height:2px}
.frval{font-family:var(--cond);font-weight:800;font-size:20px;width:20px;text-align:right}
h2.sech.collapsible{cursor:pointer;display:flex;justify-content:space-between;align-items:center}
h2.sech.collapsible::after{content:"";width:10px;height:10px;border-right:3px solid currentColor;border-bottom:3px solid currentColor;transform:rotate(45deg);margin:-6px 6px 0 0;transition:transform .2s}
h2.sech.collapsible[aria-expanded="false"]::after{transform:rotate(-45deg);margin-top:0}
.secbody[hidden]{display:none}
.msrow{display:grid;grid-template-columns:minmax(0,1fr) 110px 36px;gap:8px;margin-bottom:8px}
#msRows{margin-top:4px}
.onboard{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,.6);display:flex;align-items:center;justify-content:center;padding:20px}
.onboard[hidden]{display:none}
.ob-card{width:100%;max-width:440px;max-height:calc(100vh - 40px);overflow-y:auto;background:var(--surface);border-radius:14px;padding:26px 22px 22px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.ob-mark .mark{width:72px;height:72px}
.ob-body p{color:var(--muted);font-size:15px;margin:0 0 14px}
.ob-body textarea{text-align:left;margin-bottom:12px}
.ob-list{text-align:left;padding-left:18px;margin:0 0 14px;color:var(--muted);font-size:15px}
.ob-list li{margin-bottom:8px}
.ob-dots{display:flex;justify-content:center;gap:6px;margin:4px 0 14px}
.ob-dots i{width:8px;height:8px;border-radius:50%;background:var(--line)}
.ob-dots i.on{background:var(--accent)}
#hc-journal[hidden]{display:none}
/* ===== Fruit of the Spirit card ===== */
.frcard{padding:18px}
.frdots{display:flex;gap:5px;margin-bottom:14px}
.frdots i{flex:1;height:5px;border-radius:3px;background:var(--line)}
.frdots i.done{background:color-mix(in srgb,var(--spiritual) 55%,transparent)}
.frdots i.on{background:var(--spiritual)}
.frname{font-family:var(--cond);font-weight:800;font-size:38px;text-transform:uppercase;letter-spacing:.02em;line-height:1;color:var(--spiritual)}
.frdesc{margin:10px 0 4px;font-size:16px;line-height:1.45}
.frref{margin:0 0 14px;font-size:13px;color:var(--muted);font-style:italic}
.frq{margin:0 0 10px;font-weight:600}
.frscale{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.frpick{display:flex;flex-direction:column;align-items:center;gap:3px;padding:10px 2px;border:1.5px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink)}
.frpick b{font-family:var(--cond);font-size:22px;line-height:1}
.frpick span{font-size:10.5px;color:var(--muted)}
.frpick.on,.frpick:active{background:var(--spiritual);border-color:var(--spiritual);color:#fff}
.frpick.on span{color:#fff}
.frnav{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:10px}
.frwrap{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}
@media (min-width:600px){.frwrap{grid-template-columns:300px minmax(0,1fr);align-items:center}}
.cluster{width:100%;max-width:320px;margin:0 auto;display:block}
.cluster .stem{fill:none;stroke:var(--muted);stroke-width:3;stroke-linecap:round}
.cluster .leaf{fill:var(--health)}
.grape{cursor:pointer;outline:none}
.grape circle{fill:var(--spiritual);stroke:var(--spiritual);stroke-width:1.5;transition:transform .15s}
.grape.sel circle{stroke:var(--ink);stroke-width:3}
.grape:focus-visible circle{stroke:var(--accent);stroke-width:3}
.grape .gv{font-family:var(--cond);font-weight:800;font-size:18px;fill:var(--ink);text-anchor:middle}
.grape .gn{font-family:var(--sans);font-size:6.2px;font-weight:700;fill:var(--ink);text-anchor:middle;text-transform:uppercase;letter-spacing:0}
.frtrend{display:flex;align-items:flex-end;gap:4px;height:34px;margin:4px 0 10px}
.frtrend i{flex:1;max-width:18px;background:var(--spiritual);border-radius:2px 2px 0 0;min-height:2px;opacity:.85}
.frpractice{margin:0;font-size:15px}
.sprog{display:flex;align-items:center;gap:12px;margin:0 0 14px;font-size:14px;color:var(--muted)}
.sprog b{font-family:var(--cond);font-size:20px;color:var(--ink)}
.sprog .bar{flex:1;height:6px;margin:0}
#sNeeds[hidden]{display:none}

.frsteps{display:grid;grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;margin-bottom:16px}
@media (max-width:640px){.frsteps{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 6px}}
.frseg{display:flex;flex-direction:column;gap:5px;background:none;border:0;padding:0;text-align:left;cursor:pointer;color:var(--muted);opacity:.5}
.frseg i{display:block;height:5px;border-radius:3px;background:var(--line)}
.frseg span{font-size:11px;font-weight:700;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frseg.done{opacity:.8}
.frseg.done i{background:color-mix(in srgb,var(--spiritual) 55%,transparent)}
.frseg.on{opacity:1;color:var(--spiritual)}
.frseg.on i{background:var(--spiritual)}

/* ===== Home through the day ===== */
.reflect.folded > :not(h2):not(.exfold){display:none}
.reflect.folded{padding-bottom:14px}
.exfold{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:14px;color:var(--muted);margin:2px 0 8px}
.reflect:not(.folded) .exfold:empty{display:none}
.praycard{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;border-left:5px solid var(--spiritual);margin-bottom:12px;padding:14px 16px}
.praycard.empty{border-left-color:var(--line)}
.praytext{font-family:var(--cond);font-weight:700;font-size:21px;line-height:1.15;margin-top:3px}
.praybtns{display:flex;align-items:center;gap:14px}
.praybtns .pill.on{background:var(--spiritual);border-color:var(--spiritual);color:#fff}
/* ===== answered notes + help ===== */
.annote{margin:4px 0 0 18px;font-size:14px;color:var(--muted);font-style:italic}
.anrow{align-items:flex-start}
.hands{fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.top .brand{order:1}.top .sync{order:2}.helpbtn{order:3}.top .tabs{order:4}
.helpbtn{margin-left:auto;width:40px;height:40px;display:grid;place-items:center;border:1.5px solid var(--line);border-radius:10px;background:var(--surface);color:var(--accent-ink);flex:none}
.helpbtn .hands{width:24px;height:24px}
.helpbtn:hover{border-color:var(--accent-ink)}
@media (min-width:900px){ .top .tabs{order:3} .helpbtn{order:4;margin-left:12px} }
.helphead{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.helphead .hands{width:38px;height:38px;color:var(--accent-ink);flex:none}
.helplist details{border-top:1px solid var(--line);padding:10px 2px}
.helplist summary{cursor:pointer;font-weight:700;font-size:16px}
.helplist p{margin:8px 0 2px;color:var(--muted);font-size:15px;line-height:1.5}

/* ===== header quick add ===== */
.top .fab{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;width:40px;height:40px;border-radius:10px;box-shadow:none;order:3;margin-left:auto;flex:none}
.top .fab svg{width:22px;height:22px}
.top .helpbtn{margin-left:8px}
@media (min-width:900px){ .top .fab{order:4;margin-left:12px} .top .helpbtn{order:5;margin-left:8px} }
@media (max-width:899px){ main{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))} }
#hc-body[hidden]{display:none}

/* ===== prayer strip ===== */
.praycard > .hands{width:26px;height:26px;color:var(--spiritual);flex:none}
.praycard > div:first-of-type{flex:1;min-width:0}
.praycard.empty{gap:10px}
.praycard.empty .hint{flex:1}
.praystrip{margin:4px 0 14px}
.praystrip .praycard{margin:0;padding:10px 12px;gap:10px;flex-wrap:nowrap;align-items:center}
.praystrip .praytext{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.praystrip .cel-kicker{font-size:11px}
.praystrip .praybtns{gap:10px;flex:none}
.praystrip .praybtns .pill{padding:6px 10px;font-size:14px}
.praystrip .praybtns .linkbtn{font-size:13px}
@media (max-width:380px){ .praystrip #hpAns{display:none} }
@media (max-width:899px){ main{padding-bottom:calc(96px + env(safe-area-inset-bottom,0px))!important} }

/* ===== phone layout ===== */
@media (max-width:899px){
  .hero{display:none}
  .hero-in .top .brand{opacity:1!important;pointer-events:auto!important}
  .hero-in .top{border-bottom-color:var(--line)!important}
  .home-cols{display:flex!important;flex-direction:column}
  #homeLeft,#homeRight{display:contents}
  #dateSlot{order:1;margin-top:10px}
  #futureNote{order:2}
  .reflect.evening{order:3}
  #homePray{order:4}
  #homeScripture{order:5}
  #tally{order:6}
  #meter{order:7}
  #groups{order:8}
  #homeCards{order:9}
  #homeRight .reflect:not(.evening){order:10}
  body.plan-empty #tally,body.plan-empty #meter{display:none}
  .phone-hide{display:none!important}
  .themesbtn{width:100%;margin:6px 0 16px}
  #poolToggle[hidden]{display:none}
}
#poolToggle[hidden]{display:none}

/* ===== water ===== */
.fwater{padding:12px 14px;margin:0 0 12px}
.wrow2{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wlbl{font-family:var(--cond);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.04em;margin-right:4px;color:var(--fitness)}
.wbtn2{width:38px;height:38px;border-radius:8px;border:1.5px solid var(--line);background:var(--paper);color:var(--ink);font-size:22px;line-height:1}
#wVal{width:72px;text-align:center;font-family:var(--cond);font-size:22px;font-weight:700;padding:6px 4px}
.wunit{font-size:14px;color:var(--muted);min-width:30px}
.wtoggle{display:flex;gap:4px;margin-left:auto}
.wtoggle .pill{padding:5px 10px;font-size:13px}
.ftot b small{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--muted)}
