/* ── Library — extras layered on the Rev12:11 site.css (black/white/red) ──────── */

.lib-toolbar{
  display:flex;gap:14px;align-items:center;flex-wrap:wrap;
  max-width:1160px;margin:0 auto;padding:20px 24px 0;
}
.lib-profile-chip{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--font-mono);font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  padding:8px 16px;border:1px solid var(--line-dark);border-radius:30px;color:var(--ink);
}
.paper .lib-profile-chip{color:var(--ink)}
.lib-profile-chip b{color:var(--blood);font-weight:400}

/* filters */
.lib-filters{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;
  max-width:1160px;margin:0 auto;padding:18px 24px;
}
.lib-filters select,.lib-filters input{
  font-family:var(--font-mono);font-size:13px;padding:10px 12px;border-radius:3px;
  background:rgba(255,255,255,.5);border:1px solid var(--line-dark);color:var(--ink);
}

/* document cards */
.doc-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:16px;
  max-width:1160px;margin:0 auto;padding:8px 24px 40px;
}
.doc-card{
  display:flex;flex-direction:column;gap:8px;
  padding:20px;border:1px solid var(--line-dark);border-radius:5px;
  background:rgba(255,255,255,.28);color:var(--ink);transition:all .15s ease;min-height:132px;
}
.doc-card:hover{background:var(--ink);border-color:var(--ink);transform:translateY(-3px)}
.doc-card:hover *{color:var(--bone)!important}
.doc-card .dtype{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--blood);
}
.doc-card h3{font-family:var(--font-display);font-size:23px;line-height:1.05;color:var(--ink)}
.doc-card .dmeta{font-size:14px;color:#555;margin-top:auto}

/* pagination */
.lib-pager{display:flex;gap:8px;justify-content:center;align-items:center;padding:10px 24px 60px}
.lib-pager a,.lib-pager span{
  font-family:var(--font-mono);font-size:13px;padding:8px 14px;border-radius:3px;
  border:1px solid var(--line-dark);color:var(--ink);
}
.lib-pager .cur{background:var(--blood);border-color:var(--blood);color:var(--bone)}

/* metadata table (document overview) */
.meta-table{width:100%;max-width:720px;margin:0 auto;border-collapse:collapse}
.meta-table th,.meta-table td{
  text-align:left;padding:11px 8px;border-bottom:1px solid var(--line-dark);
  font-size:16px;color:var(--ink);vertical-align:top;
}
.meta-table th{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;
  color:#666;width:180px;font-weight:400;
}
.chip-row{display:flex;gap:8px;flex-wrap:wrap}
.lib-chip{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;padding:4px 12px;
  border:1px solid var(--line-dark);border-radius:20px;color:var(--ink);text-decoration:none;
}
.lib-chip:hover{border-color:var(--blood);color:var(--blood)}

/* ── Prose reading mode (Josephus, essays, church fathers) ─────────────────── */
.reading-prose{max-width:70ch}
.reading-prose .prose-p{
  position:relative;margin:0 0 1.15em;padding-left:2.6em;
  font-size:1em;line-height:1.75;text-align:left;
}
.reading-prose .prose-num{
  position:absolute;left:0;top:.25em;width:2em;text-align:right;
  font-family:var(--font-mono);font-size:.62em;letter-spacing:.04em;color:var(--blood);
}
.prose-heading{
  font-family:var(--font-mono);font-size:.72em;letter-spacing:.24em;text-transform:uppercase;
  color:var(--blood);margin:1.8em 0 .8em;font-weight:400;
}
.reading-prose .cmp{margin:-.6em 0 1.2em 2.6em;color:#4a4a4a;font-style:italic;font-size:.92em}

/* text-size control */
.reader-size{display:inline-flex;gap:4px}
.reader-size button{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.06em;
  padding:9px 12px;border-radius:3px;cursor:pointer;
  background:transparent;color:var(--ink);border:1px solid var(--line-dark);
}
.reader-size button:hover{border-color:var(--blood);color:var(--blood)}

/* chapter pills — scroll instead of wrapping into a wall on long books */
.ch-pills-wrap{max-width:820px;margin:0 auto;padding:0 24px}
.ch-pills-wrap .ch-pills{
  max-height:132px;overflow-y:auto;padding:2px 0 12px;margin:0;
  scrollbar-width:thin;
}
.ch-pills-wrap .ch-pills::-webkit-scrollbar{width:6px}
.ch-pills-wrap .ch-pills::-webkit-scrollbar-thumb{background:rgba(10,10,10,.25);border-radius:3px}

/* ── Provenance / history ──────────────────────────────────────────────────── */
.provenance{
  max-width:70ch;margin:36px auto 0;padding:16px 20px;
  border-left:3px solid var(--blood);background:rgba(10,10,10,.04);
}
.prov-label{
  display:block;font-family:var(--font-mono);font-size:10px;letter-spacing:.28em;
  text-transform:uppercase;color:var(--blood);margin-bottom:6px;
}
.provenance p{font-size:15px;line-height:1.6;color:#4a4a4a;margin:0}
.provenance a{color:var(--blood)}

.hist-list{max-width:820px;margin:0 auto;padding:8px 24px 40px}
.hist-row{
  display:flex;gap:16px;align-items:flex-start;
  padding:16px 0;border-bottom:1px solid var(--line-dark);
}
.hist-when{
  font-family:var(--font-mono);font-size:12px;letter-spacing:.08em;color:#666;
  min-width:104px;flex-shrink:0;padding-top:2px;
}
.hist-body{flex:1}
.hist-body strong{font-size:17px;color:var(--ink)}
.hist-why{font-size:15.5px;color:#4a4a4a;font-style:italic;margin-top:3px}
.hist-who{font-family:var(--font-mono);font-size:11.5px;letter-spacing:.1em;color:#777;margin-top:4px}
.hist-tag{
  font-family:var(--font-mono);font-size:10px;letter-spacing:.18em;text-transform:uppercase;
  padding:3px 9px;border-radius:20px;border:1px solid var(--line-dark);color:#666;
}
.hist-tag.original{border-color:var(--blood);color:var(--blood)}
.ver-cols{
  display:grid;grid-template-columns:1fr 1fr;gap:24px;
  max-width:1100px;margin:0 auto;padding:10px 24px 50px;
}
@media(max-width:820px){.ver-cols{grid-template-columns:1fr}}
.ver-col h3{
  font-family:var(--font-mono);font-size:11px;letter-spacing:.24em;text-transform:uppercase;
  color:var(--blood);margin-bottom:10px;
}
.ver-col .vbody{font-size:17px;line-height:1.7;color:var(--ink)}
.ver-col .vnum{font-family:var(--font-mono);font-size:11px;color:var(--blood);margin-right:6px}

/* ── Mobile refinements ────────────────────────────────────────────────────── */
@media(max-width:560px){
  /* history: stack the date above the entry so the text isn't squeezed */
  .hist-row{flex-direction:column;gap:4px}
  .hist-when{min-width:0;padding-top:0}
  /* reader toolbar: tighter, evenly wrapped controls */
  .reader-tools{gap:8px;padding-left:16px;padding-right:16px}
  .reader-tools .btn-r{padding:8px 12px;font-size:11px}
  .reader-tools select{padding:8px 10px;font-size:12px;max-width:46vw}
  /* prose: pull the verse number in a little so the measure stays generous */
  .reading-prose .prose-p{padding-left:2.1em}
  .reading-prose .cmp{margin-left:2.1em}
  /* filters stack to one column rather than cramped pairs */
  .lib-filters{grid-template-columns:1fr;gap:10px}
  /* document metadata table: label above value */
  .meta-table th{width:auto;display:block;padding-bottom:2px;border-bottom:none}
  .meta-table td{display:block;padding-top:0}
  .meta-table tr{display:block;padding:10px 0;border-bottom:1px solid var(--line-dark)}
  .meta-table th,.meta-table td{border-bottom:none}
  /* side-by-side version compare stacks (already 1col <820px) with clearer separation */
  .ver-col+.ver-col{border-top:1px solid var(--line-dark);padding-top:18px}
}

/* reader translation switcher + compare */
.reader-tools{
  display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;
  max-width:760px;margin:0 auto;padding:6px 24px 14px;
}
.reader-tools select{
  font-family:var(--font-mono);font-size:13px;padding:9px 12px;border-radius:3px;
  background:rgba(255,255,255,.5);border:1px solid var(--line-dark);color:var(--ink);
}
.reading .cmp{display:block;color:#4a4a4a;font-style:italic;font-size:17px;margin:2px 0 12px 6px}

/* search result rows */
.sr-row{padding:18px 0;border-bottom:1px solid var(--line-dark)}
.sr-ref{font-family:var(--font-mono);font-size:13px;letter-spacing:.14em;color:var(--blood)}
.sr-body{font-size:19px;margin-top:6px;color:var(--ink)}
.sr-body mark{background:rgba(217,44,44,.22);color:var(--ink);padding:0 2px}

/* profile picker cards */
.prof-grid{
  display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;
  max-width:1000px;margin:0 auto;padding:8px 24px 60px;
}
.prof-card{
  border:1px solid var(--line-dark);border-radius:6px;padding:22px;background:rgba(255,255,255,.28);
  display:flex;flex-direction:column;gap:8px;
}
.prof-card.on{border-color:var(--blood);box-shadow:0 0 0 2px rgba(164,17,23,.25)}
.prof-card h3{font-family:var(--font-display);font-size:26px;color:var(--ink)}
.prof-card p{font-size:15px;color:#555;flex:1}
.prof-card .pcanon{font-family:var(--font-mono);font-size:11px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--blood)}

/* ── Personal study layer: highlights, note markers, selection toolbar ────────── */

mark.hl { background:transparent; color:inherit; padding:.05em 0; border-radius:2px; cursor:pointer; }
mark.hl-yellow { background:rgba(255,214,0,.42); }
mark.hl-green  { background:rgba(64,200,120,.34); }
mark.hl-blue   { background:rgba(74,152,255,.30); }
mark.hl-pink   { background:rgba(255,110,180,.30); }
mark.hl-red    { background:rgba(217,44,44,.26); box-shadow:inset 0 -2px 0 rgba(217,44,44,.5); }

.note-dot {
  border:0; background:none; cursor:pointer; padding:0 .25em;
  font-size:.8em; line-height:1; color:#d92c2c; vertical-align:super;
}
.note-dot:hover { opacity:.7; }

.hl-bar {
  position:absolute; z-index:60; display:flex; align-items:center; gap:8px;
  padding:7px 9px; background:#111; border:1px solid #333; border-radius:8px;
  box-shadow:0 10px 30px rgba(0,0,0,.45);
}
.hl-colors { display:flex; gap:5px; }
.hl-swatch {
  width:20px; height:20px; border-radius:50%; border:1px solid rgba(255,255,255,.35);
  cursor:pointer; padding:0;
}
.hl-swatch.hl-yellow { background:#ffd600; }
.hl-swatch.hl-green  { background:#40c878; }
.hl-swatch.hl-blue   { background:#4a98ff; }
.hl-swatch.hl-pink   { background:#ff6eb4; }
.hl-swatch.hl-red    { background:#d92c2c; }
.hl-swatch:hover { transform:scale(1.15); }
.hl-act {
  background:none; border:1px solid #444; color:#eee; border-radius:5px;
  padding:3px 9px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; cursor:pointer;
}
.hl-act:hover { border-color:#d92c2c; color:#fff; }
.hl-remove { border-color:#5a2020; color:#ff9a9a; }

.note-pop {
  position:fixed; z-index:70; left:50%; bottom:24px; transform:translateX(-50%);
  width:min(520px, calc(100vw - 32px));
  background:#111; border:1px solid #333; border-radius:10px; padding:16px;
  box-shadow:0 16px 46px rgba(0,0,0,.55);
}
.note-pop-ref { color:#b9b9b9; font-style:italic; font-size:13px; margin:0 0 10px; }
.note-pop textarea {
  width:100%; background:#0b0b0b; color:#eee; border:1px solid #333; border-radius:6px;
  padding:10px; font:inherit; font-size:15px; resize:vertical;
}
.note-pop-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; }

.my-notes { margin-top:34px; padding-top:20px; border-top:1px solid var(--line-dark); }
.note-item { margin:14px 0; padding-left:14px; border-left:3px solid rgba(217,44,44,.5); }
.note-ref { margin:0 0 3px; font-size:12px; letter-spacing:.14em; text-transform:uppercase; color:#8a8a8a; }
.note-body { margin:0; white-space:pre-wrap; }
.note-actions { margin-top:5px; }
.note-del {
  background:none; border:0; padding:0; cursor:pointer;
  font-size:12px; letter-spacing:.1em; text-transform:uppercase; color:#a05050;
}
.note-del:hover { color:#d92c2c; text-decoration:underline; }

/* ── Study desk + contributor workspace ───────────────────────────────────────
   These live on the DARK member pages (alongside .my-list / .my-item), not on
   the light .paper reader — so they follow the My Story palette, not the
   parchment one. */

.study-head {
  display:flex; justify-content:space-between; align-items:center;
  flex-wrap:wrap; gap:12px; margin:44px 0 18px;
}
.study-head:first-child { margin-top:0; }
.study-head .display { font-size:26px; color:#fff; margin:0; }

.study-filter { display:flex; gap:8px; align-items:center; }
.study-filter input[type=search] {
  font-family:var(--font-body); font-size:15px; padding:9px 14px;
  background:rgba(242,242,242,.05); border:1px solid rgba(242,242,242,.22);
  border-radius:3px; color:var(--bone); min-width:180px;
}
.study-filter input[type=search]:focus { outline:none; border-color:var(--flame); }

.study-tabs { display:flex; gap:10px; flex-wrap:wrap; margin-bottom:26px; }

.study-group {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--ash); margin:26px 0 12px;
}
.study-empty {
  color:var(--ash); font-style:italic; padding:10px 0 24px; line-height:1.7;
}

/* one marked passage — extends .my-item, which supplies the frame */
.study-item { align-items:flex-start; }
.si-main { flex:1; min-width:0; }
.si-side { flex-shrink:0; }
.si-ref {
  display:inline-block; font-family:var(--font-mono); font-size:11px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--flame); text-decoration:none; margin-bottom:8px;
}
.si-ref:hover { color:#fff; }
.si-tr { color:var(--ash); margin-left:4px; }
.si-quote {
  margin:0 0 10px; font-size:17px; line-height:1.65; font-style:italic; color:var(--bone);
}
.si-when {
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.18em;
  text-transform:uppercase; color:var(--ash);
}
.si-note-form textarea {
  width:100%; font-family:var(--font-body); font-size:16px; line-height:1.6;
  padding:11px 14px; background:rgba(242,242,242,.05);
  border:1px solid rgba(242,242,242,.18); border-radius:3px; color:var(--bone);
  resize:vertical;
}
.si-note-form textarea:focus { outline:none; border-color:var(--flame); }
.si-note-actions { display:flex; gap:12px; align-items:center; margin-top:10px; }

.continue-grid {
  display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:12px;
}
.continue-card {
  display:block; text-decoration:none; padding:18px 20px; border-radius:4px;
  border:1px solid rgba(242,242,242,.12); background:rgba(242,242,242,.03);
  transition:border-color .15s, transform .15s;
}
.continue-card:hover { border-color:var(--flame); transform:translateY(-2px); }
.continue-card .cc-title { font-size:19px; font-weight:700; color:var(--bone); margin:0 0 6px; }
.continue-card .cc-where {
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.16em;
  text-transform:uppercase; color:var(--ash); margin:0;
}

/* contributor workspace */
.study-meta { font-family:var(--font-mono); font-size:11px; letter-spacing:.14em; color:var(--ash); }
.tr-item { display:block; text-decoration:none; }
.tr-item .tr-name { font-size:19px; font-weight:700; color:var(--bone); margin:0 0 5px; }
.draft-tag, .live-tag, .review-tag {
  font-family:var(--font-mono); font-size:10.5px; letter-spacing:.22em; text-transform:uppercase;
  padding:4px 11px; border-radius:20px; border:1px solid; margin-left:10px; white-space:nowrap;
}
.draft-tag  { border-color:#7a6320; color:#e0b64a; }
.review-tag { border-color:#7a5a20; color:#f0a742; }
.live-tag   { border-color:#2c6b3f; color:#63c98a; }

.note-hint {
  color:var(--ash); font-size:14.5px; font-style:italic; line-height:1.7;
  border-left:2px solid rgba(242,242,242,.14); padding-left:16px; margin:26px 0 0;
}

@media (max-width: 640px) {
  .hl-bar { gap:6px; padding:6px; }
  .hl-swatch { width:26px; height:26px; }
  .hl-act { padding:5px 8px; }
  .study-head { margin:32px 0 14px; }
  .study-filter { width:100%; }
  .study-filter input[type=search] { flex:1; min-width:0; }
  .study-item { flex-wrap:nowrap; }
}

/* contributor: add-a-work row + the typing area */
.add-work-row { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin-top:22px; }
.add-work-row select {
  flex:1; min-width:220px; font-family:var(--font-body); font-size:16px; padding:12px 14px;
  background:rgba(242,242,242,.05); border:1px solid rgba(242,242,242,.22);
  border-radius:3px; color:var(--bone);
}
.add-work-row select:focus { outline:none; border-color:var(--flame); }
.rform textarea.type-in {
  font-family:var(--font-mono); font-size:14.5px; line-height:1.85; min-height:420px;
}
.rform code {
  font-family:var(--font-mono); font-size:13px; background:rgba(242,242,242,.07);
  padding:2px 6px; border-radius:3px;
}

/* verse number doubles as an "add a note here" button */
.vmark { cursor:pointer; border-radius:3px; transition:background .12s, color .12s; }
.vmark:hover, .vmark:focus-visible {
  background:rgba(217,44,44,.14); color:#d92c2c; outline:none;
}
.note-dot .nd-count {
  font-size:.85em; margin-left:1px; font-family:ui-monospace,Menlo,Consolas,monospace;
}

/* a note that was just added / jumped to */
.note-item { transition:background .5s, border-color .5s; border-radius:3px; }
.note-item.flash { background:rgba(217,44,44,.09); border-left-color:#d92c2c; }

/* transient confirmation, so an action doesn't need a page reload to feel real */
.hl-toast {
  position:fixed; left:50%; bottom:26px; transform:translate(-50%, 14px);
  z-index:80; max-width:min(460px, calc(100vw - 32px));
  background:#111; color:#f2f2f2; border:1px solid #333; border-radius:6px;
  padding:12px 18px; font-size:14.5px; line-height:1.5; text-align:center;
  box-shadow:0 14px 40px rgba(0,0,0,.5);
  opacity:0; pointer-events:none; transition:opacity .2s, transform .2s;
}
.hl-toast.on { opacity:1; transform:translate(-50%, 0); }

/* the chapter's notes block sits on the light paper — give it room to breathe */
.my-notes { max-width:760px; margin:38px auto 0; padding:22px 24px 0; }
.my-notes .prov-label { display:block; margin-bottom:14px; }
.note-item { margin:0 0 18px; padding:2px 0 2px 16px; }
.note-ref { margin:0 0 5px; }
.note-body { line-height:1.65; }
.note-actions { margin-top:8px; }

/* chapter management in the contributor editor */
.ch-manage { margin-top:18px; }
.ch-new { opacity:.6; border-style:dashed; }
.ch-add { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:14px; }
.ch-add label {
  font-family:var(--font-mono); font-size:12px; letter-spacing:.26em;
  text-transform:uppercase; color:var(--ash);
}
.ch-add input {
  width:88px; font-family:var(--font-body); font-size:16px; padding:9px 12px;
  background:rgba(242,242,242,.05); border:1px solid rgba(242,242,242,.22);
  border-radius:3px; color:var(--bone);
}
.ch-add input:focus { outline:none; border-color:var(--flame); }
.add-work-or { margin-top:14px; color:var(--ash); font-size:15px; font-style:italic; }
.add-work-or a { color:var(--flame); }

/* destructive actions, folded away until wanted */
.danger-zone { margin-top:8px; border-top:1px solid rgba(242,242,242,.12); padding-top:18px; }
.danger-zone summary {
  cursor:pointer; font-family:var(--font-mono); font-size:12px; letter-spacing:.24em;
  text-transform:uppercase; color:var(--ash); list-style:none;
}
.danger-zone summary::-webkit-details-marker { display:none; }
.danger-zone summary::before { content:"\25B8 "; }
.danger-zone[open] summary::before { content:"\25BE "; }
.danger-zone summary:hover { color:var(--flame); }
.dz-body { padding:18px 0 0; }
.dz-body form { display:flex; gap:12px; align-items:center; flex-wrap:wrap; }

/* paste-a-book: summary, chapter chips, preview */
.paste-summary {
  font-family:var(--font-mono); font-size:13px; letter-spacing:.16em; text-transform:uppercase;
  color:var(--ash); padding:16px 20px; margin-bottom:18px; border-radius:4px;
  border:1px solid rgba(242,242,242,.12); background:rgba(242,242,242,.03);
}
.paste-summary strong { color:var(--bone); font-size:18px; }
.paste-warn {
  font-size:15px; line-height:1.7; color:#e0b64a; padding:14px 18px; border-radius:4px;
  border:1px solid #7a6320; background:rgba(224,182,74,.07); margin-bottom:20px;
}
.paste-warn code, .rform .hint code {
  font-family:var(--font-mono); font-size:12.5px;
  background:rgba(242,242,242,.09); padding:2px 6px; border-radius:3px;
}
.section-head-mono {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.24em; text-transform:uppercase;
  color:var(--ash); margin:28px 0 12px;
}
.paste-chapters { display:flex; flex-wrap:wrap; gap:8px; }
.paste-chip {
  font-family:var(--font-mono); font-size:12px; letter-spacing:.1em;
  padding:6px 12px; border-radius:3px; color:var(--bone);
  border:1px solid rgba(242,242,242,.16); background:rgba(242,242,242,.04);
}
.paste-chip em { color:var(--ash); font-style:normal; margin-left:4px; }
.paste-preview {
  padding:20px 22px; border-radius:4px;
  border:1px solid rgba(242,242,242,.12); background:rgba(242,242,242,.03);
}
.paste-preview p { margin:0 0 10px; line-height:1.7; color:var(--bone); }
.pp-num {
  font-family:var(--font-mono); font-size:11px; color:var(--flame);
  vertical-align:super; margin-right:7px;
}
.pp-more { color:var(--ash); font-style:italic; }

/* paste: whole book vs single chapter */
.scope-switch { display:flex; gap:10px; flex-wrap:wrap; }
.pp-heading {
  font-family:var(--font-mono); font-size:11px; letter-spacing:.2em; text-transform:uppercase;
  color:var(--ash); margin:0 0 12px !important;
}

/* ── Action tiles (public side) ────────────────────────────────────────────────
   The "what do you want to do" row. Text links were too quiet for the primary
   job on the page — these are the buttons you should see first. */
.act-tiles {
  display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:12px;
}
.act-tile {
  display:flex; align-items:flex-start; gap:14px; padding:18px 20px; border-radius:4px;
  text-decoration:none; border:1px solid rgba(242,242,242,.14);
  background:rgba(242,242,242,.03); transition:border-color .15s, background .15s, transform .15s;
}
.act-tile:hover { border-color:var(--flame); background:rgba(217,44,44,.07); transform:translateY(-2px); }
.act-tile.act-primary { border-color:rgba(217,44,44,.4); background:rgba(217,44,44,.05); }
.act-tile.act-primary:hover { background:rgba(217,44,44,.11); }
.act-ico {
  flex-shrink:0; width:40px; height:40px; border-radius:5px; font-size:19px;
  display:flex; align-items:center; justify-content:center;
  background:rgba(217,44,44,.14); color:var(--flame);
}
.act-tile:hover .act-ico { background:rgba(217,44,44,.24); }
.act-body { display:block; min-width:0; }
.act-title {
  display:block; font-family:var(--font-mono); font-size:12.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--bone); line-height:1.35; margin-bottom:5px;
}
.act-desc { display:block; font-size:14px; line-height:1.5; color:var(--ash); }

/* ── Footnotes on the text (everyone sees these) ──────────────────────────────
   Distinct from .note-dot, which marks a member's own private note. */
.fn-ref { font-size:.68em; line-height:0; vertical-align:super; margin-left:1px; }
.fn-ref a {
  color:#a41117; text-decoration:none; font-family:var(--font-mono);
  padding:0 1px; border-bottom:0;
}
.fn-ref a:hover { color:#d92c2c; text-decoration:underline; }

.footnotes {
  max-width:760px; margin:34px auto 0; padding:20px 24px 0;
  border-top:1px solid var(--line-dark);
}
.fn-list { list-style:none; margin:12px 0 0; padding:0; counter-reset:none; }
.fn-list li {
  display:flex; gap:10px; align-items:baseline;
  margin:0 0 10px; font-size:15px; line-height:1.6;
}
.fn-list li:target { background:rgba(217,44,44,.08); border-radius:3px; padding:4px 6px; margin-left:-6px; }
.fn-back {
  flex-shrink:0; font-family:var(--font-mono); font-size:12px; color:#a41117;
  text-decoration:none; min-width:1.2em;
}
.fn-back:hover { text-decoration:underline; }
.fn-text { color:#3a3a3a; }

/* the same list on the dark contributor/preview pages */
.my-list .footnotes, .paste-preview .footnotes { border-top-color:rgba(242,242,242,.12); }
.my-list .fn-text, .paste-preview .fn-text { color:var(--ash); }

/* compare (parallel version) badge */
.cmp-tag {
  display:inline-block; font-family:var(--font-mono); font-size:10px; letter-spacing:.12em;
  text-transform:uppercase; color:var(--blood); border:1px solid rgba(164,17,23,.35);
  border-radius:3px; padding:1px 6px; margin-right:6px; vertical-align:1px;
}
