/* ==========================================================================
   Riffle (lilacs.pro) — single stylesheet.
   Dark "stream at dawn" palette. Deliberately not a card grid: the archive is a
   ledger of bands, the homepage is a 12-month hatch gantt, and river pages are
   two vertical spines side by side.
   ========================================================================== */

:root {
  --riffle-teal: #2f6f7a;
  --riffle-teal-deep: #245761;
  --trout-rose: #d98a6a;
  --trout-rose-dim: #a9664c;
  --slate-dawn: #8e9aa0;
  --hatch-amber: #e0b24a;
  --hatch-amber-dim: #8d6f2c;
  --slate-ink: #16232b;
  --slate-ink-2: #1d2d36;
  --slate-ink-3: #263a44;
  --water-line: rgba(142, 154, 160, 0.22);
  --water-line-soft: rgba(142, 154, 160, 0.11);
  --paper: #eef3f4;
  --paper-dim: #b9c6ca;
  --display: "Bree Serif", "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Georgia, serif;
  --body: "PT Sans", "Segoe UI", "Helvetica Neue", Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  --mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;
  --measure: 71ch;
  --masthead-h: 58px;
}

* { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
html.riffle-locked { overflow: hidden; }

body {
  margin: 0;
  background: var(--slate-ink);
  color: var(--paper);
  font-family: var(--body);
  font-size: 17px;
  line-height: 1.62;
  /* a faint current running down the page: two skewed washes, no image file */
  background-image:
    linear-gradient(168deg, rgba(47, 111, 122, 0.16) 0%, rgba(47, 111, 122, 0) 42%),
    linear-gradient(348deg, rgba(217, 138, 106, 0.09) 0%, rgba(217, 138, 106, 0) 34%);
  background-repeat: no-repeat;
  background-attachment: fixed;
}

a { color: var(--trout-rose); text-decoration: none; border-bottom: 1px solid rgba(217, 138, 106, 0.35); }
a:hover { color: var(--hatch-amber); border-bottom-color: var(--hatch-amber); }
h1, h2, h3, h4 { font-family: var(--display); font-weight: 400; line-height: 1.18; margin: 0 0 .5em; letter-spacing: .004em; }
h1 { font-size: 2.42rem; }
h2 { font-size: 1.62rem; margin-top: 1.9em; }
h3 { font-size: 1.2rem; }
p { margin: 0 0 1.05em; }
ul, ol { margin: 0 0 1.1em; padding-left: 1.25em; }
li { margin-bottom: .4em; }
code, .rf-mono { font-family: var(--mono); font-size: .88em; }
hr { border: 0; border-top: 1px solid var(--water-line); margin: 2.2em 0; }
img, svg { max-width: 100%; }
:focus-visible { outline: 2px solid var(--hatch-amber); outline-offset: 2px; }
.rf-skip { position: absolute; left: -9999px; }
.rf-skip:focus { left: 12px; top: 12px; z-index: 99; background: var(--hatch-amber); color: var(--slate-ink); padding: 8px 14px; }

/* ------------------------------------------------------------- masthead --- */
.rf-masthead {
  position: sticky; top: 0; z-index: 40;
  background: rgba(22, 35, 43, 0.96);
  border-bottom: 1px solid var(--water-line);
  backdrop-filter: blur(6px);
}
.rf-masthead-inner {
  max-width: 1180px; margin: 0 auto; padding: 0 22px;
  display: flex; align-items: center; gap: 18px; min-height: var(--masthead-h);
}
.rf-wordmark { display: flex; align-items: baseline; gap: 9px; border: 0; flex: 0 0 auto; }
.rf-wordmark b { font-family: var(--display); font-size: 1.5rem; color: var(--paper); letter-spacing: .01em; }
.rf-wordmark span { font-family: var(--mono); font-size: .66rem; letter-spacing: .28em; text-transform: uppercase; color: var(--slate-dawn); }
.rf-wordmark:hover b { color: var(--hatch-amber); }

.rf-tabs { display: flex; gap: 4px; margin-left: 10px; flex: 1 1 auto; }
.rf-tabs button {
  font: inherit; font-size: .95rem; color: var(--paper-dim); background: none; border: 0;
  border-bottom: 2px solid transparent; padding: 10px 12px; cursor: pointer; letter-spacing: .02em;
}
.rf-tabs button:hover { color: var(--paper); }
.rf-tabs button.is-current { color: var(--hatch-amber); border-bottom-color: var(--hatch-amber); }
.rf-tabs a {
  font-size: .95rem; color: var(--paper-dim); border: 0; border-bottom: 2px solid transparent;
  padding: 10px 12px; letter-spacing: .02em;
}
.rf-tabs a:hover { color: var(--paper); }
.rf-tabs a[aria-current="page"] { color: var(--hatch-amber); border-bottom-color: var(--hatch-amber); }

.rf-util { display: flex; align-items: center; gap: 10px; position: relative; }
.rf-drop { position: relative; }
.rf-drop > button {
  font: inherit; font-size: .84rem; letter-spacing: .06em; text-transform: uppercase;
  color: var(--paper-dim); background: none; border: 1px solid var(--water-line);
  padding: 6px 11px; cursor: pointer; border-radius: 2px;
}
.rf-drop > button:hover { color: var(--paper); border-color: var(--slate-dawn); }
.rf-drop-pane {
  display: none; position: absolute; right: 0; top: calc(100% + 7px); min-width: 246px;
  background: var(--slate-ink-2); border: 1px solid var(--water-line); padding: 12px; z-index: 50;
  box-shadow: 0 18px 34px rgba(0, 0, 0, .5);
}
.rf-drop.is-open .rf-drop-pane { display: block; }
.rf-drop-pane a { display: block; padding: 6px 4px; border: 0; font-size: .92rem; }
.rf-drop-pane a[aria-current="true"] { color: var(--hatch-amber); }
.rf-drop input[type="search"] {
  width: 100%; font: inherit; font-size: .92rem; color: var(--paper);
  background: var(--slate-ink); border: 1px solid var(--water-line); padding: 8px 10px;
}
.rf-results { margin-top: 8px; max-height: 320px; overflow: auto; }
.rf-result { display: block; padding: 7px 4px; border: 0; border-bottom: 1px solid var(--water-line-soft); font-size: .9rem; }
.rf-result em { display: block; font-style: normal; font-size: .74rem; color: var(--slate-dawn); letter-spacing: .04em; }
.riffle-result-none { display: block; padding: 6px 4px; font-size: .85rem; color: var(--slate-dawn); }

.rf-overlay-open { display: none; font: inherit; font-size: .82rem; color: var(--paper-dim); background: none; border: 1px solid var(--water-line); padding: 6px 10px; cursor: pointer; }

/* ------------------------------------------------- scrolling sub-menu --- */
.rf-strip { border-bottom: 1px solid var(--water-line-soft); background: rgba(29, 45, 54, 0.82); }
.rf-strip-inner { max-width: 1180px; margin: 0 auto; padding: 8px 22px; display: flex; gap: 16px; align-items: center; overflow-x: auto; }
.rf-strip a { border: 0; font-size: .86rem; color: var(--paper-dim); white-space: nowrap; letter-spacing: .02em; }
.rf-strip a:hover { color: var(--hatch-amber); }
.rf-strip-panel { display: flex; gap: 16px; align-items: center; }
.rf-strip-panel[hidden] { display: none; }
.rf-strip-label { font-family: var(--mono); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--teal-mid, var(--riffle-teal)); color: var(--riffle-teal); flex: 0 0 auto; padding-right: 6px; border-right: 1px solid var(--water-line); }

/* --------------------------------------------------------------- shell --- */
.rf-shell { max-width: 1180px; margin: 0 auto; padding: 0 22px 76px; }
.rf-lede { font-size: 1.12rem; color: var(--paper-dim); max-width: var(--measure); }
.rf-kicker { font-family: var(--mono); font-size: .7rem; letter-spacing: .26em; text-transform: uppercase; color: var(--hatch-amber); margin-bottom: .7em; }

.rf-banner {
  margin: 26px 0 34px; padding: 16px 20px; border-left: 3px solid var(--hatch-amber);
  background: linear-gradient(90deg, rgba(224, 178, 74, .12), rgba(224, 178, 74, 0));
  display: flex; gap: 18px; align-items: baseline; flex-wrap: wrap;
}
.rf-banner strong { font-family: var(--display); font-size: 1.12rem; }
.rf-banner span { color: var(--paper-dim); font-size: .93rem; }

/* -------------------------------------------------- 12-month hatch gantt --- */
.rf-gantt { margin: 0 0 18px; }
.rf-gantt-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 10px; }
.rf-gantt-monthrow { display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px; }
.rf-gantt-month {
  font-family: var(--mono); font-size: .64rem; letter-spacing: .1em; text-transform: uppercase;
  color: var(--slate-dawn); text-align: center; padding-bottom: 5px; border-bottom: 1px solid var(--water-line);
}
.rf-gantt-month.is-now { color: var(--hatch-amber); border-bottom-color: var(--hatch-amber); }
.rf-gantt-body { position: relative; }
.rf-gantt-grid { position: absolute; inset: 0; display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px; pointer-events: none; }
.rf-gantt-grid i { border-left: 1px dashed var(--water-line-soft); }
.rf-gantt-lane {
  position: relative; display: grid; grid-template-columns: repeat(12, 1fr); gap: 2px;
  padding: 5px 0; border-bottom: 1px solid var(--water-line-soft); align-items: center;
}
.rf-gantt-lane:hover { background: rgba(47, 111, 122, .1); }
.rf-gantt-row { border-bottom: 1px solid var(--water-line-soft); padding: 7px 0 4px; }
.rf-gantt-row:hover { background: rgba(47, 111, 122, .1); }
.rf-gantt-row > a {
  display: block; border: 0; font-family: var(--display); font-size: .98rem;
  color: var(--paper); margin-bottom: 4px;
}
.rf-gantt-row > a:hover { color: var(--hatch-amber); }
.rf-gantt-row .rf-gantt-lane { border-bottom: 0; padding: 0; }
.rf-gantt-row .rf-gantt-lane:hover { background: none; }
.rf-gantt-cell { min-height: 26px; display: flex; flex-direction: column; justify-content: center; gap: 2px; }
.rf-gantt-bar {
  display: flex; align-items: center; gap: 4px; height: 15px; padding: 0 4px; overflow: hidden;
  font-family: var(--mono); font-size: .58rem; letter-spacing: .04em; color: var(--slate-ink);
  white-space: nowrap; text-overflow: ellipsis;
}
.rf-gantt-bar[data-heat="1"] { background: rgba(47, 111, 122, .55); color: var(--paper); }
.rf-gantt-bar[data-heat="2"] { background: rgba(47, 111, 122, .85); color: var(--paper); }
.rf-gantt-bar[data-heat="3"] { background: var(--trout-rose); }
.rf-gantt-bar[data-heat="4"] { background: var(--hatch-amber); }
.rf-gantt-name { font-family: var(--mono); font-size: .58rem; color: var(--slate-dawn); }
.rf-gantt-legend { display: flex; gap: 16px; flex-wrap: wrap; margin-top: 12px; font-size: .78rem; color: var(--slate-dawn); }
.rf-gantt-legend b { display: inline-block; width: 22px; height: 10px; margin-right: 6px; vertical-align: middle; }

/* ---------------------------------------------------------- band ledger --- */
.rf-bands { margin: 12px 0 0; }
.rf-band {
  display: grid; grid-template-columns: 92px 1fr 172px; gap: 18px; align-items: baseline;
  padding: 15px 0 14px; border-bottom: 1px solid var(--water-line-soft);
}
.rf-band:hover { background: rgba(47, 111, 122, .07); }
.rf-band-species { font-family: var(--mono); font-size: .68rem; letter-spacing: .12em; text-transform: uppercase; color: var(--riffle-teal); }
.rf-band:hover .rf-band-species { color: var(--hatch-amber); }
.rf-band h3 { margin: 0 0 .18em; font-size: 1.22rem; }
.rf-band h3 a { border: 0; color: var(--paper); }
.rf-band h3 a:hover { color: var(--hatch-amber); }
.rf-band p { margin: 0; font-size: .92rem; color: var(--paper-dim); }
.rf-band-meta { text-align: right; font-family: var(--mono); font-size: .7rem; color: var(--slate-dawn); letter-spacing: .05em; }
.rf-band-meta strong { display: block; color: var(--paper-dim); font-weight: 400; }

/* --------------------------------------------------------- river detail --- */
.rf-meta-row {
  display: flex; flex-wrap: wrap; gap: 0; margin: 0 0 30px;
  border-top: 1px solid var(--water-line); border-bottom: 1px solid var(--water-line);
}
.rf-meta-row div { padding: 11px 20px 11px 0; margin-right: 20px; border-right: 1px solid var(--water-line-soft); }
.rf-meta-row div:last-child { border-right: 0; }
.rf-meta-row dt { font-family: var(--mono); font-size: .62rem; letter-spacing: .18em; text-transform: uppercase; color: var(--slate-dawn); margin: 0 0 3px; }
.rf-meta-row dd { margin: 0; font-size: .95rem; }

.rf-split { display: grid; grid-template-columns: 1fr 1fr; gap: 34px; align-items: start; margin: 8px 0 40px; }
.rf-spine-head { font-family: var(--mono); font-size: .68rem; letter-spacing: .2em; text-transform: uppercase; color: var(--hatch-amber); padding-bottom: 8px; border-bottom: 1px solid var(--water-line); margin-bottom: 4px; }

/* left spine: hatch timeline, month by month */
.rf-hatch-timeline { list-style: none; margin: 0; padding: 0; }
.rf-hatch-timeline > li { position: relative; padding: 12px 0 12px 26px; border-bottom: 1px solid var(--water-line-soft); }
.rf-hatch-timeline > li::before {
  content: ""; position: absolute; left: 4px; top: 18px; width: 9px; height: 9px;
  background: var(--riffle-teal); border-radius: 50%;
}
.rf-hatch-timeline > li[data-heat="4"]::before { background: var(--hatch-amber); }
.rf-hatch-timeline > li[data-heat="3"]::before { background: var(--trout-rose); }
.rf-hatch-timeline::before { content: ""; position: absolute; }
.rf-month-tag { font-family: var(--mono); font-size: .66rem; letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dawn); }
.rf-insect { font-family: var(--display); font-size: 1.06rem; color: var(--paper); display: block; }
.rf-insect em { font-style: normal; color: var(--slate-dawn); font-family: var(--mono); font-size: .74rem; }
.rf-hatch-facts { font-size: .84rem; color: var(--paper-dim); margin: 4px 0 0; }

/* right spine: fly table */
.rf-fly-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.rf-fly-table th { text-align: left; font-family: var(--mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dawn); font-weight: 400; padding: 0 8px 7px 0; border-bottom: 1px solid var(--water-line); }
.rf-fly-table td { padding: 10px 8px 10px 0; border-bottom: 1px solid var(--water-line-soft); vertical-align: top; }
.rf-fly-table td:first-child { color: var(--paper); font-family: var(--display); font-size: 1rem; }
.rf-fly-table td:nth-child(2) { color: var(--paper-dim); }
.rf-fly-size { font-family: var(--mono); font-size: .78rem; color: var(--hatch-amber); white-space: nowrap; }

/* month rail used on hatch/overview pages */
.rf-monthrail { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; margin: 6px 0 26px; }
.rf-monthbar {
  border: 0; padding: 0; cursor: pointer; height: 42px; background: none;
  display: flex; align-items: flex-end; gap: 2px; font: inherit;
}
.rf-monthbar i { flex: 1 1 auto; background: rgba(47, 111, 122, .5); display: block; }
.rf-monthbar[data-heat="3"] i { background: var(--trout-rose); }
.rf-monthbar[data-heat="4"] i { background: var(--hatch-amber); }
.rf-monthbar.is-lit { outline: 1px solid var(--hatch-amber); outline-offset: 3px; }
.rf-monthrail-labels { display: grid; grid-template-columns: repeat(12, 1fr); gap: 3px; margin-bottom: 4px; }
.rf-monthrail-labels span { font-family: var(--mono); font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--slate-dawn); text-align: center; }

.rf-hatchrows { width: 100%; border-collapse: collapse; font-size: .9rem; }
.rf-hatchrows th { text-align: left; font-family: var(--mono); font-size: .62rem; letter-spacing: .16em; text-transform: uppercase; color: var(--slate-dawn); font-weight: 400; padding: 0 10px 7px 0; border-bottom: 1px solid var(--water-line); }
.rf-hatchrows td { padding: 9px 10px 9px 0; border-bottom: 1px solid var(--water-line-soft); }
.hatchrow.is-dimmed { opacity: .34; }
.rf-stage { font-family: var(--mono); font-size: .72rem; letter-spacing: .06em; color: var(--trout-rose); text-transform: uppercase; }
.rf-heat { display: inline-flex; gap: 2px; }
.rf-heat i { width: 8px; height: 8px; background: var(--water-line); display: block; }
.rf-heat i.on { background: var(--hatch-amber); }

/* plate: the generated SVG */
.rf-plates { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin: 26px 0 34px; }
.rf-plate { border: 1px solid var(--water-line); background: rgba(29, 45, 54, .5); padding: 12px; }
.rf-plate figcaption { font-family: var(--mono); font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--slate-dawn); margin-top: 9px; }
.rf-plate img { display: block; width: 100%; height: auto; }
.rf-ledger-list li > div:first-child img { margin-top: 8px; }

/* technique prose + access list */
.rf-prose { max-width: var(--measure); }
.rf-prose h2 { border-top: 1px solid var(--water-line); padding-top: 22px; }
.rf-access-list { list-style: none; margin: 0 0 28px; padding: 0; }
.rf-access-list li { padding: 13px 0 13px 20px; border-bottom: 1px solid var(--water-line-soft); position: relative; }
.rf-access-list li::before { content: "→"; position: absolute; left: 0; color: var(--trout-rose); font-family: var(--mono); }
.rf-access-list strong { display: block; font-family: var(--display); font-size: 1.02rem; font-weight: 400; }

.rf-subnav { display: flex; gap: 6px; flex-wrap: wrap; margin: 4px 0 26px; border-bottom: 1px solid var(--water-line-soft); padding-bottom: 12px; }
.rf-subnav a { border: 1px solid var(--water-line); padding: 6px 13px; font-size: .85rem; color: var(--paper-dim); }
.rf-subnav a[aria-current="page"], .rf-subnav a:hover { border-color: var(--hatch-amber); color: var(--hatch-amber); }

.rf-note { border: 1px solid var(--water-line); border-left: 3px solid var(--trout-rose); padding: 14px 18px; font-size: .92rem; color: var(--paper-dim); background: rgba(217, 138, 106, .06); margin: 0 0 26px; }
.rf-note strong { color: var(--paper); }

.rf-faq { border-top: 1px solid var(--water-line); }
.rf-faq details { border-bottom: 1px solid var(--water-line-soft); padding: 12px 0; }
.rf-faq summary { cursor: pointer; font-family: var(--display); font-size: 1.05rem; }
.rf-faq p { margin: 9px 0 0; color: var(--paper-dim); font-size: .93rem; }

/* ---------------------------------------------------------------- index --- */
.rf-index-head { margin: 34px 0 8px; }
.rf-filterbar { display: flex; gap: 8px; flex-wrap: wrap; margin: 16px 0 4px; }
.rf-filterbar a { font-family: var(--mono); font-size: .72rem; letter-spacing: .12em; text-transform: uppercase; padding: 5px 11px; border: 1px solid var(--water-line); color: var(--paper-dim); }
.rf-filterbar a[aria-current="page"], .rf-filterbar a:hover { border-color: var(--hatch-amber); color: var(--hatch-amber); }

.rf-ledger-list { list-style: none; margin: 20px 0 0; padding: 0; }
.rf-ledger-list li { padding: 14px 0; border-bottom: 1px solid var(--water-line-soft); display: grid; grid-template-columns: 1fr 210px; gap: 20px; align-items: baseline; }
.rf-ledger-list h3 { margin: 0; font-size: 1.14rem; }
.rf-ledger-list h3 a { border: 0; color: var(--paper); }
.rf-ledger-list h3 a:hover { color: var(--hatch-amber); }
.rf-ledger-region { font-family: var(--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase; color: var(--slate-dawn); }
.rf-ledger-spec { text-align: right; font-family: var(--mono); font-size: .7rem; color: var(--riffle-teal); letter-spacing: .08em; }

/* ----------------------------------------------------------- legal pages --- */
.rf-doc { max-width: 76ch; }
.rf-doc h2 { font-size: 1.34rem; }
.rf-doc table { width: 100%; border-collapse: collapse; font-size: .9rem; margin: 0 0 24px; }
.rf-doc th, .rf-doc td { text-align: left; padding: 9px 10px 9px 0; border-bottom: 1px solid var(--water-line-soft); }
.rf-doc th { font-family: var(--mono); font-size: .64rem; letter-spacing: .14em; text-transform: uppercase; color: var(--slate-dawn); font-weight: 400; }
.rf-updated { font-family: var(--mono); font-size: .74rem; letter-spacing: .1em; text-transform: uppercase; color: var(--slate-dawn); }

/* The desk byline. Same stamp idiom as the "last updated" line, but sentence
   case so the desk name reads the way it is written. It sits directly under the
   publish date on every guide, species record and technique note. */
.rf-byline { font-family: var(--mono); font-size: .74rem; letter-spacing: .07em; color: var(--slate-dawn); margin: 0 0 26px; }

/* -------------------------------------------------------------- overlay --- */
.rf-overlay {
  display: none; position: fixed; inset: 0; z-index: 90; background: var(--slate-ink);
  padding: 26px 22px; overflow-y: auto;
}
.rf-overlay.is-open { display: block; }
.rf-overlay-close { position: absolute; right: 18px; top: 16px; font: inherit; font-size: 1.5rem; background: none; border: 0; color: var(--paper-dim); cursor: pointer; }
.rf-overlay h2 { font-family: var(--mono); font-size: .72rem; letter-spacing: .22em; text-transform: uppercase; color: var(--hatch-amber); margin-top: 30px; }
.rf-overlay a { display: block; border: 0; font-family: var(--display); font-size: 1.4rem; padding: 7px 0; color: var(--paper); }

/* --------------------------------------------------------------- footer --- */
.rf-footer { border-top: 1px solid var(--water-line); background: rgba(22, 35, 43, .92); }
.rf-footer-inner { max-width: 1180px; margin: 0 auto; padding: 34px 22px 44px; display: grid; grid-template-columns: 1.4fr 1fr 1fr 1fr; gap: 26px; }
.rf-footer h2 { font-family: var(--mono); font-size: .66rem; letter-spacing: .2em; text-transform: uppercase; color: var(--slate-dawn); margin: 0 0 10px; }
.rf-footer a { display: block; border: 0; font-size: .9rem; color: var(--paper-dim); padding: 3px 0; }
.rf-footer a:hover { color: var(--hatch-amber); }
.rf-footer p { font-size: .86rem; color: var(--slate-dawn); }
.rf-colophon { border-top: 1px solid var(--water-line-soft); padding: 14px 22px 30px; max-width: 1180px; margin: 0 auto; font-size: .78rem; color: var(--slate-dawn); }
.rf-footer .rf-disclaimer { margin: 9px 0 0; max-width: 78ch; font-size: .76rem; color: var(--slate-dawn); }

/* --------------------------------------------------------- responsive --- */
@media (max-width: 1000px) {
  .rf-split { grid-template-columns: 1fr; gap: 42px; }
  .rf-plates { grid-template-columns: 1fr; }
  .rf-band { grid-template-columns: 78px 1fr; }
  .rf-band-meta { grid-column: 2; text-align: left; }
  .rf-footer-inner { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  body { font-size: 16px; }
  h1 { font-size: 1.9rem; }
  .rf-tabs, .rf-strip { display: none; }
  .rf-overlay-open { display: inline-block; }
  .rf-ledger-list li { grid-template-columns: 1fr; }
  .rf-ledger-spec { text-align: left; }
  .rf-gantt-bar { font-size: 0; padding: 0; }
  .rf-monthrail-labels span { font-size: .5rem; }
  .rf-footer-inner { grid-template-columns: 1fr; }
  .rf-meta-row div { border-right: 0; margin-right: 0; padding-right: 0; width: 100%; }
  .rf-fly-table, .rf-hatchrows { font-size: .8rem; }
}
@media print {
  .rf-masthead, .rf-footer, .rf-strip { display: none; }
  body { background: #fff; color: #111; }
}
