/* the engineered ledger, day and night; tokens are roles, night is a re-token */
:root{
  --surface-paper:#FAFAF7; --surface-panel:#F0F4F1;
  --text-primary:#1B1F1D; --text-secondary:#4A524E;
  --ink-green:#1D4A38; --ink-green-strong:#143427; --ink-green-soft:#6B8578;
  --flag-amber:#B4590A; --border-hairline:#DCE1DC;
}
[data-ground="night"]{
  --surface-paper:#141815; --surface-panel:#1C2420;
  --text-primary:#E6E9E6; --text-secondary:#B4BCB6;
  --ink-green:#6FA98C; --ink-green-strong:#0F241B; --ink-green-soft:#6B8578;
  --flag-amber:#D97A2B; --border-hairline:#2A322D;
}
*{box-sizing:border-box}
body{margin:0;background:var(--surface-paper);color:var(--text-primary);
  font:17px/1.65 Georgia,'Times New Roman',serif}
header{background:var(--ink-green-strong);color:#E6E9E6;padding:0}
.bar{padding:14px 24px;display:flex;align-items:baseline;gap:24px;flex-wrap:wrap}
.bar .name{font:700 20px/1 ui-monospace,'SF Mono',Menlo,monospace;color:#E6E9E6;text-decoration:none;letter-spacing:.04em}
header nav{display:flex;gap:18px;flex-wrap:wrap}
header nav a{color:#B8C7BE;text-decoration:none;font:14px ui-monospace,Menlo,monospace}
header nav a:hover,header nav a.here{color:#fff;border-bottom:1px solid var(--flag-amber)}
.night-toggle{margin-left:auto;background:none;border:1px solid #4A6b5a;color:#B8C7BE;
  font:12px ui-monospace,Menlo,monospace;padding:4px 10px;border-radius:4px;cursor:pointer}
main{padding:32px 24px 80px}
h1{font:700 34px/1.2 Georgia,serif;color:var(--ink-green-strong);margin:.6em 0 .4em}
[data-ground="night"] h1,[data-ground="night"] h2{color:var(--ink-green)}
h2{font:700 24px/1.3 Georgia,serif;color:var(--ink-green-strong);margin:1.4em 0 .4em}
a{color:var(--ink-green)}
figure.ch-fig{margin:2em 0;width:100%}
figure.ch-fig svg{width:100%;height:auto;border:1px solid var(--border-hairline);border-radius:6px;background:#fff}
figure.ch-fig figcaption{font-size:.82em;color:var(--text-secondary);margin-top:.6em}
iframe.ch-live{width:100%;height:78vh;min-height:560px;border:1px solid var(--border-hairline);border-radius:6px;background:#fff;margin:1em 0}
footer{border-top:1px solid var(--border-hairline);margin-top:60px}
footer .bar{color:var(--text-secondary);font-size:13px;padding:18px 24px}

/* the house figure language: one ink, one warning, both grounds via tokens */
figure.ch-fig svg{border:none;background:transparent}
.cd-box{fill:var(--surface-panel);stroke:var(--border-hairline);stroke-width:1;rx:6}
.cd-box--ink{stroke:var(--ink-green);stroke-width:1.5}
.cd-box--dash{stroke-dasharray:4 3}
.cd-zone{fill:none;stroke:var(--border-hairline);stroke-width:1;stroke-dasharray:4 3;rx:10}
.cd-zone--ink{stroke:var(--ink-green-soft)}
.cd-line{stroke:var(--text-secondary);stroke-width:1.2;fill:none}
.cd-line--ink{stroke:var(--ink-green);stroke-width:1.6}
.cd-line--dash{stroke-dasharray:4 3}
.cd-arrow{fill:var(--text-secondary)}
.cd-arrow--ink{fill:var(--ink-green)}
.cd-t{font:600 12px ui-monospace,Menlo,monospace;fill:var(--text-primary)}
.cd-l{font:9px ui-monospace,Menlo,monospace;fill:var(--text-secondary)}
.cd-s{font:8px ui-monospace,Menlo,monospace;fill:var(--ink-green);letter-spacing:.08em}
.cd-region{fill:none;stroke:var(--ink-green-soft);stroke-width:1.2;rx:10}
table{border-collapse:collapse;margin:1.5em 0}
th,td{border:1px solid var(--border-hairline);padding:10px 14px;text-align:left;vertical-align:top}
th{background:var(--surface-panel);font-weight:700}
p.lead{font-size:1.18em;line-height:1.6}
h2{margin-top:1.6em}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px;margin:1.4em 0}
.tile{background:var(--surface-panel);border:1px solid var(--border-hairline);border-radius:6px;padding:16px 18px}
.tile b{display:block;margin-bottom:.35em}
.tile .s{color:var(--text-secondary);font-size:.92em}

/* the second layer's band: the practitioner pages, listed only as they exist */
.bar.sub{background:var(--ink-green);padding:9px 24px;gap:18px;align-items:center;
  border-top:1px solid rgba(255,255,255,.13)}
.bar.sub .sublabel{font:10px ui-monospace,Menlo,monospace;color:#D6E4DB;
  letter-spacing:.14em;text-transform:uppercase}
.bar.sub nav a{color:#DCEAE1;font-size:13px}
.bar.sub nav a:hover,.bar.sub nav a.here{color:#fff}
[data-ground="night"] .bar.sub{background:var(--ink-green-strong)}

/* foot navigation: where you are in a level, and the level below or above */
.pagenav{display:grid;grid-template-columns:1fr 1fr 1fr;gap:20px;margin:3.5em 0 0;
  border-top:1px solid var(--border-hairline);padding-top:22px}
.pagenav a{display:block;text-decoration:none;color:var(--ink-green);font-weight:700;line-height:1.35}
.pagenav a span{display:block;font:10px ui-monospace,Menlo,monospace;letter-spacing:.14em;
  text-transform:uppercase;color:var(--text-secondary);font-weight:400;margin-bottom:.35em}
.pagenav a:hover{text-decoration:underline}
.pagenav .mid{text-align:center}
.pagenav .mid-stack{display:grid;gap:14px}
.pagenav .next{text-align:right}
