/* ==========================================================================
   BYLINE — the maintainer line and the corrections block under it.
   Site-wide chrome, loaded by every page after site.css and any page patch,
   before mobile.css. It lives outside site.css because this is the site's own
   vocabulary rather than vocabulary extracted from a mockup — the approved
   law-review mockups show the byline line and its revealed block, but not the
   note box that hangs off it.

   RULING 8 (Jay, 2026-08-05 16:22) rebuilt the mechanism. The visible line is
   one line — "maintained by Jay Kim · corrections welcome" and the mark — and
   the email and the corrections page live INSIDE the revealed block. Opening is
   :hover for a pointer and :focus-within for a tap or the keyboard, with no
   script involved, which the 08-02 review had ruled out and this design earns
   back: the block is IN FLOW and CONTIGUOUS with the trigger, so there is no
   positioned gap for the pointer to fall through on the way to the textarea,
   and focus holds the block open while someone is typing in it. The trigger
   stays a real <button> because that is what makes a tap focus it.

   The block is a RULE, not a card (ruling 7): a hairline over it, no border
   box, no radius, no shadow. Green appears once, on the Send underline, which
   is one of the spine's four jobs under ruling 3.
   Pinned by build/test_feedback_toggle.test.js and build/test_byline.test.js.
   ========================================================================== */
/* Jay, 2026-08-06 10:10: on hover the block opens, the box widens to the card
   width, and the trigger line lurched left. The trigger CENTRES in whatever
   width the box has; the revealed card stays left-set reading matter. */
.byline{display:inline-block;margin-top:1.5rem;text-align:center;
  font-style:italic;font-size:.88rem;line-height:1.42;color:var(--ink-2);}
.byline-t{font:inherit;font-style:italic;font-size:1em;letter-spacing:0;
  color:var(--ink-2);background:none;border:0;border-bottom:1px solid var(--rule);
  padding:0 0 1px;cursor:pointer;}
.byline:hover .byline-t,.byline:focus-within .byline-t{color:var(--ink);border-bottom-color:var(--ink);}
/* The browser's default focus ring is a heavy black box around the whole
   trigger (Jay, 2026-08-05: "this is ugly"). A pointer gets the open block as
   its feedback; a keyboard gets a hairline ring in the site's own green, offset
   off the text. */
.byline-t:focus{outline:none;}
.byline-t:focus-visible{outline:1px solid var(--spine-faint);outline-offset:3px;}
/* IN FLOW, and closed means display:none rather than invisible: an in-flow
   block that merely cannot be seen still holds its space open on every page and
   leaves its textarea and its two links sitting in the tab order behind a
   closed line. */
.byline-card{display:none;max-width:26em;margin:.7rem 0 0;padding:.75rem 0 0;
  border-top:1px solid var(--rule);font-style:normal;font-size:.8rem;line-height:1.42;
  text-align:left;}
.byline:hover .byline-card,
.byline:focus-within .byline-card{display:block;}
/* Correction A1: the maintainer's name was set in synthesized small caps. It is
   real capitals now, a step smaller than the line it opens, tracked at A1's
   ceiling; the two labels and the Send word below follow the same rule. */
.byline-who{font-size:.92em;letter-spacing:.12em;color:var(--ink);
  text-transform:uppercase;}
.byline-creed{font-size:1em;line-height:1.42;color:var(--ink-2);margin-top:.2rem;letter-spacing:0;}
.byline-ways{font-size:1em;line-height:1.42;margin-top:.35rem;}
/* An email address and a page link: A2 says neither may ever hyphenate. */
.byline-ways a{color:var(--ink);text-decoration:none;white-space:nowrap;
  hyphens:manual;overflow-wrap:break-word;
  border-bottom:1px solid var(--spine-faint);}
.byline-ways a:hover{color:var(--blue-ink);border-bottom-color:var(--blue-ink);}
.byline-ways .sep{color:var(--rule);padding:0 .5em;}
.byline-lab{display:block;margin:.9rem 0 .35rem;font-size:.9em;letter-spacing:.12em;
  color:var(--ink-3);text-transform:uppercase;}
.byline-card textarea{display:block;width:100%;font:inherit;font-size:1em;
  line-height:1.42;color:var(--ink);background:var(--off);
  border:1px solid var(--rule);border-radius:0;padding:.4rem .5rem;resize:vertical;}
.byline-card textarea:focus{outline:none;border-color:var(--ink-2);}
#fb-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}
/* The Send underline is one of the spine's four jobs (ruling 3): a word with a
   green rule under it, not a button with a green box around it. */
.byline-send{margin-top:.5rem;font:inherit;font-size:.9em;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink);background:none;border:0;
  border-bottom:1px solid var(--blue-d);border-radius:0;padding:0 0 1px;cursor:pointer;}
.byline-send:hover{color:var(--blue-ink);}
.byline-send[disabled]{color:var(--ink-3);border-bottom-color:var(--rule);cursor:default;}
.byline-status{margin-top:.5rem;font-size:.94em;line-height:1.42;
  font-style:italic;color:var(--ink-3);}
.byline-status:empty{display:none;}
.byline-status a{color:var(--ink);border-bottom:1px solid var(--spine-faint);
  text-decoration:none;}

/* ---------- the maker's mark (Jay, 2026-08-04 16:32 / 17:06 ET) ----------
   One cactus, drawn once in build/byline.js, used twice on every page: inline at
   the byline and as the colophon in the bottom-right corner. Line art at the
   site's own hairline weight, one colour, no fill, so it reads as a printer's
   mark and not as an icon set. --mark is green: a decorative mark is not a link,
   so it may share the spine's hue, and at 62% a grey colophon is nearly
   invisible on white. */
.cactus-i{width:15px;height:15px;vertical-align:-.16em;margin-left:.45em;
  color:var(--mark);opacity:.9;}
.colophon{display:flex;justify-content:flex-end;align-items:center;
  width:min(var(--measure),100% - 3rem);margin:2.6rem auto 0;padding:0 0 2.6rem;}
/* ADDENDUM B1: 19px -> 17px. The colophon mark is a printer's device signing the
   page off, so it reads LARGER than the inline one and never larger than the
   reading type it sits under; when the body came down from 19.5px to 17.5px the
   19px mark went from a step under the type to a step over it. Pinned both ways by
   build/test_cactusmark.test.js C4. */
.colophon .cactus-c{width:17px;height:17px;color:var(--mark);opacity:.62;}
@media (max-width:899px){.colophon{padding:0 0 1.8rem;}}
