/* Mental Health Wait Lookup: styles. Spacing is on a 4 px grid (tokens --s-*). */
/* Layout: one narrow left-aligned column; numbers carry the page; no boxes, borders or fills.
   Spacing: every margin, padding, gap, line height and fixed size is a multiple of 4 px (tokens --s-*). */
:root {
  --bg: #ffffff;
  --ink: #15181c;
  --ink-2: #5b6370;
  --ink-3: #9aa1ab;
  --rule: #e8eaed;
  --accent: #1d5bbf;
  --notice-bg: #fdf3dc; --notice-rule: #d99a1e;
  --sans: "Public Sans", "Helvetica Neue", Arial, system-ui, sans-serif;
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-6: 24px; --s-8: 32px; --s-10: 40px; --s-12: 48px; --s-16: 64px; --s-24: 96px;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    --bg: #101214; --ink: #e9ebee; --ink-2: #a2aab5; --ink-3: #66707c; --rule: #23272c; --accent: #7fa9f0;
    --notice-bg: #2a2112; --notice-rule: #c8902a;
    color-scheme: dark;
  }
}
:root[data-theme="dark"] {
  --bg: #101214; --ink: #e9ebee; --ink-2: #a2aab5; --ink-3: #66707c; --rule: #23272c; --accent: #7fa9f0;
  --notice-bg: #2a2112; --notice-rule: #c8902a;
  color-scheme: dark;
}
body {
  background: var(--bg); color: var(--ink); font-family: var(--sans); font-weight: 400;
  font-size: 16px; line-height: 24px;
  padding-left: max(24px, env(safe-area-inset-left, 0px));
  padding-right: max(24px, env(safe-area-inset-right, 0px));
}
.wrap { max-width: 640px; padding-block: var(--s-16) var(--s-24); display: flex; flex-direction: column; gap: var(--s-16); }
a { color: inherit; text-decoration-color: var(--ink-3); text-underline-offset: var(--s-1); }
a:hover { text-decoration-color: var(--ink); }
:focus-visible { outline: 2px solid var(--accent); outline-offset: var(--s-1); }

.mast { display: flex; flex-direction: column; gap: var(--s-6); }

/* Header band: full-width grey band behind the site name and search */
:root { --band: #f3f4f6; --field-bg: #ffffff; --field-ink: #14171a; }
:root[data-theme="dark"] { --band: #181b1f; --field-bg: #1d2126; --field-ink: #e9ebee; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) { --band: #181b1f; --field-bg: #1d2126; --field-ink: #e9ebee; } }
body { overflow-x: clip; }
.mast { position: relative; isolation: isolate; padding-bottom: var(--s-8); }
.mast::before { content: ""; position: absolute; z-index: -1; left: -100vw; right: -100vw; top: -50vh; bottom: 0; pointer-events: none;
                background: var(--band); border-bottom: 1px solid var(--rule); }
@media print { .mast::before { display: none; } }
.markrow { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-4); }
.aboutlink { font-size: 12px; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); }
.about { display: flex; flex-direction: column; gap: var(--s-4); max-width: 600px; }
.about h1 { margin-bottom: var(--s-2); }
.about h2 { font-size: 20px; line-height: 28px; font-weight: 600; margin: var(--s-8) 0 0; }
.about p, .about li { font-size: 16px; line-height: 28px; margin: 0; }
.about ul { margin: 0; padding-left: var(--s-6); display: flex; flex-direction: column; gap: var(--s-2); }
.about .lede { font-size: 20px; line-height: 32px; font-weight: 300; }
.about h1.sechead { font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.01em; margin: 0 0 var(--s-2); }
.about h2.sechead { font-size: 24px; line-height: 32px; font-weight: 600; margin: var(--s-12) 0 var(--s-2); }
.about .sechead ~ p, .about .sechead ~ ul { margin-left: var(--ind); }
.about .todo { background: var(--notice-bg); border-left: 4px solid var(--notice-rule); padding: var(--s-2) var(--s-4); }
.mark { font-size: 12px; line-height: 16px; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-2); text-decoration: none; width: fit-content; }
.search { position: relative; }
#q {
  width: 100%; font: inherit; font-size: 20px; line-height: 28px; font-weight: 400; color: var(--field-ink);
  background: var(--field-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%2366707c' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='8.5' cy='8.5' r='6'/%3E%3Cpath d='M13 13l5 5'/%3E%3C/svg%3E") no-repeat var(--s-4) center / 20px 20px;
  border: 1px solid var(--ink-3); border-radius: var(--s-2); padding: var(--s-3) var(--s-4) var(--s-3) var(--s-12);
  box-shadow: 0 1px 2px rgba(0, 0, 0, .08); transition: border-color .12s, box-shadow .12s;
}
#q::placeholder { color: var(--ink-3); }
#q:hover { border-color: var(--ink-2); }
#q:focus { outline: none; border-color: var(--accent); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 24%, transparent); }
#q::-webkit-search-cancel-button { cursor: pointer; }
#suggest { list-style: none; margin: var(--s-1) 0 0; padding: var(--s-2) 0; position: absolute; inset: 100% 0 auto; z-index: 5; display: flex; flex-direction: column;
            background: var(--field-bg); color: var(--field-ink); border: 1px solid var(--ink-3); border-radius: var(--s-2); box-shadow: 0 8px 24px rgba(0, 0, 0, .12); }
#suggest[hidden] { display: none; }
#suggest li { display: flex; justify-content: space-between; gap: var(--s-6); padding: var(--s-2) var(--s-4); cursor: pointer; }
#suggest li:hover, #suggest li[aria-selected="true"] { background: var(--band); }
#suggest li span:last-child { color: var(--ink-3); font-size: 16px; line-height: 24px; white-space: nowrap; }
#suggest li[aria-selected="true"] span:first-child { color: var(--accent); }

#view { display: flex; flex-direction: column; gap: var(--s-16); }   /* 64px: member section to toggle */
section { display: flex; flex-direction: column; gap: var(--s-3); }
section.body { gap: var(--s-8); }
h1 { font-weight: 300; font-size: clamp(28px, 4vw, 40px); line-height: 48px; margin: 0; text-wrap: balance; }
.who { color: var(--ink-2); margin: 0; }
.people { display: flex; flex-direction: column; gap: var(--s-2); color: var(--ink-2); }
.person { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: var(--s-4); row-gap: var(--s-2); }
.contact summary { list-style: none; cursor: pointer; color: var(--ink-3); font-size: 16px; line-height: 24px; width: fit-content; }
.contact summary::-webkit-details-marker { display: none; }
.contact summary::after { content: " ▾"; }
.contact[open] summary { color: var(--ink); }
.contact[open] summary::after { content: " ▴"; }
.contact[open] { flex-basis: 100%; }
.contact dl { display: grid; grid-template-columns: 80px minmax(0, 1fr); column-gap: var(--s-4); row-gap: var(--s-2); margin: var(--s-3) 0 var(--s-2); }
.contact dt { color: var(--ink-3); font-size: 12px; line-height: 24px; letter-spacing: .06em; text-transform: uppercase; }
.contact dd { margin: 0; color: var(--ink); font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.contact dd span { color: var(--ink-3); }
.controls { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--s-4) var(--s-6); }
.controls .pair { display: flex; flex-wrap: wrap; gap: var(--s-4) var(--s-6); }
.field { display: flex; flex-direction: column; gap: var(--s-2); min-width: 0; max-width: 100%; }
.field-label { font-size: 12px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.typesel { position: relative; max-width: 100%; }
.typesel select {
  appearance: none; -webkit-appearance: none; font: inherit; font-size: 16px; line-height: 24px;
  color: var(--ink); background: var(--bg); border: 1px solid var(--ink-3); border-radius: var(--s-1);
  padding: var(--s-2) var(--s-10) var(--s-2) var(--s-3); max-width: 100%; cursor: pointer;
}
.typesel select:hover { border-color: var(--ink); }
.typesel::after { content: ""; position: absolute; right: var(--s-4); top: 50%; width: 8px; height: 8px; margin-top: -6px;
                  border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2); transform: rotate(45deg); pointer-events: none; }
.typesel select:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.typesel option, .typesel optgroup { color: var(--ink); background: var(--bg); }
.toggle { display: inline-flex; border: 1px solid var(--ink-3); border-radius: var(--s-1); overflow: hidden; width: fit-content; font-size: 16px; line-height: 24px; }
.toggle button { font: inherit; background: var(--bg); border: 0; padding: var(--s-2) var(--s-4); color: var(--ink-2); cursor: pointer; }
.toggle button + button { border-left: 1px solid var(--ink-3); }
.toggle button:hover { color: var(--ink); background: var(--rule); }
.toggle button[aria-pressed="true"] { color: var(--bg); background: var(--accent); }
.toggle button:focus-visible { outline: 2px solid var(--accent); outline-offset: -4px; }
.sortby { display: flex; align-items: baseline; gap: var(--s-4); font-size: 12px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.sortby button { font: inherit; letter-spacing: inherit; text-transform: inherit; background: none; border: 0; padding: 0 0 var(--s-1); color: var(--ink-3); cursor: pointer; border-bottom: 1px solid transparent; }
.sortby button[aria-pressed="true"] { color: var(--ink); border-bottom-color: var(--accent); }
.tables { display: flex; flex-direction: column; gap: var(--s-4); }
.summary { font-size: 20px; line-height: 32px; font-weight: 300; margin: 0; max-width: 560px; }
.summary b { font-weight: 600; font-variant-numeric: tabular-nums; }
.summary.over { border-left: 4px solid var(--notice-rule); padding-left: var(--s-4); margin-top: calc(-1 * var(--s-4)); }   /* sits 16px under the summary */

table.list { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.list th, table.list td { padding: 0; vertical-align: middle; text-align: left; }
table.list th:nth-child(2), table.list td:nth-child(2) { width: 144px; padding-left: var(--s-6); }   /* 24px gap + 120px */
table.list th:nth-child(3), table.list td:nth-child(3) { width: 144px; padding-left: var(--s-6); text-align: right; }
table.list thead th { font-size: 12px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; font-weight: 400; color: var(--ink-3); padding-bottom: var(--s-3); vertical-align: bottom; }
table.list thead small { display: block; text-transform: none; letter-spacing: 0; }
table.list tbody td { padding-block: var(--s-4); border-top: 1px solid var(--rule); }
.tcap { font-size: 16px; line-height: 24px; color: var(--ink-2); margin: 0; }
.tcap b { font-weight: 600; color: var(--ink); }
.sortmini { display: flex; align-items: center; gap: var(--s-2); width: fit-content; font-size: 12px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-3); }
.sortmini .seg { display: inline-flex; border: 1px solid var(--ink-3); border-radius: var(--s-1); overflow: hidden; letter-spacing: 0; text-transform: none; }
.sortmini button { font: inherit; padding: var(--s-1) var(--s-2); background: var(--bg); color: var(--ink-2); border: 0; cursor: pointer; }
.sortmini button + button { border-left: 1px solid var(--ink-3); }
.sortmini button:hover { color: var(--ink); background: var(--rule); }
.sortmini button[aria-pressed="true"] { background: var(--accent); color: var(--bg); }
.sortmini button:focus-visible { outline: 2px solid var(--accent); outline-offset: -2px; }
.allover .sortmini { margin-bottom: var(--s-4); }
.fname { min-width: 0; }
/* all waits over 30 days (collapsible, bottom of the page) */
.allover { padding-top: var(--s-6); }
.allover summary { cursor: pointer; list-style: none; }
.allover summary::-webkit-details-marker { display: none; }
.allover .chev { display: inline-block; width: 8px; height: 8px; margin-left: var(--s-3); border-right: 2px solid var(--ink-2); border-bottom: 2px solid var(--ink-2);
                 transform: translateY(-4px) rotate(45deg); transition: transform .12s; }
.allover[open] .chev { transform: translateY(0) rotate(-135deg); }
.allover .close-l, .allover[open] .open-l { display: none; }
.allover[open] .close-l { display: inline; }
.allover summary:hover .sectitle { text-decoration: underline; text-decoration-color: var(--ink-3); text-underline-offset: 4px; }
.onote { font-size: 12px; line-height: 20px; color: var(--ink-2); margin: var(--s-4) 0; max-width: 560px; }
table.olist { width: 100%; border-collapse: collapse; table-layout: fixed; }
table.olist th, table.olist td { padding: 0; text-align: left; vertical-align: middle; }
table.olist thead th { font-size: 12px; line-height: 16px; letter-spacing: .06em; text-transform: uppercase; font-weight: 400; color: var(--ink-3); padding-bottom: var(--s-3); vertical-align: bottom; }
table.olist thead small { display: block; text-transform: none; letter-spacing: 0; }
table.olist tbody td { padding-block: var(--s-3); border-top: 1px solid var(--rule); }
table.olist th:nth-child(n+2), table.olist td:nth-child(n+2) { padding-left: var(--s-4); }
table.olist th:nth-child(2) { width: 136px; } table.olist th:nth-child(3) { width: 56px; }
table.olist th:nth-child(4) { width: 88px; } table.olist th:nth-child(5), table.olist td:nth-child(5) { width: 128px; text-align: right; }
table.olist .val small { white-space: nowrap; }
table.olist .fname div:first-child { font-size: 16px; line-height: 24px; }
table.olist .fname div + div { font-size: 12px; line-height: 16px; }
.otype { font-size: 12px; line-height: 16px; color: var(--ink-2); overflow-wrap: anywhere; }
.opt { font-size: 12px; line-height: 16px; color: var(--ink-2); }
table.olist .val { font-size: 20px; line-height: 24px; }
a.fac { text-decoration-color: var(--rule); text-decoration-thickness: 1px; }
a.fac:hover { text-decoration-color: var(--ink); }
.fname div:first-child { overflow-wrap: anywhere; }
.fname div + div { font-size: 16px; line-height: 24px; color: var(--ink-3); margin-top: var(--s-1); }
.tag { font-size: 12px; line-height: 16px; letter-spacing: .04em; color: var(--ink-2); margin-left: var(--s-2); white-space: nowrap; }
.val { font-size: 28px; line-height: 32px; font-weight: 300; font-variant-numeric: tabular-nums; }
.val.na { color: var(--ink-3); }
.val small { display: block; font-size: 12px; line-height: 16px; color: var(--ink-3); font-weight: 400; }
svg.spark { width: 100%; height: 28px; display: block; overflow: visible; }
svg.spark polyline { fill: none; stroke: var(--ink-2); stroke-width: 1.2; vector-effect: non-scaling-stroke; stroke-linejoin: round; }
svg.spark circle { fill: var(--accent); }
svg.spark line.off { stroke: var(--rule); stroke-width: 2; vector-effect: non-scaling-stroke; }
svg.spark line.med { stroke: var(--ink-3); stroke-width: 1; stroke-dasharray: 2 3; vector-effect: non-scaling-stroke; }
.rests { display: flex; flex-direction: column; gap: var(--s-4); }
.cerner { display: flex; flex-direction: column; gap: var(--s-6); padding-top: var(--s-8); }
.cerner h2, .pv h2 { font-size: 28px; line-height: 36px; font-weight: 300; margin: 0; }
:root { --secnum-w: 32px; --secgap: var(--s-4); --ind: calc(var(--secnum-w) + var(--secgap)); }   /* text under a section header lines up with its title */
.summary, .rests, .ehrnote, .tcap, .onote, .conv-title, .conv-key, .conv-other, .conv-none, .tables > .controls { margin-left: var(--ind); }
.sechead, .cerner h2.sechead { display: grid; grid-template-columns: var(--secnum-w) minmax(0, 1fr); column-gap: var(--secgap); align-items: baseline; margin: 0;
  padding-bottom: var(--s-4); border-bottom: 1px solid var(--rule); font-size: 24px; line-height: 32px; font-weight: 600; letter-spacing: -.01em; color: var(--ink); }
.sechead .secnum { font-size: 16px; line-height: 32px; font-weight: 400; letter-spacing: 0; color: var(--ink-3); font-variant-numeric: tabular-nums; }
.sechead .cnt { grid-column: 2; margin-top: var(--s-1); font-size: 16px; line-height: 24px; font-weight: 400; letter-spacing: 0; color: var(--ink-3); }
.nw { white-space: nowrap; }
section.body > .sechead { margin-top: var(--s-8); }   /* 64px from the controls to "01": a clear break */
.pv section.body > .sechead { margin-top: 0; }
.pv h2.sechead { font-size: 20px; line-height: 28px; }
.ehrnote { color: var(--ink); background: var(--notice-bg); border-left: 4px solid var(--notice-rule); border-radius: 0 var(--s-1) var(--s-1) 0;
           padding: var(--s-3) var(--s-4); font-size: 12px; line-height: 20px; margin: 0 0 0 var(--ind); max-width: 560px;
           -webkit-print-color-adjust: exact; print-color-adjust: exact; }
.ehrnote b { font-weight: 600; color: var(--ink); }
.cerner .note, .pv .note { color: var(--ink-2); font-size: 16px; line-height: 28px; margin: 0; max-width: 560px; }
.rest { color: var(--ink-2); font-size: 16px; line-height: 28px; margin: 0; }
.rest b { font-weight: 600; color: var(--ink); }
.choices { display: flex; flex-direction: column; gap: var(--s-3); padding: 0; margin: 0; list-style: none; font-size: 20px; line-height: 32px; }
.examples { color: var(--ink-2); margin: calc(-1 * var(--s-4)) 0 0; }   /* 8px under the search box (landing page only) */
footer { font-size: 12px; line-height: 20px; color: var(--ink-3); max-width: 560px; display: flex; flex-direction: column; gap: var(--s-3); padding-top: var(--s-8); }
footer p { margin: 0; }
@media (max-width: 480px) {
  :root { --secnum-w: 24px; --secgap: var(--s-2); }
  .wrap { padding-block: var(--s-12) var(--s-16); gap: var(--s-12); }
  .wrap table.list thead { display: none; }
  .wrap table.list, .wrap table.list tbody { display: block; }
  .wrap table.list tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) 120px; column-gap: var(--s-6); row-gap: var(--s-2);
                        padding-block: var(--s-4); border-top: 1px solid var(--rule); }
  .wrap table.list tbody td { display: block; width: auto; padding: 0; border: 0; }
  .wrap table.list tbody td.fname { grid-column: 1 / -1; }
  .wrap table.olist thead { display: none; }
  .wrap table.olist, .wrap table.olist tbody { display: block; }
  .wrap table.olist tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) 112px; column-gap: var(--s-4); row-gap: var(--s-1);
                               padding-block: var(--s-3); border-top: 1px solid var(--rule); }
  .wrap table.olist tbody td { display: block; width: auto; padding: 0; border: 0; }
  .wrap table.olist tbody td.fname { grid-column: 1 / -1; }
  .wrap table.olist tbody td.opt { grid-column: 2; grid-row: 2; text-align: right; }
  .wrap table.olist tbody td.otype { grid-column: 1; grid-row: 2; }
  .wrap h1 { line-height: 36px; }
}
/* EHR conversion chart (top of the Oracle Health section) */
.conv { margin: 0; display: flex; flex-direction: column; gap: var(--s-3); }
.conv + .tables { margin-top: var(--s-6); }
.conv-title { font-size: 16px; line-height: 24px; font-weight: 600; margin-left: var(--ind); }
.conv-title span { color: var(--ink-3); font-size: 12px; font-weight: 400; margin-left: var(--s-2); white-space: nowrap; }
.conv-plot { position: relative; touch-action: pan-y; }
.conv-plot svg { display: block; overflow: visible; }
.conv-plot text { font-family: var(--sans); font-size: 12px; fill: var(--ink-3); }
.conv-plot text.ml { fill: var(--ink); font-size: 16px; font-weight: 600; paint-order: stroke; stroke: var(--bg); stroke-width: 4px; stroke-linejoin: round; }
.conv-plot text.ml tspan { font-size: 12px; font-weight: 400; fill: var(--ink-2); }
.conv-plot .gr { stroke: var(--rule); stroke-width: 1; }
.conv-plot .sw { fill: var(--rule); fill-opacity: .5; }
.conv-plot .fl { fill: none; stroke: var(--ink-2); stroke-opacity: .25; stroke-width: 1; stroke-linejoin: round; stroke-linecap: round; }
.conv-plot .fl.hi { stroke: var(--ink); stroke-opacity: 1; stroke-width: 2; }
.conv-plot .mdh { stroke: var(--bg); stroke-width: 8; stroke-linecap: round; }      /* surface halo: lifts the median off the lines */
.conv-plot .md { stroke: var(--accent); stroke-width: 4; stroke-linecap: round; }
.conv-plot .md.minor { stroke: var(--ink-3); stroke-width: 2; }
.conv-plot text.ml.minor { font-size: 12px; fill: var(--ink-2); }
.conv-plot .pt { fill: var(--ink); stroke: var(--bg); stroke-width: 2; }
.conv-tip { position: absolute; top: 0; left: 0; pointer-events: none; background: var(--bg); border: 1px solid var(--rule);
            padding: var(--s-1) var(--s-2); font-size: 12px; line-height: 16px; white-space: nowrap; color: var(--ink-2); }
.conv-tip b { color: var(--ink); font-weight: 600; }
.conv-tip .tt { display: block; font-size: 12px; line-height: 16px; letter-spacing: .02em; color: var(--ink-3); }
.conv-none { font-size: 12px; line-height: 20px; color: var(--ink-2); margin: 0 0 0 var(--ind); max-width: 560px; }
.conv-key b { font-weight: 600; color: var(--ink); }
.conv-key, .conv-other { font-size: 12px; line-height: 20px; color: var(--ink-2); margin: 0 0 0 var(--ind); max-width: 560px; }
.fname .cnote { font-size: 12px; line-height: 16px; color: var(--ink-3); margin-top: var(--s-1); }
.print-only { display: none; }
/* Print layout: before printing, the page is rebuilt in #printview as page-sized chunks with explicit breaks
   (Safari repeats no table headers and ignores break-inside), measured off-screen with these same rules. */
#printview { display: none; width: 696px; }                        /* fits Letter and A4 widths */
#printview.measuring { display: block; position: absolute; left: -10000px; top: 0; visibility: hidden; }
.pv { font-size: 12px; line-height: 16px; }
.pv-page { break-after: page; page-break-after: always; }
.pv-page:last-child { break-after: auto; page-break-after: auto; }
.pv-page > * + * { margin-top: var(--s-6); }
.pv-page > .who + .summary { margin-top: var(--s-1); }
.pv .summary.over { margin-top: 0; }
.pv-page > .summary + .over { margin-top: var(--s-3); }
.pv-page > .summary + table, .pv-page > .note + table, .pv-page > .tcap + table { margin-top: var(--s-4); }
.pv-page > h2 + .note { margin-top: var(--s-3); }
.pv-page > * + h2, .pv-page > * + footer { margin-top: var(--s-8); }
.pv-page > h2 + .ehrnote, .pv-page > .ehrnote + .note, .pv-page > .ehrnote + .summary { margin-top: var(--s-3); }
.pv section, .pv .rests, .pv footer { display: block; }
.pv section > * + * { margin-top: var(--s-3); }
.pv .rests > * + * { margin-top: var(--s-4); }
.pv footer { padding-top: 0; }
.pv footer > p + p { margin-top: var(--s-3); }
.pv .print-only { display: block; }
.pv span.print-only { display: inline; }
.pv h1 { font-size: 24px; line-height: 32px; }
.pv h2 { font-size: 20px; line-height: 28px; }
.pv .summary { font-size: 16px; line-height: 24px; }
.pv table.list tbody td { padding-block: var(--s-2); }
.pv .val { font-size: 20px; line-height: 24px; }
.pv a { text-decoration: none; }
@media print {
  body.pv-ready .wrap { display: none; }
  body.pv-ready #printview { display: block; }
  :root, :root[data-theme="dark"], :root:not([data-theme="light"]) {
    --bg: #ffffff; --ink: #000000; --ink-2: #333333; --ink-3: #666666; --rule: #cccccc; --accent: #1d5bbf; --notice-bg: #fdf3dc; --notice-rule: #d99a1e; color-scheme: light;
  }
  @page { margin: 16mm 12mm; }
  body { padding: 0; font-size: 12px; line-height: 16px; }
  .wrap { max-width: none; padding: 0; }
  /* Safari ignores break-inside inside flex containers, so stack with blocks + margins in print */
  .wrap, .mast, #view, section, .tables, .rests, .cerner, footer { display: block; }
  body .wrap > * + *, body #view > * + * { margin-top: var(--s-6); }
  body section > * + *, body .tables > * + * { margin-top: var(--s-3); }
  body .rests > * + *, body .cerner > * + * { margin-top: var(--s-4); }
  body footer > * + * { margin-top: var(--s-3); }
  .rests, .rest { break-inside: avoid; page-break-inside: avoid; }   /* move the whole section to the next page */
  .search, .controls, .sortby, .sortmini, .contact, .examples { display: none !important; }
  .print-only { display: block; }
  span.print-only { display: inline; }
  h1 { font-size: 24px; line-height: 32px; }
  .summary { font-size: 16px; line-height: 24px; }
  table.list thead { display: table-header-group; }            /* repeat the header on every printed page */
  table.list tr { break-inside: avoid; page-break-inside: avoid; }
  table.list tbody td { padding-block: var(--s-2); }
  .val { font-size: 20px; line-height: 24px; }
  .cerner { padding-top: var(--s-4); }
  .cerner h2, .cerner .note { break-after: avoid; }
  a { text-decoration: none; }
  footer { padding-top: var(--s-4); break-inside: avoid; page-break-inside: avoid; }
  #view { animation: none !important; }
}
@media (prefers-reduced-motion: no-preference) { #view { animation: in .18s ease-out; } @keyframes in { from { opacity: .4 } to { opacity: 1 } } }

/* Tables and the conversion chart line up with the text under each section header
   (kept last so it wins over the base table widths above) */
table.list, table.olist { margin-left: var(--ind); width: calc(100% - var(--ind)); }
.conv-plot, .sortmini { margin-left: var(--ind); }
