/* ==========================================================================
   Plumbline Posture — peakz.xyz
   One stylesheet. Dark plum ink, indigo structure lines, a single vermilion
   signal for anything that carries a deviation. No corner radii, 1px hairlines,
   a faint dashed plumb reference running down the page.
   ========================================================================== */

:root {
  --plumb-ink: #191524;
  --plumb-ink-soft: #453f57;
  --offset-indigo: #4c4180;
  --offset-indigo-soft: #8a83ad;
  --level-bone: #f4f1f7;
  --level-panel: #ffffff;
  --level-rule: #d9d3e2;
  --level-muted: #7c7591;
  --flag-vermilion: #d2455c;
  --flag-vermilion-soft: #f6dfe3;

  --plumb-face-title: "Besley", "Iowan Old Style", Georgia, "Songti SC", serif;
  --plumb-face-body: "Overpass", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --plumb-face-fig: "Inconsolata", ui-monospace, "SFMono-Regular", Consolas, monospace;

  --plumb-measure: 1120px;
  --plumb-hair: 1px solid var(--level-rule);
}

*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body.pl-body {
  margin: 0;
  background-color: var(--level-bone);
  background-image: repeating-linear-gradient(
    to right,
    transparent 0,
    transparent 119px,
    rgba(76, 65, 128, 0.07) 119px,
    rgba(76, 65, 128, 0.07) 120px
  );
  color: var(--plumb-ink);
  font-family: var(--plumb-face-body);
  font-size: 16px;
  line-height: 1.62;
  font-weight: 400;
}

img, svg { max-width: 100%; }
a { color: var(--offset-indigo); text-decoration: none; border-bottom: 1px solid var(--offset-indigo-soft); }
a:hover { color: var(--flag-vermilion); border-bottom-color: var(--flag-vermilion); }
a:focus-visible { outline: 2px solid var(--flag-vermilion); outline-offset: 2px; }

.pl-skip {
  position: absolute; left: -9999px; top: 0;
  background: var(--plumb-ink); color: var(--level-bone); padding: 10px 16px; z-index: 60;
}
.pl-skip:focus { left: 0; }

.pl-sheet { max-width: var(--plumb-measure); margin: 0 auto; padding: 0 20px; }

/* ---------------------------------------------------------------- masthead */
.pl-masthead {
  border-bottom: var(--plumb-hair);
  background: var(--level-panel);
}
.pl-masthead-in {
  display: flex; align-items: baseline; gap: 18px;
  padding: 16px 0 14px;
  flex-wrap: wrap;
}
.pl-wordmark {
  font-family: var(--plumb-face-title);
  font-weight: 700; font-size: 25px; letter-spacing: -0.01em;
  border-bottom: 0; color: var(--plumb-ink);
}
.pl-wordmark em { font-style: normal; color: var(--flag-vermilion); }
.pl-wordmark-sub {
  font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--level-muted);
}
.pl-masthead-tools { margin-left: auto; display: flex; gap: 16px; align-items: baseline; }
.pl-lang {
  font-family: var(--plumb-face-fig); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase;
}
.pl-mail { font-family: var(--plumb-face-fig); font-size: 12px; border-bottom: 0; }

/* ------------------------------------------------------------- ruler nav */
.pl-ruler {
  position: sticky; top: 0; z-index: 40;
  background: var(--plumb-ink);
  color: var(--level-bone);
  border-bottom: 3px solid var(--offset-indigo);
}
.pl-ruler-in {
  display: flex; align-items: stretch; gap: 0;
  max-width: var(--plumb-measure); margin: 0 auto; padding: 0 20px;
}
.pl-ruler-track {
  position: relative; display: flex; flex: 1 1 auto; gap: 0; overflow-x: auto;
  scrollbar-width: none;
}
.pl-ruler-track::-webkit-scrollbar { display: none; }
.pl-ruler-tick {
  position: relative; flex: 0 0 auto;
  padding: 14px 20px 5px;
  border-bottom: 0; color: var(--level-bone);
  font-family: var(--plumb-face-fig); font-size: 12px; letter-spacing: 0.1em;
  text-transform: uppercase; white-space: nowrap;
}
.pl-ruler-tick::after {
  content: ""; position: absolute; left: 50%; bottom: 0; width: 1px; height: 7px;
  background: var(--offset-indigo-soft); transform: translateX(-50%);
}
.pl-ruler-tick:first-child::after { left: 0; transform: none; }
.pl-ruler-tick:hover, .pl-ruler-tick[aria-current="page"] { color: #fff; background: rgba(76, 65, 128, 0.35); }
.pl-ruler-tick[aria-current="page"]::after { background: var(--flag-vermilion); height: 11px; width: 2px; }
.pl-ruler-tick span { display: block; font-size: 9px; color: var(--offset-indigo-soft); letter-spacing: 0.16em; }
.pl-ruler-pick {
  display: flex; align-items: center; gap: 8px; padding: 8px 0 8px 16px;
  border-left: 1px solid rgba(244, 241, 247, 0.18);
}
.pl-ruler-pick label {
  font-family: var(--plumb-face-fig); font-size: 10px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--offset-indigo-soft);
}
.pl-ruler-pick select {
  font-family: var(--plumb-face-body); font-size: 13px;
  background: var(--level-bone); color: var(--plumb-ink);
  border: 0; border-radius: 0; padding: 5px 8px;
}

/* -------------------------------------------------------------- structure */
.pl-main { padding: 34px 0 60px; }
.pl-page-head { border-bottom: var(--plumb-hair); padding-bottom: 18px; margin-bottom: 26px; }
.pl-kicker {
  display: block; font-family: var(--plumb-face-fig); font-size: 11px;
  letter-spacing: 0.22em; text-transform: uppercase; color: var(--flag-vermilion);
  margin-bottom: 8px;
}
.pl-page-head h1 {
  font-family: var(--plumb-face-title); font-weight: 700;
  font-size: clamp(26px, 3.4vw, 38px); line-height: 1.16; margin: 0 0 10px;
  letter-spacing: -0.015em;
}
.pl-lede { font-size: 17px; color: var(--plumb-ink-soft); max-width: 68ch; margin: 0; }

.pl-crumbs {
  font-family: var(--plumb-face-fig); font-size: 11.5px; letter-spacing: 0.06em;
  color: var(--level-muted); margin: 0 0 18px;
}
.pl-crumbs ol { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pl-crumbs li::after { content: "›"; margin-left: 8px; color: var(--offset-indigo-soft); }
.pl-crumbs li:last-child::after { content: ""; }

.pl-h2 {
  font-family: var(--plumb-face-title); font-weight: 700;
  font-size: 21px; margin: 34px 0 10px; letter-spacing: -0.01em;
  padding-bottom: 6px; border-bottom: var(--plumb-hair);
}
.pl-h3 { font-family: var(--plumb-face-title); font-weight: 600; font-size: 17px; margin: 22px 0 6px; }
.pl-prose p { margin: 0 0 14px; max-width: 74ch; }
.pl-prose ul, .pl-prose ol { max-width: 74ch; padding-left: 22px; }
.pl-prose li { margin-bottom: 6px; }

.pl-num, .pl-fig { font-family: var(--plumb-face-fig); font-variant-numeric: tabular-nums; }
.pl-small { font-size: 13px; color: var(--level-muted); }

/* ---------------------------------------------------------- triage (home) */
.pl-triage {
  border: var(--plumb-hair); background: var(--level-panel);
  padding: 22px; display: grid; gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}
.pl-triage fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.pl-triage legend {
  font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.18em;
  text-transform: uppercase; color: var(--offset-indigo); margin-bottom: 10px;
}
.pl-triage .pl-q { font-family: var(--plumb-face-title); font-weight: 600; font-size: 15px; margin-bottom: 8px; }
.pl-opt { display: block; position: relative; padding: 7px 0 7px 26px; cursor: pointer; font-size: 15px; }
.pl-opt input { position: absolute; left: 0; top: 11px; accent-color: var(--flag-vermilion); }
.pl-opt:hover { color: var(--flag-vermilion); }

.pl-advice { margin-top: 22px; }
.pl-advice-head {
  display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap;
  border-bottom: 2px solid var(--plumb-ink); padding-bottom: 8px; margin-bottom: 0;
}
.pl-advice-head h2 { font-family: var(--plumb-face-title); font-weight: 700; font-size: 19px; margin: 0; }
.pl-advice-count { font-family: var(--plumb-face-fig); font-size: 12px; color: var(--flag-vermilion); }
.pl-advice-row {
  display: grid; grid-template-columns: 1.2fr 1.6fr auto; gap: 14px;
  align-items: center; padding: 12px 0; border-bottom: var(--plumb-hair);
}
.pl-advice-row h3 { font-family: var(--plumb-face-title); font-weight: 600; font-size: 16px; margin: 0; }
.pl-advice-row p { margin: 2px 0 0; font-size: 14px; color: var(--plumb-ink-soft); }
.pl-advice-off { display: none; }
.pl-advice-empty { display: none; padding: 16px 0; font-size: 15px; color: var(--plumb-ink-soft); }

/* :has()-driven filtering. Browsers without :has() simply never apply these
   rules, so every row stays visible — a longer list, never an empty one. */
.pl-triage:has(#pl-sit-low:checked) ~ .pl-advice .pl-advice-row:not([data-sit~="low"]),
.pl-triage:has(#pl-sit-mid:checked) ~ .pl-advice .pl-advice-row:not([data-sit~="mid"]),
.pl-triage:has(#pl-sit-high:checked) ~ .pl-advice .pl-advice-row:not([data-sit~="high"]),
.pl-triage:has(#pl-area-neck:checked) ~ .pl-advice .pl-advice-row:not([data-area~="neck"]),
.pl-triage:has(#pl-area-shoulder:checked) ~ .pl-advice .pl-advice-row:not([data-area~="shoulder"]),
.pl-triage:has(#pl-area-lowback:checked) ~ .pl-advice .pl-advice-row:not([data-area~="lowback"]),
.pl-triage:has(#pl-area-hip:checked) ~ .pl-advice .pl-advice-row:not([data-area~="hip"]),
.pl-triage:has(#pl-area-knee:checked) ~ .pl-advice .pl-advice-row:not([data-area~="knee"]),
.pl-triage:has(#pl-area-ankle:checked) ~ .pl-advice .pl-advice-row:not([data-area~="ankle"]),
.pl-triage:has(#pl-posture-desk:checked) ~ .pl-advice .pl-advice-row:not([data-posture~="desk"]),
.pl-triage:has(#pl-posture-screen:checked) ~ .pl-advice .pl-advice-row:not([data-posture~="screen"]),
.pl-triage:has(#pl-posture-standing:checked) ~ .pl-advice .pl-advice-row:not([data-posture~="standing"]) {
  display: none;
}
.pl-triage:has(input:checked) ~ .pl-advice .pl-advice-row { background: var(--level-panel); }

.pl-scale {
  display: flex; align-items: center; gap: 7px;
  font-family: var(--plumb-face-fig); font-size: 11px; white-space: nowrap;
}
.pl-scale i { display: block; height: 8px; width: 26px; border: 1px solid var(--offset-indigo-soft); }
.pl-scale .pl-s1 { background: var(--level-panel); }
.pl-scale .pl-s2 { background: repeating-linear-gradient(45deg, var(--offset-indigo-soft) 0 2px, transparent 2px 4px); }
.pl-scale .pl-s3 { background: var(--flag-vermilion); border-color: var(--flag-vermilion); }

/* ------------------------------------------------------------- tier table */
.pl-tier-table { width: 100%; border-collapse: collapse; margin-top: 26px; font-size: 14.5px; }
.pl-tier-table caption {
  text-align: left; font-family: var(--plumb-face-title); font-weight: 700;
  font-size: 18px; padding-bottom: 10px;
}
.pl-tier-table th, .pl-tier-table td {
  text-align: left; padding: 11px 12px 11px 0; border-bottom: var(--plumb-hair);
  vertical-align: top;
}
.pl-tier-table thead th {
  font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--offset-indigo);
  border-bottom: 2px solid var(--plumb-ink);
}
.pl-tier-table tbody tr:hover { background: var(--level-panel); }
.pl-tier-table .pl-c { font-family: var(--plumb-face-fig); font-variant-numeric: tabular-nums; white-space: nowrap; }
.pl-tier {
  display: inline-block; font-family: var(--plumb-face-fig); font-size: 11px;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 2px 7px;
  border: 1px solid var(--offset-indigo); color: var(--offset-indigo);
}
.pl-tier-high { border-color: var(--flag-vermilion); color: var(--flag-vermilion); background: var(--flag-vermilion-soft); }
.pl-tier-moderate { border-color: var(--flag-vermilion); color: var(--flag-vermilion); }
.pl-swing { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.pl-swing a { font-size: 13px; }

/* ------------------------------------------------------------- worksheet */
.pl-worksheet { display: grid; gap: 26px; grid-template-columns: minmax(0, 1fr); }
.pl-zone { border: var(--plumb-hair); background: var(--level-panel); }
.pl-zone-head {
  display: flex; justify-content: space-between; align-items: baseline; gap: 12px;
  padding: 10px 16px; border-bottom: var(--plumb-hair);
  font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--offset-indigo);
}
.pl-zone-body { padding: 18px 16px; }
.pl-zone-body > :first-child { margin-top: 0; }
.pl-zone-body > :last-child { margin-bottom: 0; }

.pl-protocol-box { display: grid; gap: 0; border-top: var(--plumb-hair); }
.pl-protocol-box div {
  display: grid; grid-template-columns: 170px minmax(0, 1fr); gap: 14px;
  padding: 9px 0; border-bottom: var(--plumb-hair);
}
.pl-protocol-box dt {
  font-family: var(--plumb-face-fig); font-size: 11px; letter-spacing: 0.12em;
  text-transform: uppercase; color: var(--level-muted);
}
.pl-protocol-box dd { margin: 0; }

.pl-landmark-list { list-style: none; margin: 0; padding: 0; }
.pl-landmark-list li {
  display: flex; gap: 10px; align-items: baseline;
  padding: 6px 0; border-bottom: var(--plumb-hair); font-size: 14.5px;
}
.pl-landmark-dot {
  flex: 0 0 auto; width: 9px; height: 9px; border: 1.5px solid var(--offset-indigo);
  border-radius: 50%; margin-top: 5px;
}
.pl-landmark-dot--flag { border-color: var(--flag-vermilion); background: var(--flag-vermilion); }

/* three-grade gauge */
.pl-offset-gauge { position: relative; margin: 4px 0 8px; }
.pl-gauge-track {
  display: grid; grid-template-columns: repeat(3, 1fr); height: 26px;
  border: 1px solid var(--offset-indigo);
}
.pl-gauge-track span { border-right: 1px solid var(--offset-indigo); }
.pl-gauge-track span:last-child { border-right: 0; }
.pl-gauge-track .pl-g1 { background: var(--level-panel); }
.pl-gauge-track .pl-g2 { background: repeating-linear-gradient(45deg, var(--offset-indigo-soft) 0 3px, transparent 3px 6px); }
.pl-gauge-track .pl-g3 { background: var(--flag-vermilion); }
.pl-gauge-needle {
  position: absolute; top: -7px; width: 0; height: 0;
  border-left: 6px solid transparent; border-right: 6px solid transparent;
  border-top: 9px solid var(--plumb-ink);
  transform: translateX(-6px);
}
.pl-gauge-legend {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px;
  font-family: var(--plumb-face-fig); font-size: 11px; color: var(--level-muted);
}
.pl-gauge-readout {
  display: flex; gap: 22px; flex-wrap: wrap;
  font-family: var(--plumb-face-fig); font-size: 13px; margin-top: 10px;
}
.pl-gauge-readout b { font-size: 20px; display: block; color: var(--flag-vermilion); }

.pl-grades { display: grid; gap: 14px; margin-top: 18px; }
.pl-grade { border-left: 3px solid var(--offset-indigo); padding: 2px 0 2px 14px; }
.pl-grade--deviated { border-left-color: var(--flag-vermilion); }
.pl-grade h3 { font-family: var(--plumb-face-title); font-size: 16px; margin: 0 0 3px; font-weight: 600; }
.pl-grade .pl-range { font-family: var(--plumb-face-fig); font-size: 12.5px; color: var(--flag-vermilion); display: block; margin-bottom: 5px; }
.pl-grade p { margin: 0; font-size: 14.5px; }

.pl-chain { margin: 0; }
.pl-chain-row {
  display: grid; grid-template-columns: 26px minmax(0, 1fr); gap: 12px;
  padding: 10px 0; border-bottom: var(--plumb-hair);
}
.pl-chain-idx {
  font-family: var(--plumb-face-fig); font-size: 12px; color: var(--flag-vermilion);
  border: 1px solid var(--flag-vermilion); text-align: center; line-height: 20px; height: 22px;
}
.pl-chain-row b { font-weight: 600; }
.pl-chain-arrow { color: var(--offset-indigo-soft); }

.pl-referral { border-left: 3px solid var(--flag-vermilion); padding-left: 14px; }
.pl-faq { border-top: var(--plumb-hair); margin-top: 26px; }
.pl-faq details { border-bottom: var(--plumb-hair); padding: 12px 0; }
.pl-faq summary { font-family: var(--plumb-face-title); font-weight: 600; font-size: 16px; cursor: pointer; }
.pl-faq p { margin: 10px 0 0; font-size: 15px; }

.pl-disclaimer {
  border: 1px solid var(--plumb-ink); background: var(--level-panel);
  padding: 16px; font-size: 13.5px; color: var(--plumb-ink-soft);
}
.pl-disclaimer strong { display: block; font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--plumb-ink); margin-bottom: 6px; }

.pl-figure { border: var(--plumb-hair); background: var(--level-panel); padding: 8px; margin: 0; }
.pl-figure figcaption { font-family: var(--plumb-face-fig); font-size: 11px; color: var(--level-muted); padding: 8px 4px 2px; }

.pl-two { display: grid; gap: 24px; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); }
.pl-three { display: grid; gap: 0; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); border-top: var(--plumb-hair); }
.pl-three > div { padding: 16px; border-right: var(--plumb-hair); border-bottom: var(--plumb-hair); }
.pl-three > div:last-child { border-right: 0; }

.pl-listing { list-style: none; margin: 0; padding: 0; }
.pl-listing li { border-bottom: var(--plumb-hair); padding: 16px 0; }
.pl-listing h3 { font-family: var(--plumb-face-title); font-size: 18px; font-weight: 600; margin: 0 0 4px; }
.pl-listing p { margin: 0; color: var(--plumb-ink-soft); font-size: 14.5px; max-width: 74ch; }
.pl-meta {
  font-family: var(--plumb-face-fig); font-size: 11.5px; letter-spacing: 0.08em;
  color: var(--level-muted); display: flex; gap: 14px; flex-wrap: wrap; margin-bottom: 6px;
}
.pl-meta a { border-bottom: 0; }
/* The byline carries the entry's authorship, so it is inked while the rest of
   the stamp row stays muted — a desk name that looks like a label rather than
   a stray date field. */
.pl-meta .pl-byline { color: var(--plumb-ink); }
.pl-meta .pl-byline a { color: inherit; border-bottom-color: var(--level-rule); }
.pl-meta .pl-byline a:hover { color: var(--flag-vermilion); border-bottom-color: var(--flag-vermilion); }

.pl-sched { font-family: var(--plumb-face-fig); font-size: 13px; color: var(--level-muted); }

/* --------------------------------------------------------------- colophon */
.pl-colophon { border-top: 2px solid var(--plumb-ink); background: var(--level-panel); margin-top: 40px; padding: 26px 0 34px; }
.pl-colophon-grid { display: grid; gap: 22px; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); }
.pl-colophon h2 {
  font-family: var(--plumb-face-fig); font-size: 10.5px; letter-spacing: 0.2em;
  text-transform: uppercase; color: var(--level-muted); margin: 0 0 8px;
}
.pl-colophon ul { list-style: none; margin: 0; padding: 0; }
.pl-colophon li { margin-bottom: 5px; font-size: 14px; }
.pl-colophon .pl-fine { margin-top: 24px; padding-top: 14px; border-top: var(--plumb-hair); font-size: 12.5px; color: var(--level-muted); max-width: 90ch; }
/* The editorial disclaimer sits above the fine print as its own ruled line:
   it is standing boilerplate, not part of the copyright notice. */
.pl-colophon .pl-editorial { margin-top: 24px; padding-top: 14px; border-top: var(--plumb-hair); font-size: 12.5px; color: var(--plumb-ink-soft); max-width: 90ch; }

.pl-tier-cell { justify-self: end; }

/* -------------------------------------------------- prose body (markdown) */
/* Records and site documents both drop their markdown straight into a
   .pl-prose block, so the bare tags kramdown emits need styling of their own:
   nothing here may assume a wrapper class the author did not write. */
.pl-prose { font-size: 15.5px; line-height: 1.62; color: var(--plumb-ink-soft); }
.pl-prose > *:first-child { margin-top: 0; }
.pl-prose h2 {
  font-family: var(--plumb-face-title); font-weight: 700; font-size: 21px;
  color: var(--plumb-ink); margin: 30px 0 10px; padding-bottom: 6px;
  border-bottom: 1px solid var(--level-rule); max-width: 74ch;
}
.pl-prose h3 {
  font-family: var(--plumb-face-title); font-weight: 600; font-size: 17px;
  color: var(--plumb-ink); margin: 22px 0 6px; max-width: 74ch;
}
.pl-prose h2 + h3 { margin-top: 12px; }
.pl-prose strong { color: var(--plumb-ink); font-weight: 600; }
.pl-prose a { color: var(--offset-indigo); }
.pl-prose a:hover { color: var(--flag-vermilion); }
.pl-prose code {
  font-family: var(--plumb-face-fig); font-size: 0.9em; background: var(--level-panel);
  border: 1px solid var(--level-rule); padding: 1px 4px;
}
.pl-prose blockquote {
  margin: 18px 0; padding: 2px 0 2px 16px; border-left: 3px solid var(--offset-indigo-soft);
  color: var(--plumb-ink-soft); max-width: 74ch;
}
.pl-prose blockquote p:last-child { margin-bottom: 0; }
.pl-prose ol { list-style: decimal; }
.pl-prose ul { list-style: square; }
.pl-prose table {
  width: 100%; border-collapse: collapse; margin: 18px 0; font-size: 14.5px;
  border-top: 2px solid var(--plumb-ink);
}
.pl-prose thead th {
  text-align: left; font-family: var(--plumb-face-fig); font-size: 10.5px;
  letter-spacing: 0.16em; text-transform: uppercase; color: var(--level-muted);
  padding: 8px 10px 8px 0; border-bottom: 1px solid var(--plumb-ink);
}
.pl-prose tbody th { text-align: left; font-weight: 600; color: var(--plumb-ink); }
.pl-prose tbody td, .pl-prose tbody th { padding: 9px 10px 9px 0; border-bottom: var(--plumb-hair); vertical-align: top; }
.pl-prose tbody tr:last-child td, .pl-prose tbody tr:last-child th { border-bottom: 0; }
.pl-prose hr { border: 0; border-top: 1px solid var(--level-rule); margin: 26px 0; }

@media (max-width: 780px) {
  .pl-two { grid-template-columns: minmax(0, 1fr); }
  .pl-advice-row { grid-template-columns: minmax(0, 1fr); }
  .pl-protocol-box div { grid-template-columns: minmax(0, 1fr); gap: 2px; }
  .pl-ruler-in { flex-direction: column; padding: 0; }
  .pl-ruler-pick { border-left: 0; border-top: 1px solid rgba(244, 241, 247, 0.18); padding: 8px 20px; }
  .pl-tier-table thead { display: none; }
  .pl-tier-table tbody td { display: block; border-bottom: 0; padding: 2px 0; }
  .pl-tier-table tbody tr { display: block; border-bottom: var(--plumb-hair); padding: 10px 0; }
}

@media print {
  .pl-ruler, .pl-masthead-tools, .pl-colophon { display: none; }
  body.pl-body { background: #fff; }
}
