/* Layout: one narrow reading column; intro → five parts of 20 statements → profile with a radar of the five domains */
:root{
  --bg:#F2F4F1; --surface:#FFFFFF; --ink:#1C2622; --muted:#5D6B65; --line:#D9DFDB;
  --vine:#2E6B4E; --vine-soft:#E2EEE7; --gold:#9C7A2F; --gold-soft:#F3ECDC; --alert:#A3402E;
  --plot:rgba(46,107,78,.22); --plot-sample:rgba(156,122,47,.18);
  --display:"Newsreader", Georgia, "Times New Roman", serif;
  --body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#121815; --surface:#1A221E; --ink:#E5ECE8; --muted:#9AA9A2; --line:#2C3833;
  --vine:#74C49B; --vine-soft:#1F3229; --gold:#D3B26A; --gold-soft:#2E2919; --alert:#E58C78;
  --plot:rgba(116,196,155,.25); --plot-sample:rgba(211,178,106,.2); color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#121815; --surface:#1A221E; --ink:#E5ECE8; --muted:#9AA9A2; --line:#2C3833;
  --vine:#74C49B; --vine-soft:#1F3229; --gold:#D3B26A; --gold-soft:#2E2919; --alert:#E58C78;
  --plot:rgba(116,196,155,.25); --plot-sample:rgba(211,178,106,.2); color-scheme:dark}

*{box-sizing:border-box}
body{background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.55;padding:0 16px}
.wrap{max-width:720px;margin:0 auto;padding-block:40px 80px}
h1,h2,h3{font-family:var(--display);font-weight:500;text-wrap:balance;margin:0;line-height:1.15}
h1{font-size:clamp(2rem,6vw,2.75rem)}
h2{font-size:1.75rem}
h3{font-size:1.2rem}
p{margin:0}
.eyebrow{font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);font-weight:600}
.lede{color:var(--muted);max-width:60ch;font-size:1.05rem}
.stack{display:flex;flex-direction:column;gap:16px}
.stack-lg{display:flex;flex-direction:column;gap:32px}
.btn{font:inherit;font-weight:600;border-radius:999px;padding:12px 24px;border:1px solid var(--vine);background:var(--vine);color:var(--bg);cursor:pointer}
.btn:hover{filter:brightness(1.08)}
.btn.ghost{background:transparent;color:var(--vine)}
.btn:focus-visible,.scale input:focus-visible+span,.textbtn:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
.textbtn{font:inherit;background:none;border:0;color:var(--vine);text-decoration:underline;cursor:pointer;padding:0}
.row{display:flex;flex-wrap:wrap;gap:12px;align-items:center}

/* intro */
.how{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:16px;margin:0;padding:0;list-style:none}
.how li{border-top:1px solid var(--line);padding-top:12px}
.how b{display:block;font-family:var(--display);font-size:1.35rem;font-weight:500}
.how span{color:var(--muted);font-size:.9rem}
.sample{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.sample .tag{display:inline-block;background:var(--gold-soft);color:var(--gold);font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:3px 10px;border-radius:999px}

/* progress */
.progress{position:sticky;top:env(safe-area-inset-top,0px);background:var(--bg);padding-block:12px;z-index:2;border-bottom:1px solid var(--line)}
.bar{height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--vine);transition:width .3s}
.progress .row{justify-content:space-between;font-size:.85rem;color:var(--muted);margin-bottom:8px}
.num{font-family:var(--mono);font-variant-numeric:tabular-nums}

/* items */
.item{padding-block:20px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:12px}
.item.missing .stmt{color:var(--alert)}
.stmt{display:flex;gap:12px}
.stmt .n{font-family:var(--mono);font-size:.8rem;color:var(--muted);padding-top:3px;min-width:2.2em}
.scale{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;border:0;margin:0;padding:0;min-width:0}
.scale.has-na{grid-template-columns:repeat(10,1fr) 1.4fr}
.scale label{position:relative;cursor:pointer}
.scale input{position:absolute;opacity:0;inset:0;margin:0}
.scale span{display:flex;align-items:center;justify-content:center;height:40px;border:1px solid var(--line);border-radius:8px;background:var(--surface);font-family:var(--mono);font-size:.85rem;color:var(--muted);transition:background .15s,color .15s}
.scale label:hover span{border-color:var(--vine)}
.scale input:checked+span{background:var(--vine);border-color:var(--vine);color:var(--bg)}
.scale .na span{font-family:var(--body);font-size:.75rem}
.anchors{display:flex;justify-content:space-between;font-size:.75rem;color:var(--muted)}
.nav{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:24px}
.notice{color:var(--alert);font-size:.9rem}

/* results */
.radar-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.radar{width:100%;height:auto;display:block}
.radar text{font-family:var(--body);fill:var(--ink);font-size:13px}
.radar .ringlbl{fill:var(--muted);font-family:var(--mono);font-size:10px}
.domains{display:flex;flex-direction:column;gap:0}
.dom{display:grid;grid-template-columns:1fr auto;gap:4px 16px;padding-block:16px;border-bottom:1px solid var(--line)}
.dom h3{font-size:1.1rem}
.dom .score{font-family:var(--mono);font-size:1.1rem;text-align:right}
.dom .desc{grid-column:1/-1;color:var(--muted);font-size:.9rem}
.dom .meter{grid-column:1/-1;height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.dom .meter i{display:block;height:100%;background:var(--vine)}
.band{display:inline-block;font-size:.72rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-left:8px;vertical-align:middle;font-family:var(--body)}
.band.edge{background:var(--gold-soft);color:var(--gold)}
.band.root{background:var(--vine-soft);color:var(--vine)}
.band.fruit{background:var(--vine);color:var(--bg)}
.callouts{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}
.callout{border-left:3px solid var(--vine);padding-left:14px}
.callout.gold{border-color:var(--gold)}
.reflect{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:12px}
.reflect li{background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:14px 16px}
.reflect small{display:block;color:var(--muted);margin-top:4px}
.copied{color:var(--vine);font-size:.9rem}
.muted{color:var(--muted)}
.small{font-size:.82rem}
.identity{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.field{display:flex;flex-direction:column;gap:6px;min-width:0}
.field label{font-size:.85rem;font-weight:600}
.field input{font:inherit;padding:11px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--ink)}
.field input:focus-visible{outline:2px solid var(--vine);outline-offset:1px}
.localnote{background:var(--gold-soft);color:var(--ink);border-radius:12px;padding:12px 16px;font-size:.9rem}
.ownerbar{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:space-between;align-items:center;background:var(--vine-soft);border-radius:12px;padding:10px 16px;font-size:.9rem}
.legend{display:flex;justify-content:center;gap:24px;font-size:.85rem;color:var(--muted);padding-top:8px;flex-wrap:wrap}
.legend span{display:flex;align-items:center;gap:8px}
.sw{display:inline-block;width:22px;height:0;border-top:2.5px solid var(--vine)}
.sw.dashed{border-top:2.5px dashed var(--gold)}
.delta{font-family:var(--mono);font-size:.85em;color:var(--muted)}
.delta.up{color:var(--vine)}
.delta.down{color:var(--alert)}
.from{color:var(--muted);font-size:.85em}
.dom .meter{position:relative}
.dom .meter i{position:absolute;left:0;top:0}
.dom .meter i.pre{background:var(--gold);opacity:.45}
.btn:disabled{opacity:.6;cursor:progress}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
table.cohort{border-collapse:collapse;width:100%;min-width:760px;font-size:.9rem}
.cohort th,.cohort td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.cohort th{font-size:.72rem;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-weight:600}
.cohort .numcol{text-align:right;white-space:nowrap}
.cohort tr:last-child td{border-bottom:0}
.pill{display:inline-block;background:var(--gold-soft);color:var(--gold);font-size:.72rem;font-weight:600;padding:2px 8px;border-radius:999px}
.empty{border:1px dashed var(--line);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px}
.feedback{border-top:1px solid var(--line);padding-top:32px}
.roots{display:flex;flex-direction:column;gap:10px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:16px}
.rootrow{display:grid;grid-template-columns:minmax(0,9rem) 1fr auto;gap:12px;align-items:center;font-size:.9rem}
.rootrow .meter{position:relative;height:6px;background:var(--line);border-radius:999px;overflow:hidden}
.rootrow .meter i{position:absolute;left:0;top:0;height:100%;background:var(--vine)}
.rootrow .meter i.pre{background:var(--gold);opacity:.45}
.rootrow.weak .rname{color:var(--gold);font-weight:600}
.rootrow.weak .meter i:not(.pre){background:var(--gold)}
.prose{display:flex;flex-direction:column;gap:16px;font-size:1.05rem;line-height:1.7;max-width:62ch}
.prose b{font-family:var(--display);font-weight:600;font-size:1.08em}
.prose q{font-style:italic}
.prayer{border-left:3px solid var(--gold);padding:4px 0 4px 20px;max-width:62ch}
.psalm{margin:0;font-family:var(--display);font-size:1.25rem;line-height:1.5;font-style:italic}
.psalm p{margin:0}
.psalm cite{display:block;margin-top:8px;font-family:var(--body);font-style:normal;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.ref{color:var(--muted);font-size:.85em;white-space:nowrap}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
/* site additions */
.signin{display:flex;flex-direction:column;gap:12px;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px}
.signin .row .field{flex:1 1 240px}
.disclose{font-size:.8rem;color:var(--muted);grid-column:1/-1}
.sent{background:var(--vine-soft);border-radius:12px;padding:16px 20px;display:flex;flex-direction:column;gap:6px}
.teaser{position:relative}
.cta{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:20px;display:flex;flex-direction:column;gap:12px}
.cta a.btn{text-decoration:none;align-self:flex-start}
.topbar{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}
