/* injection.css — the injection config (💉), the patient-intake builder.
   medical/clinical skin (the nurse's domain) on the toto2 base. 3 columns:
   🩺 oscilloscope · 📋 patient chart · 👁️ preview. green = vitals; tokens = clinical. */

.card-injection .inj-wrap { flex: 1; min-height: 0; display: flex; flex-direction: column; overflow: hidden; }   /* (Sum 2026-07-13) header/subbar pinned; the 3 columns scroll on their OWN below (preview stays put) */

/* header — agent · model · skin (role + bot removed) */
.pc-header { flex-shrink: 0; display: flex; gap: var(--space-lg); padding: var(--space-md) var(--space-lg); border-bottom: 1px solid var(--line); background: var(--surface-2); flex-wrap: wrap; }
.pc-cf { display: flex; flex-direction: column; gap: 4px; }
.pc-ck { font-size: var(--fs-chrome); color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px; }
.pc-sel { background: var(--bg); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 6px 10px; font: inherit; font-size: var(--fs-label); cursor: pointer; outline: none; }
.pc-sel:focus { border-color: var(--med); }

/* agent ＋/－ — name a new custom agent · delete one */
.pc-agent-row { display: flex; gap: 4px; }
.pc-agent-row .pc-sel { flex: 1; }
.pc-agent-add, .pc-agent-del, .pc-agent-reset { width: 34px; flex-shrink: 0; background: var(--surface-2); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); font: inherit; font-size: var(--fs-label); cursor: pointer; }
.pc-agent-add:hover, .pc-agent-del:hover { border-color: var(--med); color: var(--med-bright); }
.pc-agent-reset:hover { border-color: var(--accent); color: var(--accent); }   /* the reset reads as the collar-red action */
.pc-agent-name, .pc-agent-delsel { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--med); border-radius: var(--r-sm); padding: 6px 8px; font: inherit; font-size: var(--fs-label); outline: none; }

/* subbar — intake note · vitals · token · save */
.pc-subbar { flex-shrink: 0; display: flex; align-items: center; gap: var(--space-sm); padding: var(--space-sm) var(--space-lg); border-bottom: 1px solid var(--line); font-size: var(--fs-chrome); flex-wrap: wrap; }
.pc-intake-label { color: var(--med-bright); font-weight: 700; }
.pc-intake-note { color: var(--text-dim); font-style: italic; }
.pc-vital { width: 48px; height: 18px; }
.pc-vital polyline { stroke: var(--med); }   /* token the vital-wave stroke (overrides the inline fallback) */
.pc-tokens { color: var(--text-dim); }
.pc-tok-n { color: var(--med-bright); }
.pc-save { padding: 8px 16px; background: var(--med); color: #fff; border: none; border-radius: var(--r-sm); font: inherit; font-weight: 700; cursor: pointer; box-shadow: 0 3px 0 var(--med-deep); }
.pc-save:active { transform: translateY(2px); box-shadow: 0 1px 0 var(--med-deep); }

/* the 3 columns — each scrolls on its OWN (Sum 2026-07-13): fill the height, independent scroll, preview always visible */
.pc-cols { display: flex; align-items: stretch; flex: 1 1 0; min-height: 0; }
.pc-col { flex: 1; min-width: 0; padding: var(--space-md); border-right: 1px solid var(--line); overflow-y: auto; }
.pc-col:last-child { border-right: none; }
.pc-col-prev { background: var(--surface-2); overflow: hidden; display: flex; flex-direction: column; }   /* fills its column; the CRT + text scroll INSIDE, not the column */
.pc-col-tag { font-size: var(--fs-chrome); color: var(--text-dim); text-transform: uppercase; letter-spacing: 1px; margin-bottom: var(--space-sm); }

/* intake cards */
.pc-block { border: 1px solid var(--line); border-radius: var(--r-sm); margin-bottom: var(--space-md); background: var(--surface); }
.pc-head { display: flex; align-items: center; gap: 8px; padding: 10px 12px; cursor: pointer; border-left: 3px solid var(--med); }
.pc-icon { font-size: 18px; }
.pc-title { font-size: var(--fs-label); font-weight: 700; color: var(--text); }
.pc-title-edit { outline: none; cursor: text; }
.pc-title-edit:empty::before { content: 'user name'; color: var(--text-dim); font-weight: 400; }
.pc-flex { flex: 1; }
.pc-caret { color: var(--text-dim); transition: transform .15s; }
.pc-block:not(.open) .pc-caret { transform: rotate(-90deg); }
.pc-body { display: none; padding: 0 12px 12px; }
.pc-block.open .pc-body { display: block; }

/* the include-in-injection toggle (small dot) */
.pc-inj { width: 16px; height: 16px; border-radius: 50%; border: 2px solid var(--text-dim); cursor: pointer; flex-shrink: 0; }
.pc-inj.on { background: var(--med); border-color: var(--med); }

/* fields */
.pc-field { margin-top: 10px; }
.pc-row2 { display: flex; gap: var(--space-sm); }
.pc-row2 .pc-field { flex: 1; }
.pc-label { font-size: var(--fs-chrome); font-weight: 700; color: var(--text-dim); margin-bottom: 4px; }
.pc-area { width: 100%; background: var(--bg); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 8px 10px; font: inherit; font-size: var(--fs-label); line-height: 1.5; resize: vertical; outline: none; }
.pc-area:focus { border-color: var(--med); }
.pc-area::placeholder { color: var(--text-dim); }
.pc-hint { font-size: var(--fs-chrome); color: var(--text-dim); line-height: 1.5; margin-top: 10px; }
/* (Sum 2026-07-13) HILLICINOT — the pill banner in the anti-hallucination-injection block */
.pc-pill { display: block; max-width: 100%; height: auto; max-height: 84px; margin: 2px auto 8px; object-fit: contain; }
.pc-implant { margin-top: 8px; font-style: italic; color: var(--med-bright); font-size: var(--fs-chrome); line-height: 1.5; }

/* tools list — the 🔧 TOOLS block (read-only; grant lives in the woodshop) */
.pc-tool { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 6px 9px; margin-top: 6px; font-size: var(--fs-chrome); }
.pc-tool-card { color: var(--text-dim); font-size: var(--fs-ui); text-transform: uppercase; letter-spacing: .04em; }
.pc-tool-blurb { color: var(--text-dim); margin-top: 2px; line-height: 1.4; }
.pc-tool-edit { cursor: help; }

/* ethics rows */
.pc-eth { border: 1px solid var(--line); border-radius: var(--r-sm); padding: 8px 10px; margin-top: 8px; }
.pc-eth-head { display: flex; align-items: center; gap: 8px; }
.pc-eth-rule { font-weight: 700; color: var(--text); outline: none; }
.pc-eth-note { margin-top: 6px; color: var(--text-dim); font-size: var(--fs-chrome); line-height: 1.5; outline: none; }
.pc-eth-rule:empty::before { content: 'name it…'; color: var(--text-dim); font-weight: 400; }
.pc-eth-note:empty::before { content: 'describe it…'; color: var(--text-dim); }
.pc-add-eth { margin-top: 10px; width: 100%; padding: 8px; background: var(--surface-2); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); font: inherit; cursor: pointer; }
.pc-add-eth:hover { border-color: var(--med); }

/* conversation slider */
.pc-slider-row { display: flex; align-items: center; gap: var(--space-sm); margin-top: 10px; font-size: var(--fs-chrome); color: var(--text-dim); }
.pc-turns { flex: 1; accent-color: var(--med); }
.pc-turns-val { color: var(--med-bright); font-weight: 700; min-width: 1.5em; }

/* conversation — history policy (trim vs compact, at % of context) */
.pc-hist { margin-top: var(--space-md); display: flex; flex-direction: column; gap: var(--space-sm); }
.pc-hist-modes { display: flex; gap: 6px; }
.pc-mode { flex: 1; padding: 8px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-sm); color: var(--text-dim); font: inherit; font-weight: 700; cursor: pointer; }
.pc-mode.on { background: var(--med); color: var(--bg); border-color: var(--med); }
.pc-hist-pct { font-size: var(--fs-chrome); color: var(--text-dim); display: flex; align-items: center; gap: 6px; }
.pc-pct { width: 56px; background: var(--bg); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 4px 6px; font: inherit; outline: none; }
.pc-pct:focus { border-color: var(--med); }
.pc-clear { width: 100%; margin-top: var(--space-sm); padding: 10px; background: var(--surface-2); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); font: inherit; font-weight: 700; cursor: pointer; }
.pc-clear:hover { border-color: var(--accent); color: var(--accent); }
.pc-th-modes { display: flex; gap: 6px; }
.pc-th { flex: 1; padding: 6px; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-sm); color: var(--text-dim); font: inherit; font-size: var(--fs-chrome); font-weight: 700; cursor: pointer; }
.pc-th.on { border-color: var(--med); color: var(--med-bright); }
.pc-th-turns { display: flex; align-items: center; gap: 8px; font-size: var(--fs-chrome); color: var(--text-dim); }
.pc-th-turns .pc-turns { flex: 1; }
.pc-th-pct { display: flex; align-items: center; gap: 6px; font-size: var(--fs-chrome); color: var(--text-dim); }
.off { display: none; }

/* working-memory switches */
.pc-sw-row { display: flex; align-items: center; gap: 8px; margin-top: 10px; font-size: var(--fs-label); color: var(--text); }
.pc-sw { width: 40px; height: 22px; border-radius: 999px; background: var(--line); position: relative; cursor: pointer; transition: background .15s; flex-shrink: 0; }
.pc-sw::after { content: ''; position: absolute; top: 2px; left: 2px; width: 18px; height: 18px; border-radius: 50%; background: var(--text); transition: left .15s; }
.pc-sw.on { background: var(--med); }
.pc-sw.on::after { left: 20px; }

/* preview — the assembled injection */
.pc-preview-raw { white-space: pre-wrap; word-break: break-word; font-family: ui-monospace, "SF Mono", Menlo, monospace; font-size: var(--fs-chrome); line-height: 1.55; color: var(--text); background: var(--bg); border: 1px solid var(--line); border-radius: var(--r-sm); padding: 12px; margin: 0; max-height: 60vh; overflow-y: auto; }   /* set size + its own inner scroll */
.pc-prev-foot { display: flex; align-items: center; gap: var(--space-sm); margin-top: var(--space-sm); font-size: var(--fs-chrome); color: var(--text-dim); }
.pc-copy { margin-left: auto; padding: 6px 14px; background: var(--surface); color: var(--text); border: 1px solid var(--line); border-radius: var(--r-sm); font: inherit; cursor: pointer; }
.pc-copy:hover { border-color: var(--med); }
.pc-reset { display: block; margin: var(--space-lg) auto 0; background: none; border: none; color: var(--text-dim); font: inherit; font-size: var(--fs-chrome); cursor: pointer; }
.pc-reset:hover { color: var(--med); }


/* ══════════════════════════════════════════════════════════════════════════════
   p-injection — the patient chart, run through makeCard. ported from oz4.2's
   injection-config: WHITE/BLACK card-stock chrome OUTSIDE the three columns; the
   columns keep their own skins — 🩺 a green CRT OSCILLOSCOPE · 🥼 RULED card-stock ·
   👁️ the readout on a CRT MONITOR (assets/preview-crt.png).
   ══════════════════════════════════════════════════════════════════════════════ */

/* makeCard body — hold the tall chart + scroll (override the editor-card 320px) */
.p-injection.card { background: var(--inj-white); }
.p-injection .card-body { height: auto; background: var(--inj-white); }   /* no max-height — grow + the desk scrolls (matches every other card) */
.p-injection .inj-wrap { background: var(--inj-white); }

/* ── the WHITE/BLACK chrome — head · header · sub-bar (everything outside the columns) ── */
.p-injection .card-head { background: var(--inj-chrome); border-bottom: 1px solid var(--inj-chr-line); }
.p-injection .card-head .card-title { color: var(--inj-ctrl); letter-spacing: 1px; }
.p-injection .card-head::after { color: var(--inj-ctrl); }

/* the resize slider matches the white clinical chrome (was the default dark-grey bar with a
   warm-white ⇕ that vanished on white). same thickness as before — just the right color now. */
.p-injection .card-bottom { background: var(--inj-chrome); border-top: 1px solid var(--inj-chr-line); box-shadow: inset 0 3px 9px -3px rgba(0,0,0,0.10); }
.p-injection .card-bottom::before { color: var(--inj-ink); }
.p-injection .card-bottom:hover { box-shadow: inset 0 3px 12px -2px rgba(0,0,0,0.18); }
.p-injection .card-bottom:hover::before { color: var(--inj-chart-ink); }

.p-injection .pc-header { background: var(--inj-chrome); border-bottom: 1px solid var(--inj-chr-line); }
.p-injection .pc-header .pc-ck { color: var(--inj-dim); }
.p-injection .pc-sel { background: var(--inj-white); color: var(--inj-ctrl); border-color: var(--inj-ctrl-line); }
.p-injection .pc-sel:focus { border-color: var(--inj-ctrl); }
.p-injection .pc-agent-add, .p-injection .pc-agent-del, .p-injection .pc-agent-reset { background: var(--inj-white); color: var(--inj-ctrl); border-color: var(--inj-ctrl-line); }
.p-injection .pc-agent-add:hover, .p-injection .pc-agent-del:hover { border-color: var(--inj-ctrl); color: var(--inj-ctrl); }
.p-injection .pc-agent-reset:hover { border-color: var(--inj-red); color: var(--inj-red); }
.p-injection .pc-hint { color: var(--inj-dim); }

.p-injection .pc-subbar { background: var(--inj-sub-bg); border-bottom: 1px solid var(--inj-sub-line); color: var(--inj-sub-text); }
.p-injection .pc-intake-label { color: var(--inj-red); }
.p-injection .pc-intake-note { color: var(--inj-dim); }
.p-injection .pc-vital polyline { stroke: var(--inj-red); }
.p-injection .pc-tokens { color: var(--inj-dim); }
.p-injection .pc-tok-n { color: var(--inj-red); }
.p-injection .pc-save { background: var(--inj-ctrl); color: var(--inj-white); box-shadow: 0 3px 0 #000; }
.p-injection .pc-save:active { box-shadow: 0 1px 0 #000; }

.p-injection .pc-cols { background: var(--inj-white); }
.p-injection .pc-col { border-right: 1px solid var(--inj-sub-line); }

/* ── COL 1 · 🩺 OSCILLOSCOPE — green phosphor CRT (dark green, scanlines, courier) ── */
.p-injection .pc-col-scope {
  background: var(--inj-scope-bg);
  background-image: repeating-linear-gradient(to bottom, transparent 0 3px, rgba(0,0,0,0.16) 3px 4px);
}
.p-injection .pc-col-scope .pc-col-tag { color: var(--med); }
.p-injection .pc-col-scope .pc-block { background: rgba(0,22,0,0.55); border-color: var(--inj-scope-border); }
.p-injection .pc-col-scope .pc-head { border-left-color: var(--inj-scope-accent); }
.p-injection .pc-col-scope .pc-title,
.p-injection .pc-col-scope .pc-icon { color: var(--med); font-family: 'Courier New', monospace; }
.p-injection .pc-col-scope .pc-caret { color: var(--med); }
.p-injection .pc-col-scope .pc-label { color: var(--med); }
.p-injection .pc-col-scope .pc-implant { color: var(--med); }
.p-injection .pc-col-scope .pc-title-edit:empty::before { color: var(--inj-scope-dim); }
.p-injection .pc-col-scope .pc-area {
  background: rgba(0,28,0,0.5); color: var(--med-bright); border-color: var(--inj-scope-border);
  font-family: 'Courier New', monospace;
}
.p-injection .pc-col-scope .pc-area::placeholder { color: var(--inj-scope-dim); }
.p-injection .pc-col-scope .pc-area:focus { border-color: var(--med); }
.p-injection .pc-col-scope .pc-inj { border-color: var(--med); }
.p-injection .pc-col-scope .pc-inj.on { background: var(--med); border-color: var(--med); }
.p-injection .pc-col-scope .pc-eth { border-color: var(--inj-scope-border); }
.p-injection .pc-col-scope .pc-eth-rule { color: var(--med-bright); }
.p-injection .pc-col-scope .pc-eth-note { color: var(--med); }
.p-injection .pc-col-scope .pc-eth-rule:empty::before,
.p-injection .pc-col-scope .pc-eth-note:empty::before { color: var(--inj-scope-dim); }
.p-injection .pc-col-scope .pc-add-eth { background: rgba(0,22,0,0.5); color: var(--med); border-color: var(--inj-scope-border); }
.p-injection .pc-col-scope .pc-add-eth:hover { border-color: var(--med); }
/* the open block body wears the phosphor grid */
.p-injection .pc-col-scope .pc-body {
  background-image: linear-gradient(rgba(0,80,0,0.10) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(0,80,0,0.10) 1px, transparent 1px);
  background-size: 20px 20px;
}

/* ── COL 2 · 🥼 the CHART — ruled card-stock (cream paper, blue rules, red margin) ── */
.p-injection .pc-col-chart {
  background: var(--inj-chart-bg);
  background-image: repeating-linear-gradient(to bottom, transparent 0 27px, rgba(90,120,165,0.22) 27px 28px);
}
.p-injection .pc-col-chart .pc-col-tag { color: var(--inj-ink); }
.p-injection .pc-col-chart .pc-block { background: rgba(255,255,255,0.6); border-color: var(--inj-chart-border); }
.p-injection .pc-col-chart .pc-head { border-left-color: var(--inj-red); }   /* the red chart margin */
.p-injection .pc-col-chart .pc-title,
.p-injection .pc-col-chart .pc-icon { color: var(--inj-chart-ink); }
.p-injection .pc-col-chart .pc-caret { color: var(--inj-ink); }
.p-injection .pc-col-chart .pc-label { color: var(--inj-ink); }
.p-injection .pc-col-chart .pc-title-edit:empty::before { color: var(--inj-chart-dim); }
.p-injection .pc-col-chart .pc-area { background: rgba(255,255,255,0.72); color: var(--inj-chart-body); border-color: var(--inj-chart-border); }
.p-injection .pc-col-chart .pc-area::placeholder { color: var(--inj-chart-dim); }
.p-injection .pc-col-chart .pc-area:focus { border-color: var(--inj-red); }
.p-injection .pc-col-chart .pc-inj { border-color: var(--inj-chart-dim); }
.p-injection .pc-col-chart .pc-inj.on { background: var(--inj-red); border-color: var(--inj-red); }
.p-injection .pc-col-chart .pc-mode,
.p-injection .pc-col-chart .pc-th,
.p-injection .pc-col-chart .pc-clear,
.p-injection .pc-col-chart .pc-add-eth { background: rgba(255,255,255,0.6); color: var(--inj-chart-warm); border-color: var(--inj-chart-border); }
.p-injection .pc-col-chart .pc-mode.on { background: var(--inj-red); color: var(--inj-white); border-color: var(--inj-red); }
.p-injection .pc-col-chart .pc-th.on { border-color: var(--inj-red); color: var(--inj-red); }
.p-injection .pc-col-chart .pc-pct { background: var(--inj-white); color: var(--inj-chart-body); border-color: var(--inj-chart-border); }
.p-injection .pc-col-chart .pc-turns { accent-color: var(--inj-red); }
.p-injection .pc-col-chart .pc-turns-val { color: var(--inj-red); }
.p-injection .pc-col-chart .pc-eth { border-color: var(--inj-chart-border); }
.p-injection .pc-col-chart .pc-eth-rule { color: var(--inj-chart-ink); }
.p-injection .pc-col-chart .pc-eth-note { color: var(--inj-ink); }

/* ── COL 3 · 👁️ the MONITOR — the readout on the CRT screen (preview-crt.png) ── */
.p-injection .pc-col-prev { flex: 1.3; background: var(--inj-white); }
.p-injection .pc-col-prev .pc-col-tag { color: var(--inj-dim); }
/* the CRT: the png is the FRAME; the readout insets into the rounded glass (the book/phone trick) */
.pc-crt {
  position: relative; width: 100%;
  flex: 1 1 auto; min-height: 220px;   /* (Sum 2026-07-13) STRETCH the monitor to fill the column height (png scales 100% 100%) */
  background: url('assets/preview-crt.png') center / 100% 100% no-repeat;
}
.pc-prev-foot, .pc-reset { flex-shrink: 0; }   /* keep total/copy/reset visible under the stretched screen */
.pc-crt .pc-preview-raw {
  position: absolute; inset: 13% 9% 14% 9%;   /* the screen window — tune to the glass */
  margin: 0; padding: 8px 10px; border: none; border-radius: 6px;
  background: rgba(210,222,208,0.18);          /* a faint phosphor wash; the glass shows through */
  color: var(--inj-crt-text); font-size: var(--fs-ui); line-height: 1.45; max-height: none;
  background-image: linear-gradient(rgba(0,70,0,0.08) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(0,70,0,0.08) 1px, transparent 1px);
  background-size: 16px 16px;
}
.p-injection .pc-prev-foot { color: var(--inj-dim); }
.p-injection .pc-copy { background: var(--inj-white); color: var(--inj-ctrl); border-color: var(--inj-ctrl-line); }
.p-injection .pc-copy:hover { border-color: var(--inj-red); color: var(--inj-red); }
.p-injection .pc-reset { color: var(--nurse-dim); }
.p-injection .pc-reset:hover { color: var(--inj-red); }

/* ── notes (the chart) ──────────────────────────────────────────────────── */
.pc-notes-body { padding: 4px 0; }
/* per-owner trays — a thin minimal divider + a quiet uppercase label (shared · everyone / <bot> · only this bot) */
.pc-note-sec { padding: 2px 0; }
.pc-note-sec + .pc-note-sec { margin-top: 10px; border-top: 1px solid var(--line); padding-top: 8px; }
.pc-note-sec-h { font-size: var(--fs-chrome); letter-spacing: .08em; text-transform: uppercase; color: var(--text-dim); opacity: .8; padding: 2px 0 4px; }
.pc-note-fhead { display: flex; align-items: center; gap: 6px; padding: 4px 0; min-height: var(--hit); }
.pc-folder-head { padding-left: 0; }
.pc-note-fname { font-size: var(--fs-chrome); color: var(--text-dim); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; flex: 1; min-width: 0; }
.pc-note-open { cursor: pointer; }
.pc-note-open:hover { color: var(--text); text-decoration: underline; }
.pc-src { background: none; border: 0; padding: 0 2px; font-size: 0.9em; line-height: 1; cursor: pointer; opacity: 0.85; }
.pc-src:hover { opacity: 1; transform: scale(1.15); }
.pc-note-where { font-size: 0.78em; opacity: 0; color: var(--text-dim); white-space: nowrap; margin-right: 6px; transition: opacity 0.1s; }
.pc-note-file:hover .pc-note-where { opacity: 0.7; }
.pc-folder-name { color: var(--text); font-weight: 600; }
.pc-folder-files { padding-left: 1rem; border-left: 1px solid var(--line); margin-left: 8px; }
.pc-note-file { margin-bottom: 4px; }
.pc-note-folder { margin-bottom: 8px; }
.pc-note-del { background: transparent; border: 1px solid transparent; border-radius: 4px; color: var(--text-dim); font-size: var(--fs-ui); cursor: pointer; padding: 2px 6px; min-width: 28px; min-height: var(--hit); flex-shrink: 0; line-height: 1; }
.pc-note-del:hover { border-color: var(--line); color: var(--text); }
.pc-notes-add { padding-top: 8px; }
.pc-note-add { background: transparent; border: 1px solid var(--line); border-radius: 4px; color: var(--text-dim); font-size: var(--fs-chrome); cursor: pointer; padding: 4px 10px; min-height: var(--hit); }
.pc-note-add:hover { color: var(--text); border-color: var(--text-dim); }

/* ── notes folders: collapsible tree (default collapsed — they took too much room) ── */
.pc-folder-caret { color: var(--text-dim); transition: transform .15s; cursor: pointer; width: 1em; flex-shrink: 0; user-select: none; }
.pc-folder-name  { cursor: pointer; }
.pc-folder-count { color: var(--text-dim); font-weight: 400; }
.pc-note-folder.collapsed .pc-folder-caret { transform: rotate(-90deg); }
.pc-note-folder.collapsed .pc-folder-files { display: none; }

/* notes on the cream chart — readable, not dark-theme dim (no ghost text on parchment) */
.p-injection .pc-col-chart .pc-note-fname,
.p-injection .pc-col-chart .pc-folder-name  { color: var(--inj-chart-ink); }
.p-injection .pc-col-chart .pc-folder-caret,
.p-injection .pc-col-chart .pc-folder-count,
.p-injection .pc-col-chart .pc-note-del,
.p-injection .pc-col-chart .pc-note-add     { color: var(--inj-ink); }
.p-injection .pc-col-chart .pc-note-add:hover { color: var(--inj-chart-ink); border-color: var(--inj-ink); }
.p-injection .pc-col-chart .pc-inj          { border-color: var(--inj-ink); }
