/* THE PHYSIOLOGY BUILDER (/builder, 14 Oct 2026) — on the studio's tokens (styles.css :root).
   Three columns at a laptop's width (find and build · the view · the lesson tray), one column on an
   iPad in portrait. Purple is the anatomy colour; the source badges carry the three kinds of truth:
   green the PROTOCOL, grey the studio's tables, amber the research. */
.pb-wrap { max-width: 1480px; margin: 0; padding: 0; }
.pb-head { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
.pb-head h1 { font: 800 22px/1.2 var(--font); margin: 0; color: var(--text); }
.pb-head-tools { margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap; }
.pb-grid { display: grid; grid-template-columns: 280px minmax(0, 1fr) 240px; gap: 16px; align-items: start; }
@media (max-width: 1180px) { .pb-grid { grid-template-columns: 260px minmax(0, 1fr); } .pb-tray { grid-column: 1 / -1; } }
@media (max-width: 820px) { .pb-grid { grid-template-columns: minmax(0, 1fr); } }
.pb-side, .pb-tray { position: sticky; top: 12px; display: grid; gap: 8px; background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 14px; }
@media (max-width: 1180px) { .pb-tray { position: static; } }
@media (max-width: 820px) { .pb-side { position: static; } }
.pb-side-h { margin: 6px 0 0; font: 800 10.5px/1.2 var(--font); letter-spacing: .06em; text-transform: uppercase; color: var(--text-light); cursor: default; }
.pb-case > summary { cursor: pointer; list-style: none; }
.pb-case > summary::-webkit-details-marker { display: none; }
.pb-case > summary::after { content: " ▸"; color: var(--anat-mid); }
.pb-case[open] > summary::after { content: " ▾"; }
.pb-case { display: grid; gap: 6px; }
.pb-case[open] { gap: 6px; }
.pb-label { font: 600 12px/1.3 var(--font); color: var(--text-muted); margin-top: 6px; display: block; }
.pb-input { width: 100%; box-sizing: border-box; border: 1px solid var(--border-strong); border-radius: 10px; padding: 8px 10px; font: 500 13.5px/1.4 var(--font); color: var(--text); background: #fff; }
.pb-input:focus { outline: 2px solid var(--anat); outline-offset: 1px; border-color: var(--anat); }
.pb-textarea { resize: vertical; min-height: 64px; font-family: var(--font); }
.pb-input::placeholder { color: var(--text-light); opacity: .75; font-style: italic; }
.pb-input--seed { width: 90px; }
.pb-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; border: 1px solid var(--anat); background: var(--anat); color: #fff; border-radius: 999px; padding: 7px 14px; font: 700 13px/1.2 var(--font); cursor: pointer; text-decoration: none; }
.pb-btn:hover { background: var(--anat-dk); border-color: var(--anat-dk); }
.pb-btn--ghost { background: #fff; color: var(--anat-dk); border-color: var(--anat-pale); }
.pb-btn--ghost:hover { background: var(--anat-light); color: var(--anat-dk); }
.pb-btn--ghost.is-on { background: var(--anat-light); border-color: var(--anat-mid); }
.pb-btn--block { width: 100%; }
.pb-btn--sm { padding: 4px 10px; font-size: 12px; }
.pb-btn.is-right { background: var(--brand-light); border-color: var(--brand); color: var(--brand-text); }
.pb-btn.is-wrong { background: var(--danger-light); border-color: var(--danger); color: var(--danger); }
.pb-icon { border: 0; background: transparent; color: var(--text-light); cursor: pointer; font: 700 14px/1 var(--font); padding: 2px 4px; border-radius: 6px; }
.pb-icon:hover:not(:disabled) { color: var(--anat-dk); background: var(--anat-light); }
.pb-icon:disabled { opacity: .3; cursor: default; }
.pb-note { margin: 4px 0 0; font: 400 12.5px/1.5 var(--font); color: var(--text-light); }
.pb-empty { color: var(--text-light); font: 400 14px/1.5 var(--font); padding: 18px 0; }
.pb-results { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; max-height: 300px; overflow: auto; }
.pb-result { display: block; padding: 6px 8px; border-radius: 8px; font: 500 13px/1.35 var(--font); color: var(--text); text-decoration: none; }
.pb-result:hover, .pb-result:focus { background: var(--anat-light); color: var(--anat-dk); outline: none; }
.pb-result.is-level { font-weight: 700; }
.pb-result.is-line { color: var(--anat-dk); font-weight: 600; }
.pb-pins { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pb-pins li { display: flex; align-items: center; gap: 4px; }
/* a long pin ("Function — Insula: from body signal to …", "STT Va/Vp — Spinothalamic cells of lamina V …") ends in an
   ellipsis inside the tray and never widens the page (19 Oct 2026: at 390 px one pushed the page 193 px sideways) */
.pb-tray { grid-template-columns: minmax(0, 1fr); min-width: 0; }
.pb-pins { grid-template-columns: minmax(0, 1fr); }
.pb-pins li { min-width: 0; }
.pb-pins a { flex: 1; min-width: 0; font: 600 13px/1.35 var(--font); color: var(--anat-dk); text-decoration: none; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pb-link { font: 500 13px/1.6 var(--font); color: var(--anat-dk); text-decoration: none; }
.pb-link:hover { text-decoration: underline; }

/* the view */
.pb-view { min-width: 0; }
.pb-view-h { display: flex; flex-wrap: wrap; align-items: baseline; gap: 6px 14px; margin-bottom: 12px; }
.pb-view-h h2 { font: 800 21px/1.25 var(--font); margin: 0; color: var(--text); }
.pb-view-sub { flex-basis: 100%; margin: 0; font: 400 14px/1.5 var(--font); color: var(--text-muted); }
.pb-tools { flex-basis: 100%; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pb-seg { display: inline-block; padding: 5px 10px; border-radius: 999px; border: 1px solid var(--border); font: 600 12.5px/1.2 var(--font); color: var(--text-muted); text-decoration: none; background: #fff; }
.pb-seg:hover { border-color: var(--anat-mid); color: var(--anat-dk); }
.pb-seg.is-on { background: var(--anat); border-color: var(--anat); color: #fff; }
.pb-seg--nav { color: var(--anat-dk); }
.pb-cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 12px; align-items: start; }
.pb-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 14px 16px; min-width: 0; box-shadow: var(--shadow-sm); }
.pb-card-h { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; margin-bottom: 8px; }
.pb-card-h h3 { margin: 0 auto 0 0; font: 800 14.5px/1.3 var(--font); color: var(--text); }
.pb-card--figure { grid-row: span 2; }
.pb-card--research, .pb-card--fn { border-color: #ecd9b5; background: linear-gradient(170deg, #fffaf0, #fff 40%); }
.pb-card--flag { border-color: var(--amber); border-left: 3px solid var(--amber); }
/* a ruling of the PROTOCOL's (a code ruled on, VIR retired, STN read as TSN): the method itself, in both views */
.pb-card--rule { border-color: var(--amber); border-left: 3px solid var(--amber); }
.pb-card--client { border-color: var(--anat-pale); }
.pb-card--line { grid-column: span 1; }
.pb-figure { margin: 0; display: grid; justify-items: center; }
.pb-figs { display: flex; flex-wrap: wrap; gap: 10px; align-items: flex-start; margin: 4px 0 6px; }
.pb-figs > .pb-figure { flex: 1 1 260px; min-width: 0; }
.pb-figs > .pb-figure--route { flex: 1 1 320px; min-width: 0; max-width: 420px; }
.pb-figure svg { max-width: 100%; height: auto; }
.pb-src { display: inline-block; font: 700 10.5px/1.2 var(--font); letter-spacing: .02em; padding: 3px 7px; border-radius: 6px; white-space: nowrap; }
.pb-src.is-protocol { color: var(--brand-text); background: var(--brand-light); }
.pb-src.is-table { color: var(--text-muted); background: var(--bg-alt); }
.pb-src.is-research { color: var(--amber); background: var(--amber-light); }
.pb-src.is-private { color: var(--anat-dk); background: var(--anat-light); }
.pb-list { margin: 0; padding-left: 18px; display: grid; gap: 6px; font: 400 13.5px/1.55 var(--font); color: var(--text); }
.pb-list--small { font-size: 12.5px; color: var(--text-muted); }
.pb-list--rules, .pb-list--leads { list-style: none; padding-left: 0; }
.pb-list--leads li { color: var(--text-muted); }
.pb-list--leads li.is-met { color: var(--text); }
.pb-mark { display: inline-block; width: 16px; color: var(--anat); font-weight: 800; }
.pb-met { display: block; margin-left: 16px; font: 600 12px/1.4 var(--font); color: var(--anat-dk); }
.pb-dl { display: grid; grid-template-columns: minmax(90px, 32%) 1fr; gap: 5px 12px; margin: 0; font: 400 13.5px/1.5 var(--font); }
.pb-dl dt { color: var(--text-light); font-weight: 600; font-size: 12.5px; }
.pb-dl dd { margin: 0; color: var(--text); min-width: 0; overflow-wrap: anywhere; }
.pb-grid4 { width: 100%; border-collapse: collapse; font: 400 13px/1.45 var(--font); table-layout: fixed; }
.pb-grid4 th { text-align: left; font: 700 11.5px/1.3 var(--font); color: var(--text-light); padding: 4px 6px; vertical-align: top; }
.pb-grid4 td { padding: 6px; border-top: 1px solid var(--border); vertical-align: top; color: var(--text); overflow-wrap: anywhere; }
.pb-grid4 th:first-child { width: 22%; }
.pb-chip { display: inline-block; margin: 2px 4px 2px 0; padding: 2px 8px; border-radius: 999px; background: var(--anat-light); color: var(--anat-dk); font: 700 12px/1.5 var(--font); text-decoration: none; }
.pb-chip:hover { background: var(--anat-pale); }
.pb-chip.is-on, .pb-chip.is-on:hover { background: var(--anat); color: #fff; }
.pb-links { margin: 0 0 6px; }
.pb-tier { display: inline-block; margin-left: 6px; font: 700 10.5px/1.2 var(--font); padding: 2px 6px; border-radius: 5px; background: var(--bg-alt); color: var(--text-muted); white-space: nowrap; }
.pb-tier.is-settled-science { background: var(--brand-light); color: var(--brand-text); }
.pb-tier.is-reasonable-inference { background: var(--amber-light); color: var(--amber); }
.pb-tier.is-our-own { background: var(--anat-light); color: var(--anat-dk); }
.pb-rule-t { color: var(--text); }
.pb-rules { margin: 0; padding-left: 18px; display: grid; gap: 10px; }
.pb-rules .pb-rule-t { margin: 0; font: 400 13.5px/1.55 var(--font); }
.pb-rule-x { margin: 3px 0 0; font: 500 12.5px/1.5 var(--font); color: var(--anat-dk); }
.pb-lead { margin: 0 0 8px; font: 500 14px/1.55 var(--font); color: var(--text); }
.pb-h4 { margin: 12px 0 6px; font: 800 10.5px/1.2 var(--font); letter-spacing: .06em; text-transform: uppercase; color: var(--text-light); }
.pb-claims { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.pb-claims > li { padding-left: 10px; border-left: 2px solid #ecd9b5; }
.pb-claims > li.is-weak { border-left-style: dashed; }
.pb-claim-t { margin: 0; font: 400 13.5px/1.55 var(--font); color: var(--text); }
.pb-claim-m { margin: 3px 0 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font: 500 11.5px/1.4 var(--font); color: var(--text-light); }
.pb-claim-m .pb-tier { margin-left: 0; }
.pb-species { font: 600 11px/1.3 var(--font); color: var(--text-muted); background: var(--bg-alt); border-radius: 5px; padding: 2px 6px; margin-left: 6px; }
.pb-weak { color: var(--amber); }
.pb-sources { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 2px; font: 400 12px/1.45 var(--font); }
.pb-cite { color: var(--text-muted); }
a.pb-cite { color: var(--anat-dk); }
.pb-draft { color: var(--text-muted); }
.pb-proto { padding: 8px 0; border-top: 1px solid var(--border); }
.pb-proto:first-of-type { border-top: 0; padding-top: 0; }
.pb-proto-h { margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font: 600 13.5px/1.4 var(--font); }
.pb-chain { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 0; counter-reset: pbstep; }
.pb-node { position: relative; padding: 0 0 10px 26px; }
.pb-node::before { counter-increment: pbstep; content: counter(pbstep); position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 50%; background: var(--anat-light); color: var(--anat-dk); font: 800 10.5px/18px var(--font); text-align: center; }
.pb-node:not(:last-child)::after { content: ""; position: absolute; left: 8.5px; top: 21px; bottom: 2px; width: 1px; background: var(--anat-pale); }
.pb-node.is-cross::before { background: var(--anat); color: #fff; }
.pb-node.is-target::before, .pb-node.is-body::before { background: var(--anat-mid); color: #fff; }
.pb-node-h { margin: 0; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font: 400 13.5px/1.45 var(--font); }
.pb-node-h b { font-weight: 700; color: var(--text); }
.pb-node-t { margin: 2px 0 0; font: 400 13px/1.5 var(--font); color: var(--text-muted); overflow-wrap: anywhere; }
/* a chain taught a step at a time, or shuffled for a trainee to put back in order */
.pb-chain-tools, .pb-stepper { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-top: 8px; }
.pb-step-n { font: 700 12px/1.2 var(--font); color: var(--text-muted); padding: 0 4px; }
@media screen { .pb-node.is-later { display: none; } }
.pb-node.is-now > .pb-node-h b { color: var(--anat-dk); }
.pb-node.is-now::before { box-shadow: 0 0 0 3px var(--anat-pale); }
.pb-order { display: grid; gap: 8px; margin-top: 8px; }
.pb-order-msg { margin: 0; font: 600 13px/1.45 var(--font); color: var(--anat-dk); }
.pb-order-pool { display: flex; flex-wrap: wrap; gap: 6px; }
.pb-order-step { text-align: left; white-space: normal; }
.pb-chain--placed:empty { display: none; }
.pb-order > .pb-btn { justify-self: start; }
body.pb-clinic .pb-chain-tools { display: none; }
body.pb-present .pb-order-step, body.pb-present .pb-order-msg { font-size: 16px; }
.pb-sym { padding: 10px 0; border-top: 1px solid var(--border); }
.pb-sym:first-of-type { border-top: 0; padding-top: 0; }
.pb-sym-h { margin: 0 0 6px; display: flex; flex-wrap: wrap; gap: 4px 8px; align-items: center; font: 400 14px/1.4 var(--font); }
.pb-sym-state { font: 700 11px/1.2 var(--font); padding: 3px 7px; border-radius: 6px; background: var(--bg-alt); color: var(--text-muted); }
.pb-sym.is-met .pb-sym-state { background: var(--anat); color: #fff; }
.pb-sym.is-near .pb-sym-state { background: var(--anat-light); color: var(--anat-dk); }
.pb-sym.is-other .pb-sym-state { background: var(--amber-light); color: var(--amber); }
.pb-key p { margin: 0 0 6px; font: 400 13px/1.5 var(--font); color: var(--text-muted); }
.pb-quiz { margin: 0; padding-left: 22px; display: grid; gap: 14px; max-width: 860px; }
.pb-q { margin: 0 0 6px; font: 600 14.5px/1.5 var(--font); color: var(--text); }
.pb-q-opts { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 6px; }
.pb-q-a { margin-top: 6px; padding: 8px 10px; border-radius: 10px; background: var(--anat-light); display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.pb-q-a p { margin: 0; font: 500 13.5px/1.5 var(--font); color: var(--text); }
.pb-point { margin: 0 0 6px; font: 400 12.5px/1.5 var(--font); color: var(--text-muted); }
.pb-would { display: block; margin-left: 16px; font: 500 12px/1.45 var(--font); color: var(--text-light); }
.pb-input--filter { max-width: 320px; }
.pb-caption { margin: 0 0 10px; max-width: 90ch; }
.pb-table-wrap { overflow-x: auto; border: 1px solid var(--border); border-radius: var(--radius-md); background: #fff; }
.pb-table { width: 100%; border-collapse: collapse; font: 400 13px/1.5 var(--font); min-width: 640px; }
.pb-table th, .pb-table td { text-align: left; vertical-align: top; padding: 7px 10px; border-top: 1px solid var(--border); }
.pb-table tr:first-child th { border-top: 0; background: var(--bg-soft); font: 700 12px/1.3 var(--font); color: var(--text-muted); position: sticky; top: 0; }
.pb-table tr > th:first-child { white-space: nowrap; font-weight: 700; color: var(--text); }
.pb-table td.is-same { color: var(--text-light); font-style: italic; }
.pb-table-line { color: var(--text-light); font-size: 11.5px; white-space: nowrap; width: 1%; }
.pb-chip--small { font-size: 11px; padding: 1px 6px; }
.pb-compare { display: inline-flex; gap: 4px; align-items: center; }
.pb-find-col { color: var(--text-light); font-size: 12.5px; }
.pb-find-line { color: var(--text-light); font-size: 11.5px; }
.pb-result.is-find { color: var(--brand-text); font-weight: 600; }
.pb-input--compare { width: 190px; padding: 5px 9px; font-size: 12.5px; }
.pb-table--compare { table-layout: fixed; }
.pb-table--compare tr > th:first-child { width: 200px; white-space: normal; color: var(--text-muted); font-size: 12.5px; }
.pb-handout-part { margin-bottom: 24px; padding-bottom: 12px; border-bottom: 1px dashed var(--border-strong); }

/* a rule's answer chips: one presentation's levels, and the PROTOCOL's cells there */
.pb-answers { display: flex; flex-wrap: wrap; gap: 5px; align-items: center; margin-top: 6px; }
.pb-answers-h { font: 700 12px/1.3 var(--font); color: var(--text-muted); }
.pb-answers-out:empty { display: none; }
.pb-answers-out { margin-top: 6px; padding: 8px 10px; border-radius: 10px; background: var(--bg-soft); }

/* where a word comes in, as a grid: levels down, front/back × left/right across */
.pb-findgrid { margin: 0 0 14px; display: grid; gap: 6px; max-width: 760px; }
.pb-findgrid-t { min-width: 0; table-layout: fixed; }
.pb-findgrid-t th, .pb-findgrid-t td { text-align: center; padding: 3px 6px; }
.pb-findgrid-t tr > th:first-child { width: 64px; text-align: left; }
.pb-findgrid-cell { border: 1px solid var(--anat-pale); background: var(--anat-light); color: var(--anat-dk); border-radius: 7px; padding: 3px 8px; font: 800 12.5px/1.3 var(--font); letter-spacing: .06em; cursor: pointer; min-width: 34px; }
.pb-findgrid-cell:hover, .pb-findgrid-cell:focus { background: var(--anat); color: #fff; outline: none; }
.pb-findgrid-detail:empty { display: none; }
.pb-findgrid-detail { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 10px 14px; }
body.pb-present .pb-findgrid { max-width: none; }
body.pb-present .pb-findgrid-cell { font-size: 16px; padding: 5px 12px; }

/* tonight's research, in one place: how it was checked, what differs from the method, the topics */
.pb-card--wide { grid-column: 1 / -1; }
.pb-link-t { color: var(--text-muted); font-size: 13px; }
.pb-claim-t .pb-chip { margin-right: 6px; }
.pb-research-part { margin-top: 18px; display: grid; gap: 8px; max-width: 1100px; }
.pb-part-h { margin: 0; font: 800 16px/1.3 var(--font); color: var(--text); }
.pb-research-part > .pb-rec { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-md); padding: 8px 14px; }
.pb-research-part > .pb-rec > .pb-claims { margin-top: 6px; }

/* the curriculum's line types, folded by section */
.pb-card--curriculum { border-color: var(--brand-pale); grid-column: 1 / -1; }
.pb-rec { border-top: 1px solid var(--border); padding: 6px 0; }
.pb-rec > summary { cursor: pointer; font: 700 13px/1.4 var(--font); color: var(--text); }
.pb-rec > summary:hover { color: var(--anat-dk); }
.pb-rec[open] > summary { margin-bottom: 6px; }
.pb-rec--private > summary { color: var(--anat-dk); }
.pb-rec-dl { grid-template-columns: minmax(110px, 24%) 1fr; }
.pb-rec-p { margin: 0; font: 400 13px/1.55 var(--font); color: var(--text); overflow-wrap: anywhere; }
.pb-rec-list { margin: 0; padding-left: 18px; display: grid; gap: 4px; font: 400 13px/1.55 var(--font); color: var(--text); }
.pb-rec-code { font: 600 12.5px/1.4 ui-monospace, Menlo, monospace; color: var(--anat-dk); background: var(--anat-light); padding: 1px 5px; border-radius: 5px; }
.pb-rec-gloss { color: var(--text-muted); }
.pb-srcs { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: 6px; vertical-align: middle; max-width: 100%; }
/* a long source (a changelog line) wraps inside its card instead of pushing the page sideways (the review of
   18 Oct 2026: 266 px at 390, 166 px at 1024, once a fold was opened) */
.pb-srcs .pb-src { white-space: normal; overflow-wrap: anywhere; max-width: 100%; }
.pb-rec-dl > dd, .pb-rec-list > li { min-width: 0; overflow-wrap: anywhere; }
/* a record inside a record: its labels above its values, not in a column beside them — three deep, the columns beside
   left nothing for the words at 390 px */
.pb-rec-dl .pb-rec-dl { grid-template-columns: minmax(0, 1fr); gap: 2px 0; }
.pb-rec-dl .pb-rec-dl > dd { margin-bottom: 4px; }
@media (max-width: 520px) { .pb-rec-dl { grid-template-columns: minmax(0, 1fr); gap: 2px 0; } .pb-rec-dl > dd { margin-bottom: 4px; } }

/* felt along the chain with no leg area outside the band: what to add, and the line tried with one */
.pb-card--chain-hint { border-color: var(--anat-pale); }
.pb-card--chain-hint .pb-lead { margin-bottom: 4px; }
.pb-card--chain-hint .pb-btn { margin-top: 8px; }
/* why a line wasn't read, above its cards */
.pb-hints { margin: 0 0 12px; }
.pb-hints .pb-empty { padding: 4px 0 6px; }
.pb-key-links:empty { display: none; }

/* a wide view (a whole table, side by side, a case, the handout): the tray goes below, the view takes the room */
@media (min-width: 1181px) { body.pb-wide .pb-grid { grid-template-columns: 260px minmax(0, 1fr); } body.pb-wide .pb-tray { grid-column: 1 / -1; position: static; } }

/* the clinic's short view: the PROTOCOL and the chain, no research, no curriculum */
body.pb-clinic .pb-card--research, body.pb-clinic .pb-card--flag, body.pb-clinic .pb-card--curriculum { display: none; }
/* …and the brain by function kept (the review of 18 Oct 2026: there it showed no card at all): its functions, regions and
   drawings, without the research's own prose — its notes, species, second-reader marks and sources */
body.pb-clinic .pb-card--fn .pb-sources, body.pb-clinic .pb-card--fn .pb-link-t, body.pb-clinic .pb-card--fn .pb-species,
body.pb-clinic .pb-card--fn .pb-weak, body.pb-clinic .pb-card--fn > .pb-note:not(.pb-card-covers) { display: none; }

/* presenting on a projector: the view alone, larger */
body.pb-present .ni-side, body.pb-present .ni-topbar, body.pb-present .pb-side, body.pb-present .pb-tray { display: none !important; }
/* the whole screen (the review of 18 Oct 2026): with the studio's sidebar hidden its column goes too — the shell's two
   columns had left the slide in the sidebar's 224 px one — and no card wider than the screen, so a phone never scrolls
   sideways */
body.pb-present .ni-shell { grid-template-columns: minmax(0, 1fr); max-width: none; }
body.pb-present .pb-grid { grid-template-columns: minmax(0, 1fr); }
body.pb-present .pb-wrap { max-width: none; }
body.pb-present .pb-view { font-size: 118%; }
body.pb-present .pb-view-h h2 { font-size: 30px; }
body.pb-present .pb-card-h h3 { font-size: 18px; }
body.pb-present .pb-dl, body.pb-present .pb-list, body.pb-present .pb-node-h, body.pb-present .pb-node-t, body.pb-present .pb-grid4, body.pb-present .pb-claim-t { font-size: 16px; }
body.pb-present .pb-cards { grid-template-columns: repeat(auto-fill, minmax(min(420px, 100%), 1fr)); }

body.pb-present .pb-head h1 { display: none; }
.pb-slide { position: fixed; right: 18px; bottom: 14px; margin: 0; padding: 6px 12px; border-radius: 999px; background: var(--anat); color: #fff; font: 700 13px/1.2 var(--font); box-shadow: var(--shadow-md); z-index: 50; }

/* printing: the view (or the handout) alone, on paper */
@media print {
  .ni-side, .ni-topbar, .pb-side, .pb-tray, .pb-head-tools, .pb-tools, .pb-btn, .pb-chain-tools, .pb-stepper, .pb-order { display: none !important; }
  .pb-chain[hidden] { display: grid !important; }
  .pb-grid { display: block; }
  .pb-card { box-shadow: none; break-inside: avoid; }
  .pb-cards { grid-template-columns: 1fr 1fr; }
  body { background: #fff; }
}

/* a research topic's card: what the topic covers, under its name (18 Oct 2026) */
.pb-card-covers { margin: -4px 0 10px; }
