/* The Law Center's look (docs/lawcenter/plan/04-pages.md, 17-layout.md and
 * 30-research-shell.md).
 *
 * A research tool, not the platform's Broadsheet: a sans interface around a
 * serif reading column, one document surface, a right rail, light and dark
 * from the platform's data-theme. Every colour, size and space is a token
 * on :root; nothing below writes a colour of its own. The root's color-scheme
 * is pinned to the theme the page draws (light, or dark where the dark values
 * apply), never "light dark": left to the browser, a native drop-down list
 * follows the operating system's scheme while the page follows the reader's
 * choice, and the list's hover highlight comes out white on white.
 *
 * Part 30's palette (the approved design): a cool page, white paper, navy
 * ink, one action blue; the rule a field's edge is drawn with (--lc-rule-2)
 * is 3:1 on the paper or more, as a control's edge must be. The dark values,
 * written once here and twice below (the media query for a reader who never
 * chose, and data-theme="dark" for one who did):
 *   --lc-bg #111923  --lc-paper #19232f  --lc-ink #e4ecf6  --lc-ink-2 #a6b6c8
 *   --lc-rule #344457  --lc-rule-2 #6d7f94  --lc-accent #9ac7ff
 *   --lc-accent-2 #c4ddff  --lc-accent-soft #213d58  --lc-mark #685a1f
 *   (ink on the mark 5.9:1)
 *   flags: red #f2aaa4, yellow #f1cd80, blue #9db9f0, green #98d9b8,
 *   grey #b4c0ce, each with a soft ground of its own over the dark paper,
 *   so the five boxes stay told apart; the word is always written beside
 *   the colour.
 */
:root {
  color-scheme: light;
  --lc-bg: #f2f5f8;        /* the page */
  --lc-paper: #ffffff;     /* the document */
  --lc-ink: #182b42;
  --lc-ink-2: #526477;     /* secondary text, 6:1 on paper */
  --lc-rule: #dbe3ec;
  --lc-rule-2: #7b8ca2;    /* a field's edge, 3.4:1 on paper */
  --lc-accent: #164d83;    /* links, buttons, focus; 8.6:1 on paper */
  --lc-accent-2: #0f3a64;
  --lc-accent-soft: #eaf2fa;
  --lc-on-accent: #ffffff;
  --lc-mark: #fff0ac;
  --lc-flag-red: #963a35;    --lc-flag-red-soft: #fceeea;
  --lc-flag-yellow: #78520b; --lc-flag-yellow-soft: #fff5dc;
  --lc-flag-blue: #1f4fa3;   --lc-flag-blue-soft: #e6eefb;
  --lc-flag-green: #246349;  --lc-flag-green-soft: #edf7f1;
  --lc-flag-grey: #536273;   --lc-flag-grey-soft: #edf1f5;
  --lc-serif: "Source Serif 4", "Iowan Old Style", Georgia, "Times New Roman", serif;
  --lc-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  --lc-mono: ui-monospace, "Cascadia Mono", Consolas, monospace;
  /* The court's and the Legislature's words: 18 px at 1.75 (part 30). */
  --lc-text: 1.125rem; --lc-small: 0.875rem; --lc-tiny: 0.8125rem;
  --lc-h1: 1.75rem; --lc-h2: 1.25rem; --lc-h3: 1.0625rem;
  --lc-leading: 1.75; --lc-measure: 68ch;
  /* Everything else a document says, in the interface's face. */
  --lc-prose: 0.9375rem; --lc-prose-leading: 1.6;
  --lc-s1: 4px; --lc-s2: 8px; --lc-s3: 12px; --lc-s4: 16px; --lc-s5: 24px; --lc-s6: 32px; --lc-s7: 48px; --lc-s8: 64px;
  --lc-radius: 6px; --lc-radius-lg: 8px; --lc-wide: 1440px; --lc-rail: 300px; --lc-gutter: 32px;
  --lc-shadow: 0 1px 2px rgb(16 32 52 / 6%), 0 4px 16px rgb(16 32 52 / 6%);
  --lc-focus: 0 0 0 3px var(--lc-paper), 0 0 0 5px var(--lc-accent);
  /* Part 17's scale, named once. */
  --lc-ui: 0.875rem;       /* 14 px: interface, labels, meta lines, tables */
  --lc-ui-leading: 1.5;
  --lc-sub: 1.0625rem;     /* 17 px: sub-headings */
  --lc-text-measure: 72ch; /* running text is never wider */
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --lc-bg: #111923; --lc-paper: #19232f; --lc-ink: #e4ecf6; --lc-ink-2: #a6b6c8;
    --lc-rule: #344457; --lc-rule-2: #6d7f94;
    --lc-accent: #9ac7ff; --lc-accent-2: #c4ddff; --lc-accent-soft: #213d58; --lc-on-accent: #10263c; --lc-mark: #685a1f;
    --lc-flag-red: #f2aaa4;    --lc-flag-red-soft: #432a29;
    --lc-flag-yellow: #f1cd80; --lc-flag-yellow-soft: #3d321d;
    --lc-flag-blue: #9db9f0;   --lc-flag-blue-soft: #22324a;
    --lc-flag-green: #98d9b8;  --lc-flag-green-soft: #20382e;
    --lc-flag-grey: #b4c0ce;   --lc-flag-grey-soft: #263241;
    --lc-shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 4px 16px rgb(0 0 0 / 25%);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --lc-bg: #111923; --lc-paper: #19232f; --lc-ink: #e4ecf6; --lc-ink-2: #a6b6c8;
  --lc-rule: #344457; --lc-rule-2: #6d7f94;
  --lc-accent: #9ac7ff; --lc-accent-2: #c4ddff; --lc-accent-soft: #213d58; --lc-on-accent: #10263c; --lc-mark: #685a1f;
  --lc-flag-red: #f2aaa4;    --lc-flag-red-soft: #432a29;
  --lc-flag-yellow: #f1cd80; --lc-flag-yellow-soft: #3d321d;
  --lc-flag-blue: #9db9f0;   --lc-flag-blue-soft: #22324a;
  --lc-flag-green: #98d9b8;  --lc-flag-green-soft: #20382e;
  --lc-flag-grey: #b4c0ce;   --lc-flag-grey-soft: #263241;
  --lc-shadow: 0 1px 2px rgb(0 0 0 / 30%), 0 4px 16px rgb(0 0 0 / 25%);
}

/* ---- Base ------------------------------------------------------------- */

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0; background: var(--lc-bg); color: var(--lc-ink);
  font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans);
}
a { color: var(--lc-accent); text-decoration: none; }
a:hover { color: var(--lc-accent-2); text-decoration: underline; }
:focus-visible { outline: 2px solid var(--lc-accent); outline-offset: 2px; }
img { max-width: 100%; }
mark { background: var(--lc-mark); color: inherit; padding: 0 1px; }
q { quotes: "\201C" "\201D" "\2018" "\2019"; }
.sr-only { position: absolute; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
button.link-like, .link-like {
  background: none; border: 0; padding: 0; margin: 0; font: inherit; color: var(--lc-accent);
  cursor: pointer; text-decoration: none;
}
button.link-like:hover { text-decoration: underline; color: var(--lc-accent-2); }
.lc-btn, .lc-doc button[type="submit"], .lc-search button, .lc-hero-search button {
  font: 600 var(--lc-ui)/1 var(--lc-sans); color: var(--lc-on-accent); background: var(--lc-accent);
  border: 1px solid var(--lc-accent); border-radius: var(--lc-radius); padding: var(--lc-s2) var(--lc-s4);
  min-height: 36px; cursor: pointer;
}
.lc-btn:hover, .lc-doc button[type="submit"]:hover { background: var(--lc-accent-2); border-color: var(--lc-accent-2); }
.lc-btn-quiet {
  font: var(--lc-ui)/1 var(--lc-sans); color: var(--lc-accent); background: var(--lc-paper);
  border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); padding: var(--lc-s1) var(--lc-s3);
  min-height: 30px; cursor: pointer;
}
/* A quiet button in the document stays quiet when it submits a form
 * (Search within, Apply, Show, Sort): written after the solid rule above
 * and weightier than it (part 25, R13). */
.lc-doc button.lc-btn-quiet[type="submit"], .lc-doc .lc-btn-quiet {
  font: var(--lc-ui)/1 var(--lc-sans); color: var(--lc-accent); background: var(--lc-paper);
  border: 1px solid var(--lc-rule-2); padding: var(--lc-s1) var(--lc-s3); min-height: 30px;
}
.lc-doc button.lc-btn-quiet[type="submit"]:hover, .lc-doc .lc-btn-quiet:hover { color: var(--lc-accent-2); background: var(--lc-accent-soft); border-color: var(--lc-accent); }
input, select, textarea { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); color: var(--lc-ink); background: var(--lc-paper); }
input[type="search"], input[type="text"], input[type="email"], input[type="number"], select, textarea {
  border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); padding: var(--lc-s2) var(--lc-s3); min-height: 36px;
}
textarea { width: 100%; min-height: 160px; resize: vertical; }

.lc-skip { position: absolute; left: var(--lc-s4); top: -100px; z-index: 50; background: var(--lc-paper); color: var(--lc-accent); padding: var(--lc-s2) var(--lc-s4); border-radius: var(--lc-radius); box-shadow: var(--lc-shadow); }
.lc-skip:focus { top: var(--lc-s2); }
.lc-band {
  background: var(--lc-flag-yellow-soft); color: var(--lc-ink); border-bottom: 1px solid var(--lc-rule);
  padding: var(--lc-s2) var(--lc-s4); text-align: center; font-size: var(--lc-ui);
}

/* ---- The top bar ------------------------------------------------------- */

.lc-top { position: sticky; top: 0; z-index: 20; background: var(--lc-paper); border-bottom: 1px solid var(--lc-rule); }
/* A link to a place on the page (On this page, a list's next page) lands
 * below the bar, not under it. */
html { scroll-padding-top: 88px; }
.lc-top-in {
  max-width: var(--lc-wide); margin: 0 auto; padding: 0 16px; min-height: 56px;
  display: flex; align-items: center; gap: var(--lc-s4); flex-wrap: wrap;
}
.lc-brand { display: flex; flex-direction: column; line-height: 1.1; color: var(--lc-ink); text-decoration: none; }
.lc-brand:hover { text-decoration: none; color: var(--lc-ink); }
.lc-brand-site { font-size: var(--lc-tiny); color: var(--lc-ink-2); }
.lc-brand-center { font: 600 1.0625rem/1.2 var(--lc-sans); }
.lc-area { display: flex; align-items: center; gap: var(--lc-s1); }
.lc-area select { min-height: 32px; padding: var(--lc-s1) var(--lc-s2); max-width: 220px; }
.lc-area button { min-height: 32px; }
.lc-nav { display: flex; gap: var(--lc-s4); flex-wrap: wrap; }
.lc-nav a { color: var(--lc-ink); font-size: var(--lc-ui); padding: var(--lc-s1) 0; border-bottom: 2px solid transparent; }
.lc-nav a:hover { color: var(--lc-accent); text-decoration: none; }
.lc-nav a[aria-current] { color: var(--lc-accent); border-bottom-color: var(--lc-accent); }
.lc-search { position: relative; display: flex; gap: var(--lc-s1); margin-left: auto; }
.lc-search input { width: 240px; min-height: 34px; }
.lc-search button { min-height: 34px; padding: 0 var(--lc-s3); }
.lc-home .lc-search { visibility: hidden; }
.lc-theme {
  min-width: 34px; min-height: 34px; padding: var(--lc-s1); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius);
  background: var(--lc-paper); color: var(--lc-ink); cursor: pointer; font: var(--lc-tiny)/1 var(--lc-sans);
}
.lc-theme svg { width: 18px; height: 18px; vertical-align: middle; }
.lc-suggest {
  position: absolute; top: 100%; left: 0; right: 0; z-index: 30; margin-top: var(--lc-s1);
  background: var(--lc-paper); border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); box-shadow: var(--lc-shadow);
}
.lc-suggest ul { list-style: none; margin: 0; padding: var(--lc-s1) 0; }
.lc-suggest a { display: block; padding: var(--lc-s2) var(--lc-s3); color: var(--lc-ink); }
.lc-suggest a:hover, .lc-suggest a[aria-selected="true"] { background: var(--lc-accent-soft); text-decoration: none; }
.lc-suggest .lc-kind { color: var(--lc-ink-2); font-size: var(--lc-tiny); margin-left: var(--lc-s2); }
.lc-suggest .lc-sug-cite { color: var(--lc-ink-2); margin-left: var(--lc-s2); }
.lc-row .lc-suggest { font: var(--lc-ui)/1.4 var(--lc-sans); }

/* ---- The frame --------------------------------------------------------- */

.lc-main { max-width: var(--lc-wide); margin: 0 auto; padding: 0 16px var(--lc-s7); }
.lc-crumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: var(--lc-s1) var(--lc-s2); margin: 0; padding: var(--lc-s4) 0; font-size: var(--lc-tiny); color: var(--lc-ink-2); }
.lc-crumbs li + li::before { content: "\203A"; margin-right: var(--lc-s2); color: var(--lc-rule-2); }
.lc-cols { display: grid; grid-template-columns: minmax(0, 1fr) var(--lc-rail); gap: var(--lc-s7); align-items: start; }
.lc-cols.lc-norail { grid-template-columns: minmax(0, 1fr); }
.lc-doc { background: var(--lc-paper); padding: var(--lc-s6); border-radius: var(--lc-radius); box-shadow: var(--lc-shadow); min-width: 0; }
.lc-rail { position: sticky; top: 72px; display: flex; flex-direction: column; gap: var(--lc-s4); max-height: calc(100vh - 88px); overflow: auto; }
.lc-card { background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); padding: var(--lc-s4); }
.lc-card h2 { font: 600 var(--lc-ui)/1.3 var(--lc-sans); margin: 0 0 var(--lc-s2); color: var(--lc-ink-2); text-transform: none; }
.lc-card ul, .lc-card ol { list-style: none; margin: 0; padding: 0; }
.lc-card li { padding: 2px 0; }
.lc-card li.lc-lvl-2 { padding-left: var(--lc-s3); }
.lc-card li.lc-lvl-3 { padding-left: var(--lc-s5); }
.lc-card p { margin: 0 0 var(--lc-s2); }

/* ---- Type: the document ------------------------------------------------ */

.lc-doc p, .lc-doc li, .lc-doc dd { max-width: var(--lc-text-measure); }
.lc-doc p { font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); margin: 0 0 var(--lc-s4); }
.lc-doc h1, .lc-title { font: 600 var(--lc-h1)/1.2 var(--lc-sans); letter-spacing: -0.01em; margin: 0 0 var(--lc-s2); text-wrap: balance; }
.lc-doc h2 { font: 600 var(--lc-h2)/1.3 var(--lc-sans); margin: var(--lc-s6) 0 var(--lc-s3); }
.lc-doc h3 { font: 700 var(--lc-sub)/1.3 var(--lc-sans); margin: var(--lc-s5) 0 var(--lc-s2); }
.lc-doc .lc-kicker, .lc-kicker { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); color: var(--lc-ink-2); margin: 0 0 var(--lc-s2); letter-spacing: 0.01em; }
.lc-doc .lc-meta, .lc-meta { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); color: var(--lc-ink-2); margin: 0 0 var(--lc-s2); font-variant-numeric: tabular-nums; }
.lc-doc .lc-lede { font-size: 1rem; color: var(--lc-ink); }
.lc-doc .lc-heading { font: 400 1.125rem/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: 0 0 var(--lc-s2); }
.lc-doc .lc-muted, .lc-muted { color: var(--lc-ink-2); }
.lc-doc .lc-small, .lc-small { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); }
.lc-doc ul, .lc-doc ol { padding-left: var(--lc-s5); }
.lc-doc li { font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); }
.lc-doc dl { margin: 0 0 var(--lc-s4); }
.lc-doc dt { font: 700 var(--lc-ui)/1.4 var(--lc-sans); margin-top: var(--lc-s3); }
.lc-doc dd { font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); margin: 0 0 var(--lc-s2); }
.lc-doc hr, .lc-cut { border: 0; border-top: 1px solid var(--lc-rule); margin: var(--lc-s7) 0; }
.lc-cite, .lc-year, .lc-sec, .lc-count, .lc-key-n, .lc-pin { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); color: var(--lc-ink-2); font-variant-numeric: tabular-nums; }
.lc-sans { font-family: var(--lc-sans); }

/* ---- Badges, chips and flags ------------------------------------------- */

.lc-badges { display: flex; flex-wrap: wrap; gap: var(--lc-s2); margin: var(--lc-s2) 0 var(--lc-s4); }
.lc-doc p.lc-badges { font: var(--lc-tiny)/1.3 var(--lc-sans); }
.lc-badge, .lc-court-badge, .lc-chip {
  display: inline-block; font: var(--lc-tiny)/1.3 var(--lc-sans); padding: 2px var(--lc-s2);
  border-radius: 999px; background: var(--lc-flag-grey-soft); color: var(--lc-ink); white-space: nowrap;
}
.lc-badge-unpublished, .lc-badge-partial { background: var(--lc-flag-yellow-soft); }
.lc-badge-federal, .lc-badge-other-state { background: var(--lc-flag-blue-soft); }
.lc-badge-ag, .lc-badge-tribunal { background: var(--lc-accent-soft); }
.lc-chip { background: var(--lc-accent-soft); color: var(--lc-accent); }
a.lc-chip:hover { text-decoration: none; color: var(--lc-accent-2); }
.lc-chips { display: flex; flex-wrap: wrap; gap: var(--lc-s2); list-style: none; padding: 0; margin: 0 0 var(--lc-s4); }
.lc-chips li { font-size: var(--lc-tiny); }

.lc-flag { display: inline-flex; align-items: center; gap: var(--lc-s1); font: var(--lc-tiny)/1.3 var(--lc-sans); white-space: nowrap; }
.lc-flag-mark { display: inline-block; width: 12px; height: 12px; border-radius: 2px; background: var(--lc-flag-grey); flex: none; }
.lc-flag-red .lc-flag-mark, .lc-flag-mark.lc-flag-red { background: var(--lc-flag-red); }
.lc-flag-yellow .lc-flag-mark, .lc-flag-mark.lc-flag-yellow { background: var(--lc-flag-yellow); }
.lc-flag-blue .lc-flag-mark, .lc-flag-mark.lc-flag-blue { background: var(--lc-flag-blue); }
.lc-flag-green .lc-flag-mark, .lc-flag-mark.lc-flag-green { background: var(--lc-flag-green); }
.lc-flag-grey .lc-flag-mark, .lc-flag-mark.lc-flag-grey { background: var(--lc-flag-grey); }
.lc-flagbox {
  border-left: 4px solid var(--lc-flag-grey); background: var(--lc-flag-grey-soft); border-radius: 0 var(--lc-radius) var(--lc-radius) 0;
  padding: var(--lc-s3) var(--lc-s4); margin: var(--lc-s4) 0 var(--lc-s5);
}
.lc-flagbox.lc-flag-red { border-color: var(--lc-flag-red); background: var(--lc-flag-red-soft); }
.lc-flagbox.lc-flag-yellow { border-color: var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); }
.lc-flagbox.lc-flag-blue { border-color: var(--lc-flag-blue); background: var(--lc-flag-blue-soft); }
.lc-flagbox.lc-flag-green { border-color: var(--lc-flag-green); background: var(--lc-flag-green-soft); }
.lc-flagbox .lc-flag-word { font: 700 var(--lc-sub)/1.3 var(--lc-sans); margin-left: var(--lc-s2); }
.lc-flagbox .lc-reasons { margin: var(--lc-s2) 0 0; padding-left: var(--lc-s5); }
.lc-flagbox .lc-reasons li { font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); }
.lc-doc .lc-flagbox p.lc-flag-conf { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s2) 0 0; }
.lc-rail .lc-flagbox { margin: 0; }

/* ---- The decision ------------------------------------------------------ */

.lc-doc p.lc-stands strong { font-family: var(--lc-sans); }
.lc-synopsis p strong { font-family: var(--lc-sans); margin-right: var(--lc-s1); }
.lc-headnotes { list-style: none; padding: 0; counter-reset: none; }
.lc-headnotes > li { position: relative; padding-left: 2.25em; margin: 0 0 var(--lc-s5); }
.lc-hn-n { position: absolute; left: 0; top: 0; font: 700 var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); }
.lc-doc p.lc-hn-topics { font: var(--lc-tiny)/1.4 var(--lc-sans); margin: 0 0 var(--lc-s1); }
.lc-doc p.lc-hn-pin { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: 0; }
.lc-key { font: var(--lc-tiny)/1.4 var(--lc-sans); }
details.lc-drawer { border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); padding: var(--lc-s2) var(--lc-s4); margin: var(--lc-s4) 0; }
details.lc-drawer > summary { cursor: pointer; font: 600 var(--lc-ui)/1.4 var(--lc-sans); color: var(--lc-accent); }
details.lc-drawer[open] > summary { margin-bottom: var(--lc-s2); }
details.lc-drawer[open] > :not(summary) { animation: lc-fade 120ms ease-out; }
@keyframes lc-fade { from { opacity: 0; } to { opacity: 1; } }
.lc-inline-details > summary { cursor: pointer; color: var(--lc-accent); font: var(--lc-tiny)/1.4 var(--lc-sans); display: inline; }
/* A closed session ground's boxes on its topic page, and the written
 * practice notes of an issue, a sub-issue or a topic. */
.lc-ground { border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); padding: 16px; margin: var(--lc-s4) 0; }
.lc-ground h2 { margin-top: 0; }
.lc-ground .lc-small, .lc-ground .lc-small a { color: var(--lc-ink-2); }
.lc-doc .lc-practice p { font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); }

/* ---- Tables ------------------------------------------------------------ */

.lc-table-wrap { overflow-x: auto; }
table.lc-table { width: 100%; border-collapse: collapse; margin: 0 0 var(--lc-s4); font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans); font-variant-numeric: tabular-nums; }
.lc-table th { text-align: left; font-weight: 600; color: var(--lc-ink-2); border-bottom: 1px solid var(--lc-rule-2); padding: var(--lc-s2) var(--lc-s3) var(--lc-s2) 0; vertical-align: bottom; }
.lc-table td { border-bottom: 1px solid var(--lc-rule); padding: var(--lc-s2) var(--lc-s3) var(--lc-s2) 0; vertical-align: top; }
.lc-table td.lc-name a, .lc-table td.lc-name > span:first-child { font: 600 0.9375rem/1.4 var(--lc-sans); }
.lc-table td.lc-name .lc-cite { display: block; font-size: var(--lc-tiny); }
.lc-table .lc-clamp { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.lc-table td[data-label]::before { content: attr(data-label) ": "; display: var(--cell-label, none); font-size: 12px; color: var(--lc-ink-2); }
.lc-treat-neg { color: var(--lc-flag-red); font-weight: 600; }
.lc-treat-caution { color: var(--lc-flag-yellow); font-weight: 600; }
.lc-depth { display: inline-flex; gap: 2px; align-items: flex-end; height: 14px; vertical-align: middle; }
.lc-depth i { display: block; width: 4px; background: var(--lc-rule); border-radius: 1px; }
.lc-depth i:nth-child(1) { height: 5px; } .lc-depth i:nth-child(2) { height: 8px; } .lc-depth i:nth-child(3) { height: 11px; } .lc-depth i:nth-child(4) { height: 14px; }
.lc-depth[data-depth="1"] i:nth-child(-n+1), .lc-depth[data-depth="2"] i:nth-child(-n+2),
.lc-depth[data-depth="3"] i:nth-child(-n+3), .lc-depth[data-depth="4"] i:nth-child(-n+4) { background: var(--lc-accent); }
@media (max-width: 560px) {
  table.stack-on-phone, table.stack-on-phone tbody, table.stack-on-phone tr, table.stack-on-phone td { display: block; }
  table.stack-on-phone thead { display: none; }
  table.stack-on-phone tr { padding: var(--lc-s2) 0; border-bottom: 1px solid var(--lc-rule); }
  table.stack-on-phone td { border: 0; padding: 2px 0; }
  table.stack-on-phone td[data-label] { --cell-label: inline; }
  table.stack-on-phone td[data-label]:empty { display: none; }
}

/* ---- The opinion ------------------------------------------------------- */

.lc-opinion { font: var(--lc-text)/var(--lc-leading) var(--lc-serif); margin-left: 3.5em; }
.lc-opinion .lc-p { position: relative; margin: 0; text-indent: 1.5em; }
.lc-opinion .lc-page { position: absolute; left: -3.5em; top: 0.25em; text-indent: 0; color: var(--lc-ink-2); font: var(--lc-tiny)/1.2 var(--lc-sans); font-variant-numeric: tabular-nums; }
.lc-opinion .lc-pmark { position: absolute; left: -1.6em; top: 0.2em; text-indent: 0; opacity: 0; color: var(--lc-ink-2); font: var(--lc-tiny)/1.2 var(--lc-sans); }
.lc-opinion .lc-p:hover .lc-pmark, .lc-opinion .lc-pmark:focus-visible { opacity: 1; }
.lc-opinion a { color: inherit; text-decoration: none; }
.lc-opinion a:hover { text-decoration: underline; color: var(--lc-accent); }
/* A citation in the text reads as the text does, marked as a link. */
.lc-opinion a.lc-cite, .lc-footnotes a.lc-cite { font: inherit; color: var(--lc-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 0.15em; }
.lc-opinion .lc-fn { font: var(--lc-tiny)/1 var(--lc-sans); }
.lc-opinion sup a, .lc-opinion a.lc-fn { color: var(--lc-accent); }
.lc-opinion h3.lc-op-h { font: 700 var(--lc-sub)/1.3 var(--lc-sans); margin: var(--lc-s6) 0 var(--lc-s2); text-indent: 0; }
.lc-opinion h3.lc-op-part { font: 700 var(--lc-sub)/1.3 var(--lc-sans); margin: var(--lc-s7) 0 var(--lc-s4); padding-top: var(--lc-s5); border-top: 1px solid var(--lc-rule); }
.lc-opinion blockquote.lc-op-q { margin: var(--lc-s2) 2em; font-size: 1rem; }
.lc-footnotes { border-top: 1px solid var(--lc-rule); margin: var(--lc-s5) 0 0; padding-top: var(--lc-s3); }
.lc-footnotes ol { list-style: none; padding: 0; margin: 0; }
.lc-footnotes li { font: 0.9375rem/1.55 var(--lc-serif); margin: 0 0 var(--lc-s2); }
.lc-fn-back { margin-left: var(--lc-s1); font-family: var(--lc-sans); }
.lc-doc p.lc-citeas { margin-top: var(--lc-s6); font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); }
.lc-copycite {
  position: absolute; z-index: 40; font: 600 var(--lc-tiny)/1 var(--lc-sans); color: var(--lc-on-accent); background: var(--lc-accent);
  border: 0; border-radius: var(--lc-radius); padding: var(--lc-s2) var(--lc-s3); box-shadow: var(--lc-shadow); cursor: pointer;
}

/* ---- The statute ------------------------------------------------------- */

.lc-statute { font: var(--lc-text)/var(--lc-leading) var(--lc-serif); margin: var(--lc-s4) 0; }
.lc-statute .lc-sub { position: relative; margin: 0 0 var(--lc-s2); padding-left: 2.25em; }
.lc-statute .lc-sub[data-level="0"] { padding-left: 0; }
.lc-statute .lc-sub[data-level="2"] { margin-left: 1.5em; }
.lc-statute .lc-sub[data-level="3"] { margin-left: 3em; }
.lc-statute .lc-sub[data-level="4"] { margin-left: 4.5em; }
.lc-statute .lc-label { position: absolute; left: 0; top: 0; font-variant-numeric: tabular-nums; }
.lc-statute a { color: inherit; }
.lc-statute a:hover { color: var(--lc-accent); text-decoration: underline; }
.lc-doc p.lc-history, .lc-history { font: var(--lc-tiny)/1.5 var(--lc-sans); color: var(--lc-ink-2); margin-top: var(--lc-s5); }
.lc-asof-band { background: var(--lc-flag-blue-soft); border-left: 4px solid var(--lc-flag-blue); padding: var(--lc-s3) var(--lc-s4); margin: var(--lc-s4) 0; border-radius: 0 var(--lc-radius) var(--lc-radius) 0; }
.lc-doc .lc-asof-band p { margin: 0; font: var(--lc-ui)/1.45 var(--lc-sans); }
.lc-compare { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lc-s5); }
.lc-compare > div { min-width: 0; }
.lc-compare ins, .lc-diff ins { background: var(--lc-flag-green-soft); text-decoration: none; }
.lc-compare del, .lc-diff del { background: var(--lc-flag-red-soft); text-decoration: line-through; }
.lc-toc ol { list-style: none; padding-left: var(--lc-s4); }
.lc-toc > ol { padding-left: 0; }
.lc-toc li { font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-toc .lc-range { color: var(--lc-ink-2); margin-left: var(--lc-s2); }
.lc-toc .lc-num { display: inline-block; min-width: 6em; font-variant-numeric: tabular-nums; }

/* ---- Lists, grids, results --------------------------------------------- */

.lc-grid { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--lc-s4); }
.lc-grid li { max-width: none; }
.lc-grid a { display: flex; flex-direction: column; gap: var(--lc-s1); height: 100%; padding: var(--lc-s4); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); color: var(--lc-ink); background: var(--lc-paper); }
.lc-grid a:hover { border-color: var(--lc-accent); text-decoration: none; }
.lc-grid strong { font: 600 1rem/1.35 var(--lc-sans); }
.lc-grid .lc-key, .lc-grid .lc-sec, .lc-grid .lc-count { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-list { list-style: none; padding: 0; margin: 0; }
.lc-list > li { padding: var(--lc-s3) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-list > li > a { font: 600 1rem/1.4 var(--lc-sans); }
.lc-list .lc-line { display: flex; flex-wrap: wrap; gap: var(--lc-s2); align-items: center; margin-top: var(--lc-s1); }
.lc-doc .lc-list p { margin: var(--lc-s1) 0 0; }
/* The box shrinks to its basis before a long button ("Search the library")
 * goes under it on a phone, rather than out past the card's edge. */
.lc-hero-search { display: flex; flex-wrap: wrap; gap: var(--lc-s2); margin: var(--lc-s4) 0 var(--lc-s2); }
.lc-hero-search input { flex: 1 1 12rem; min-width: 0; min-height: 48px; font: 1rem/1.3 var(--lc-sans); padding: 0 var(--lc-s4); }
.lc-hero-search button { min-height: 56px; padding: 0 var(--lc-s5); white-space: nowrap; }
.lc-doc p.lc-syntax { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-tabs { display: flex; flex-wrap: wrap; gap: var(--lc-s4); border-bottom: 1px solid var(--lc-rule); margin: var(--lc-s4) 0; padding: 0; list-style: none; }
.lc-tabs a { display: inline-block; padding: var(--lc-s2) 0; color: var(--lc-ink); border-bottom: 2px solid transparent; font-size: var(--lc-ui); }
.lc-tabs a[aria-current] { border-bottom-color: var(--lc-accent); color: var(--lc-accent); font-weight: 600; }
.lc-direct { border-left: 4px solid var(--lc-accent); background: var(--lc-accent-soft); padding: var(--lc-s3) var(--lc-s4); margin: var(--lc-s4) 0; border-radius: 0 var(--lc-radius) var(--lc-radius) 0; }
.lc-doc .lc-direct p { margin: 0; font-family: var(--lc-sans); }
.lc-results { list-style: none; padding: 0; margin: 0; }
.lc-results > li { padding: var(--lc-s4) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-results > li > a { font: 600 1.125rem/1.35 var(--lc-sans); }
.lc-doc .lc-results p.lc-snippet { font: 0.9375rem/1.5 var(--lc-sans); margin: var(--lc-s1) 0 0; }
.lc-pager { font: var(--lc-ui)/1.4 var(--lc-sans); margin: var(--lc-s5) 0 0; color: var(--lc-ink-2); }
.lc-filters { display: flex; flex-wrap: wrap; gap: var(--lc-s2); align-items: flex-end; margin: var(--lc-s4) 0; font: var(--lc-ui)/1.4 var(--lc-sans); }
.lc-filters label { display: flex; flex-direction: column; gap: 2px; color: var(--lc-ink-2); font-size: var(--lc-tiny); }
.lc-filters input[type="number"] { width: 6.5em; }
.lc-note { padding: var(--lc-s3) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-doc .lc-note h3 { font: 600 1.0625rem/1.35 var(--lc-sans); margin: 0 0 var(--lc-s2); display: flex; flex-wrap: wrap; gap: var(--lc-s2); align-items: baseline; }
.lc-note h3 .lc-flag { margin-left: auto; }
.lc-doc p.lc-hn { position: relative; padding-left: 2em; }
.lc-hn .lc-hn-n { position: absolute; left: 0; font-weight: 700; }
.lc-court-group > summary { list-style: none; }
.lc-court-group > summary::-webkit-details-marker { display: none; }
.lc-areas { list-style: none; padding: 0; margin: 0 0 var(--lc-s5); }
.lc-areas > li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--lc-s1) var(--lc-s4); padding: var(--lc-s3) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-areas .lc-area-center { font: 600 1rem/1.35 var(--lc-sans); }
.lc-doc .lc-areas p { margin: 0; font: var(--lc-ui)/1.45 var(--lc-sans); color: var(--lc-ink-2); }
.lc-areas .lc-state { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); align-self: center; }
.lc-binder-item { padding-bottom: var(--lc-s5); border-bottom: 1px solid var(--lc-rule); margin-bottom: var(--lc-s5); }
.lc-report-form { display: flex; flex-direction: column; gap: var(--lc-s3); max-width: 560px; }
.lc-report-form label { font: 600 var(--lc-ui)/1.4 var(--lc-sans); }
.lc-status { font: var(--lc-ui)/1.4 var(--lc-sans); min-height: 1.4em; }
.lc-week { margin-bottom: var(--lc-s6); }

/* ---- The foot ---------------------------------------------------------- */

.lc-foot { border-top: 1px solid var(--lc-rule); background: var(--lc-paper); margin-top: var(--lc-s7); }
.lc-foot-in { max-width: var(--lc-wide); margin: 0 auto; padding: var(--lc-s5) 16px; font: var(--lc-tiny)/1.5 var(--lc-sans); color: var(--lc-ink-2); }
.lc-foot-in p { margin: 0 0 var(--lc-s2); max-width: var(--lc-text-measure); }
.lc-foot-links { list-style: none; display: flex; flex-wrap: wrap; gap: var(--lc-s4); padding: 0; margin: var(--lc-s3) 0; }
.lc-foot-print { display: none; }

/* ---- Narrow screens ---------------------------------------------------- */

@media (max-width: 960px) {
  .lc-cols { grid-template-columns: minmax(0, 1fr); gap: var(--lc-s5); }
  .lc-rail { position: static; max-height: none; overflow: visible; }
  .lc-search { margin-left: 0; flex: 1 1 100%; }
  .lc-search input { flex: 1; width: auto; }
  .lc-nav { flex: 1 1 100%; order: 3; padding-bottom: var(--lc-s2); overflow-x: auto; flex-wrap: nowrap; }
  .lc-search-cols { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  :root { --lc-text: 1rem; }
  .lc-doc { padding: var(--lc-s4); }
  .lc-top-in { padding: var(--lc-s2) 16px; }
  /* On a phone the bar wraps to four rows, a third of the screen; it
   * scrolls away with the page instead of staying over the text. */
  .lc-top { position: static; }
  html { scroll-padding-top: 0; }
  .lc-opinion { margin-left: 0; }
  .lc-opinion .lc-page { position: static; margin-right: var(--lc-s1); }
  .lc-opinion .lc-page::before { content: "["; }
  .lc-opinion .lc-page::after { content: "]"; }
  .lc-opinion .lc-pmark { display: none; }
  .lc-compare { grid-template-columns: minmax(0, 1fr); }
  .lc-areas > li { grid-template-columns: minmax(0, 1fr); }
  .lc-hero-search input, .lc-hero-search button { min-height: 48px; }
  /* A badge is a sentence ("Federal decision: persuasive on California law,
   * not binding") and wraps on a phone rather than pass the screen's edge. */
  .lc-badge { white-space: normal; max-width: 100%; border-radius: 12px; }
}

/* ---- Motion ------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* ---- Print ------------------------------------------------------------- */

@media print {
  :root { --lc-bg: #ffffff; --lc-paper: #ffffff; --lc-ink: #000000; --lc-ink-2: #333333; --lc-rule: #bbbbbb; --lc-accent: #000000; }
  body { background: #ffffff; color: #000000; }
  .lc-top, .lc-rail, .lc-foot-links, .lc-filters, .lc-suggest, .lc-skip, .lc-band, .lc-crumbs, .lc-copycite, button, .lc-hero-search, .lc-tabs, .lc-facets, .lc-pager { display: none !important; }
  /* A printed search is its results: no search row, no boxes, no chips. */
  .lc-row-form, .lc-within, .lc-chips, .lc-kinds, .lc-read-as, .lc-count-tools { display: none !important; }
  .lc-cols { display: block; }
  .lc-doc { box-shadow: none; padding: 0; border-radius: 0; }
  .lc-main { max-width: none; padding: 0; }
  a { color: #000000; }
  a[href^="/"]::after { content: ""; }
  .lc-flagbox { border-left-color: #000000; background: #ffffff; }
  details.lc-drawer { border: 0; padding: 0; }
  .lc-foot { border: 0; }
  .lc-foot-print { display: block; }
  .lc-doc .lc-citeas { order: -1; }
}

/* The fields of every authority (docs/lawcenter/plan/23-search.md, step 4):
 * a decision's tabs, the Details card, the citing rows and the table of
 * authorities, a section's currentness, the Search within box. */
.lc-tabnav .lc-tabs { margin-top: var(--lc-s5); }
.lc-details { margin: 0; font: var(--lc-tiny)/1.45 var(--lc-sans); }
.lc-details dt { color: var(--lc-ink-2); font-weight: 600; margin-top: var(--lc-s2); }
.lc-details dt:first-child { margin-top: 0; }
.lc-details dd { margin: 0; overflow-wrap: anywhere; }
.lc-details-sub { display: block; color: var(--lc-ink-2); }
.lc-details-sub span { display: block; }
.lc-citing .lc-line { font: var(--lc-tiny)/1.45 var(--lc-sans); color: var(--lc-ink-2); margin-top: var(--lc-s1); }
.lc-doc .lc-citing p.lc-paren { font: 0.9375rem/1.5 var(--lc-serif); margin: var(--lc-s1) 0 0; }
.lc-years { display: flex; gap: var(--lc-s2); border: 0; margin: 0; padding: 0; }
.lc-years legend { font-size: var(--lc-tiny); color: var(--lc-ink-2); padding: 0; margin-bottom: 2px; }
.lc-within { display: flex; flex-wrap: wrap; gap: var(--lc-s2); align-items: center; margin: var(--lc-s2) 0; font: var(--lc-ui)/1.4 var(--lc-sans); }
.lc-within label { color: var(--lc-ink-2); }
.lc-within input[type="search"] { flex: 1 1 14rem; min-width: 0; min-height: 34px; }
.lc-authorities td { font-size: var(--lc-tiny); }
.lc-cite-out { border-bottom: 1px dotted var(--lc-rule-2); }
.lc-currentness { border-left: 4px solid var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); padding: var(--lc-s3) var(--lc-s4); margin: var(--lc-s4) 0; font: var(--lc-ui)/1.45 var(--lc-sans); border-radius: 0 var(--lc-radius) var(--lc-radius) 0; }
.lc-currentness-mark { font: var(--lc-tiny)/1.3 var(--lc-sans); color: var(--lc-ink-2); }

/* ---- Part 25: the decision page (docs/lawcenter/plan/25-research.md, R9
 * to R12): the flag as a pill at the end of the kicker, what the decision
 * stands for under the head, the caption set small, the rail's flag card,
 * Cited by with its treatment strip, More details, Keep it as a row of quiet
 * buttons, and Citing authority's strip, tools and groups ---------------- */
a.lc-flag-pill {
  display: inline-flex; align-items: center; gap: 5px; vertical-align: 1px;
  font: 600 var(--lc-tiny)/1 var(--lc-sans); letter-spacing: 0.02em; white-space: nowrap;
  padding: 4px 9px 4px 7px; border-radius: 999px; color: var(--lc-flag-grey); background: var(--lc-flag-grey-soft);
}
a.lc-flag-pill .lc-flag-mark { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
a.lc-flag-pill.lc-flag-red { color: var(--lc-flag-red); background: var(--lc-flag-red-soft); }
a.lc-flag-pill.lc-flag-yellow { color: var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); }
a.lc-flag-pill.lc-flag-blue { color: var(--lc-flag-blue); background: var(--lc-flag-blue-soft); }
a.lc-flag-pill.lc-flag-green { color: var(--lc-flag-green); background: var(--lc-flag-green-soft); }
a.lc-flag-pill:hover { text-decoration: underline; }
.lc-stands-lede {
  margin: var(--lc-s4) 0 0; padding: var(--lc-s3) var(--lc-s4); border-left: 4px solid var(--lc-flag-blue);
  background: var(--lc-flag-blue-soft); border-radius: 0 var(--lc-radius) var(--lc-radius) 0;
}
.lc-doc .lc-stands-lede p { font: var(--lc-prose)/var(--lc-prose-leading) var(--lc-sans); margin: 0; max-width: none; }
.lc-stands-lede strong {
  display: block; margin-bottom: 6px; font: 600 0.6875rem/1 var(--lc-sans); color: var(--lc-ink-2);
  text-transform: uppercase; letter-spacing: 0.05em;
}
.lc-stands-lede a { font: var(--lc-tiny)/1.4 var(--lc-sans); margin-left: var(--lc-s2); white-space: nowrap; }
/* R10: the caption the opinion opens with repeats the head; set small. */
.lc-opinion .lc-p[data-part="caption"] { font: var(--lc-ui)/1.5 var(--lc-sans); color: var(--lc-ink-2); text-indent: 0; margin: 0 0 var(--lc-s1); }
.lc-opinion .lc-p[data-part="caption"] + :not([data-part="caption"]) { margin-top: var(--lc-s3); padding-top: var(--lc-s4); border-top: 1px solid var(--lc-rule); }
/* R11: the rail's flag card, its first reasons and the way to the rest. */
.lc-rail .lc-flagbox p { margin: 0; }
.lc-rail .lc-flagbox p.lc-flag-head { display: flex; align-items: center; gap: var(--lc-s2); font: 700 1rem/1.3 var(--lc-sans); }
.lc-rail .lc-flagbox .lc-flag-head a { color: var(--lc-ink); }
.lc-rail .lc-flagbox .lc-flag-mark { width: 10px; height: 10px; border-radius: 50%; }
.lc-rail .lc-flagbox .lc-reasons { margin: var(--lc-s2) 0 0; padding-left: var(--lc-s4); list-style: disc; }
.lc-rail .lc-flagbox .lc-reasons li { font: var(--lc-tiny)/1.45 var(--lc-sans); padding: 1px 0; }
.lc-rail .lc-flagbox p.lc-flag-conf { margin-top: var(--lc-s2); font: 0.75rem/1.4 var(--lc-sans); color: var(--lc-ink-2); }
/* Cited by: the card's one term reads as its heading; then the strip. */
.lc-citedby .lc-details dt { font: 600 var(--lc-ui)/1.3 var(--lc-sans); color: var(--lc-ink-2); }
.lc-citedby .lc-details dd { font-size: var(--lc-tiny); }
ul.lc-treat-strip { display: flex; flex-wrap: wrap; gap: 6px; list-style: none; margin: var(--lc-s3) 0 0; padding: 0; }
.lc-doc ul.lc-treat-strip { margin: 0 0 var(--lc-s3); padding: 0; }
.lc-treat-strip li { padding: 0; max-width: none; }
.lc-treat-strip a.lc-treat {
  display: inline-block; font: var(--lc-tiny)/1.3 var(--lc-sans); padding: 3px 10px; border-radius: 999px;
  border: 1px solid var(--lc-rule); background: var(--lc-paper); color: var(--lc-ink); white-space: nowrap; font-variant-numeric: tabular-nums;
}
.lc-rail .lc-treat-strip a.lc-treat { padding: 2px 8px; }
.lc-treat-strip a.lc-treat .lc-n { font-weight: 600; margin-left: 2px; }
.lc-treat-strip a.lc-treat:hover { text-decoration: none; border-color: var(--lc-accent); }
.lc-treat-strip a.lc-treat-yellow { color: var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); border-color: var(--lc-flag-yellow); font-weight: 600; }
.lc-treat-strip a.lc-treat-red { color: var(--lc-flag-red); background: var(--lc-flag-red-soft); border-color: var(--lc-flag-red); font-weight: 600; }
.lc-treat-strip a.lc-treat[aria-current] { color: var(--lc-on-accent); background: var(--lc-accent); border-color: var(--lc-accent); }
/* Details: More details folded under the essentials; the former sections
 * folded again. */
.lc-card details.lc-more { margin-top: var(--lc-s3); padding-top: var(--lc-s2); border-top: 1px solid var(--lc-rule); }
.lc-card details.lc-more > summary, .lc-details details.lc-formers > summary { cursor: pointer; color: var(--lc-accent); font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-card details.lc-more[open] > summary { margin-bottom: var(--lc-s2); }
.lc-details details.lc-formers p { margin: var(--lc-s1) 0 0; }
/* Keep it: a row of quiet buttons. */
.lc-keep { display: flex; flex-wrap: wrap; gap: var(--lc-s2); align-items: center; }
.lc-card .lc-keep p { margin: 0; }
.lc-keep .lc-btn-quiet, .lc-keep a.lc-similar {
  font: var(--lc-tiny)/1.2 var(--lc-sans); padding: 6px 10px; min-height: 30px; box-sizing: border-box;
  border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); background: var(--lc-paper); color: var(--lc-accent);
}
.lc-keep a.lc-similar { display: inline-block; }
.lc-keep a.lc-similar:hover, .lc-keep .lc-btn-quiet:hover { text-decoration: none; border-color: var(--lc-accent); }
.lc-keep .lc-btn-quiet:disabled { color: var(--lc-ink-2); cursor: default; }
.lc-doc h3.lc-cgroup {
  font: 600 var(--lc-tiny)/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.05em;
  margin: var(--lc-s5) 0 0; padding-bottom: var(--lc-s1); border-bottom: 1px solid var(--lc-rule);
}
.lc-doc h3.lc-cgroup.lc-treat-yellow { color: var(--lc-flag-yellow); }
.lc-doc h3.lc-cgroup.lc-treat-red { color: var(--lc-flag-red); }
.lc-citing details.lc-evidence[open] > q {
  display: block; margin: var(--lc-s1) 0 0; padding-left: var(--lc-s3); border-left: 3px solid var(--lc-rule);
  font: 0.9375rem/1.5 var(--lc-sans); max-width: var(--lc-text-measure);
}
@media print {
  .lc-treat-strip { display: none !important; }
  a.lc-flag-pill { background: none; padding: 0; }
  .lc-stands-lede { background: none; border-left-color: #000000; }
}

/* ---- The search row (part 23, D11): the Filters drop-down, the box, the
 * help button; the front door is the row alone ---------------------------- */
.lc-row-form { max-width: 720px; margin: var(--lc-s4) 0 var(--lc-s2); }
.lc-row { position: relative; display: flex; gap: var(--lc-s2); align-items: stretch; }
.lc-row > input[type="search"] {
  flex: 1 1 12rem; min-width: 0; min-height: 48px; padding: 0 var(--lc-s4);
  font: 1rem/1.3 var(--lc-sans); border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); background: var(--lc-paper); color: var(--lc-ink);
}
.lc-filters-dd { order: -1; }
.lc-filters-dd, .lc-help-dd { position: static; }
.lc-filters-dd > summary, .lc-help-dd > summary {
  list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: center; height: 100%; min-height: 52px;
  border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); background: var(--lc-paper); color: var(--lc-ink-2);
  font: var(--lc-ui)/1 var(--lc-sans); white-space: nowrap; box-sizing: border-box;
}
.lc-filters-dd > summary::-webkit-details-marker, .lc-help-dd > summary::-webkit-details-marker { display: none; }
.lc-filters-dd > summary { padding: 0 var(--lc-s3); }
.lc-filters-dd > summary::after { content: "\25BE"; margin-left: var(--lc-s1); }
.lc-filters-dd[open] > summary { color: var(--lc-accent); border-color: var(--lc-accent); }
.lc-filters-dd[open] > summary::after { content: "\25B4"; }
.lc-help-dd > summary { width: 52px; font: 600 1.125rem/1 var(--lc-sans); }
.lc-help-dd[open] > summary { color: var(--lc-accent); border-color: var(--lc-accent); }
.lc-filters-panel, .lc-help-panel {
  position: absolute; left: 0; right: 0; top: calc(100% + var(--lc-s2)); z-index: 20;
  background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); box-shadow: var(--lc-shadow);
  padding: var(--lc-s4); font: var(--lc-ui)/var(--lc-ui-leading) var(--lc-sans);
}
.lc-filters-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--lc-s3) var(--lc-s4); }
.lc-filters-panel label { display: flex; flex-direction: column; gap: 2px; color: var(--lc-ink-2); font-size: var(--lc-tiny); }
.lc-filters-panel select { min-height: 34px; max-width: 100%; }
.lc-filters-panel .lc-years { display: grid; grid-template-columns: 1fr 1fr; gap: var(--lc-s2); border: 0; margin: 0; padding: 0; }
.lc-filters-panel input[type="number"] { min-height: 34px; max-width: 100%; box-sizing: border-box; }
.lc-doc .lc-filters-panel p.lc-ranges { margin: var(--lc-s1) 0 0; font-size: var(--lc-tiny); color: var(--lc-ink-2); }
.lc-ranges .lc-range-now { color: var(--lc-ink); font-weight: 600; }
.lc-leaveout { margin-top: var(--lc-s4); padding-top: var(--lc-s3); border-top: 1px solid var(--lc-rule); }
.lc-chips.lc-set { margin: var(--lc-s2) 0 var(--lc-s3); }
.lc-doc .lc-filters-panel p, .lc-doc .lc-help-panel p { font: inherit; margin: var(--lc-s3) 0 0; }
.lc-help-panel ul { margin: 0; padding-left: var(--lc-s5); }
.lc-help-panel li { margin: 0 0 var(--lc-s2); }
.lc-doc p.lc-quiet { text-align: left; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s2) 0 0; }
/* The search page's one h1 (part 25, R3): the count, or before a search
 * the words over the box, in the interface's size. */
.lc-doc h1.lc-count-line { font: 600 var(--lc-ui)/1.4 var(--lc-sans); color: var(--lc-ink); margin: 0 0 var(--lc-s2); text-wrap: wrap; }
/* The count, Sort beside it, and at the right the tools. */
.lc-count-bar { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--lc-s1) var(--lc-s4);
  margin: 0 0 var(--lc-s2); padding-bottom: 10px; border-bottom: 1px solid var(--lc-rule); }
.lc-doc .lc-count-bar h1.lc-count-line { margin: 0; }
.lc-doc .lc-count-tools { margin: 0; font: var(--lc-tiny)/1.4 var(--lc-sans); display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lc-s1) var(--lc-s3); }
/* Sort, beside the count: the choice sends its form at once (the script
 * hides the button). Not printed. */
.lc-sort { display: flex; align-items: baseline; gap: var(--lc-s1); margin: 0 auto 0 0; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-sort select { font: inherit; min-height: 28px; max-width: 100%; }
@media print { .lc-sort { display: none !important; } }
/* Zero results that say why: Did you mean, what the search finds without
 * each filter or word, and the hint that fits. */
.lc-rescue { margin: var(--lc-s3) 0; font: var(--lc-ui)/1.45 var(--lc-sans); }
.lc-doc .lc-rescue p { margin: 0 0 var(--lc-s2); font: inherit; }
.lc-doc .lc-rescue ul.lc-without { margin: 0 0 var(--lc-s2); padding-left: var(--lc-s5); }
.lc-rows .lc-r-add { display: inline-block; font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-rows .lc-r-add:disabled { color: var(--lc-ink-2); cursor: default; text-decoration: none; }
/* More: a row opened in place, its flag, synopsis and headnotes, or a
 * section's heading and first paragraph, set in from the row. */
.lc-rows .lc-r-more { display: inline-block; font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-rows .lc-more { margin: var(--lc-s2) 0 0; padding: var(--lc-s2) var(--lc-s4); border-left: 3px solid var(--lc-rule); }
.lc-doc .lc-rows .lc-more p { font-size: 0.9375rem; margin: 0 0 var(--lc-s2); }
.lc-rows .lc-more .lc-flag { display: inline-flex; align-items: center; gap: var(--lc-s1); font: 600 var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-rows .lc-more .lc-reasons { margin: 0 0 var(--lc-s2); padding-left: var(--lc-s5); font: var(--lc-tiny)/1.45 var(--lc-sans); }
.lc-rows .lc-more .lc-headnotes > li { margin-bottom: var(--lc-s3); }
/* Where a row's snippet sits, before it: "Majority opinion, ¶ 49". */
.lc-rows .lc-r-place { color: var(--lc-ink-2); margin-right: var(--lc-s1); }
.lc-rows .lc-r-place a { color: var(--lc-ink-2); border-bottom: 1px dotted var(--lc-rule-2); }
.lc-rows .lc-r-place a:hover { color: var(--lc-accent); text-decoration: none; border-bottom-color: var(--lc-accent); }
/* A search's words marked on the decision it opens, the one shown ringed,
 * and over the text the bar with the count, Previous and Next: in the flow
 * of the page, staying under the header while the opinion scrolls. */
mark.lc-hit { background: var(--lc-mark); color: inherit; }
mark.lc-hit-now { outline: 2px solid var(--lc-accent); outline-offset: 1px; }
.lc-marks { position: sticky; top: 72px; z-index: 5; display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lc-s1); margin: 0 0 var(--lc-s3);
  padding: var(--lc-s2) var(--lc-s3); background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); font: var(--lc-tiny)/1.4 var(--lc-sans); }
@media (max-width: 640px) { .lc-marks { top: 0; } }
@media print { .lc-marks { display: none; } mark.lc-hit { background: none; } }
/* Recent searches under the box, kept in this browser alone. */
.lc-recent { margin: var(--lc-s5) 0 0; font: var(--lc-ui)/1.45 var(--lc-sans); }
.lc-doc .lc-recent h2 { font: 600 var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: 0 0 var(--lc-s2); }
.lc-recent ul { list-style: none; padding: 0; margin: 0; }
.lc-recent li { margin: 0 0 var(--lc-s1); }
.lc-doc .lc-recent p { font: var(--lc-tiny)/1.4 var(--lc-sans); margin: var(--lc-s2) 0 0; }
/* How the words were read, first of the count's tools: the mode in bold,
 * the other a link. */
.lc-read-as { color: var(--lc-ink-2); }
.lc-read-as b { color: var(--lc-ink); font-weight: 600; }
.lc-doc p.lc-fallback, .lc-doc p.lc-search-error {
  font: var(--lc-ui)/1.45 var(--lc-sans); padding: var(--lc-s2) var(--lc-s3); margin: var(--lc-s3) 0;
  border-left: 4px solid var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); border-radius: 0 var(--lc-radius) var(--lc-radius) 0;
}
.lc-doc p.lc-search-error { border-color: var(--lc-flag-red); background: var(--lc-flag-red-soft); }
.lc-rows a.lc-r-title { font: 600 1.125rem/1.35 var(--lc-sans); }
/* The results numbered from the page's first (ol start), so result 7 is a
 * place on the page. */
ol.lc-results.lc-rows { list-style: decimal outside; padding-left: 2.25rem; }
.lc-rows > li::marker { color: var(--lc-ink-2); font: var(--lc-tiny) var(--lc-sans); }
.lc-per-page [aria-current] { color: var(--lc-ink); font-weight: 600; }
/* A row's line: one run of text, its separators where the text puts them
 * (no flex, so "Cited 64 times" never starts a line of its own). */
.lc-doc .lc-rows p.lc-r-line { font: var(--lc-tiny)/1.45 var(--lc-sans); color: var(--lc-ink-2); margin: 3px 0 0; font-variant-numeric: tabular-nums; }
.lc-rows .lc-r-line b { font-weight: 600; color: var(--lc-ink); }
/* A row's warning word, in the colour of the flag that means as much. */
.lc-rows .lc-r-warn { font-weight: 600; }
.lc-rows .lc-r-warn-red { color: var(--lc-flag-red); }
.lc-rows .lc-r-warn-yellow { color: var(--lc-flag-yellow); }
.lc-rows .lc-r-warn-blue { color: var(--lc-flag-blue); }
/* The front door: the wordmark, the row, the one quiet line. */
.lc-front .lc-doc { max-width: 720px; margin: var(--lc-s7) auto 0; }
.lc-front .lc-head { margin-bottom: var(--lc-s5); }
.lc-front .lc-head .lc-title { font-size: clamp(1.5rem, 1.2rem + 1vw, 2rem); }
.lc-front .lc-crumbs { visibility: hidden; }
@media (max-width: 640px) {
  .lc-filters-panel, .lc-help-panel { position: static; margin-top: var(--lc-s2); }
  .lc-row { flex-wrap: wrap; }
  .lc-row > input[type="search"] { flex-basis: 100%; order: -2; }
  .lc-filters-dd { order: 0; flex: 1 1 auto; }
  .lc-filters-dd[open], .lc-help-dd[open] { flex-basis: 100%; }
  .lc-filters-grid { grid-template-columns: minmax(0, 1fr); }
}

/* ---- Part 25: the results page ---- */
/* docs/lawcenter/plan/25-research.md, R2 to R6: the bar across the
 * document, then a grid of the count bar, a 184 px rail of filters on the
 * right, sticky, and the results, whose lines run to 92ch. The rail comes
 * before the results in the page; the grid's areas place it on the right
 * of a wider screen, and on a phone (760 px and under) it is a Filters
 * disclosure over the rows. */

/* The bar: the box, Search, and the round help button. */
.lc-bar { margin: 0 0 var(--lc-s4); }
.lc-doc .lc-bar .lc-bar-go { min-height: 52px; padding: 0 var(--lc-s5); white-space: nowrap; }

/* A direct hit, one line between the bar and the grid. */
.lc-doc .lc-direct { margin: 0 0 var(--lc-s4); padding: 10px 14px; }
.lc-doc .lc-direct p { font: var(--lc-ui)/1.5 var(--lc-sans); color: var(--lc-ink-2); }
.lc-direct-k { font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; margin-right: var(--lc-s1); }
.lc-doc .lc-direct p > a:first-of-type { font: 600 0.9375rem/1.4 var(--lc-sans); }

/* The grid. */
.lc-search-cols {
  display: grid; grid-template-columns: minmax(0, 1fr) 184px; gap: 0 28px; align-items: start;
  grid-template-areas: "count rail" "main rail"; grid-template-rows: auto 1fr; margin-top: var(--lc-s2);
}
.lc-search-cols > .lc-count-bar { grid-area: count; }
.lc-search-cols > .lc-facets { grid-area: rail; }
.lc-search-cols > .lc-search-main { grid-area: main; min-width: 0; }
.lc-search-cols.lc-nofacets { grid-template-columns: minmax(0, 1fr); grid-template-areas: "count" "main"; }

/* The count bar's Sort and tools, small; the tools to the right. */
.lc-count-bar .lc-sort select { min-height: 28px; padding: 2px var(--lc-s1); }
.lc-doc .lc-count-bar .lc-count-tools { flex: 1 1 auto; justify-content: flex-end; }
/* More (part 40, D2): the count's tools in a menu, its summary a link's
 * colour, its items in a row under it. */
.lc-count-more > summary { cursor: pointer; color: var(--lc-accent); font: var(--lc-tiny)/1.4 var(--lc-sans); }
ul.lc-count-menu { list-style: none; display: flex; flex-wrap: wrap; gap: var(--lc-s1) 14px; margin: var(--lc-s1) 0 0; padding: 0; }

/* The rail: each group a small heading over its values and their counts.
 * It scrolls with the page (part 40, D9): its groups closed make it short
 * enough, and the page has one scrollbar. */
.lc-facets {
  position: static; max-height: none; overflow: visible; padding: 0;
  font: 0.8125rem/1.4 var(--lc-sans); font-variant-numeric: tabular-nums;
}
.lc-facets-dd > summary { display: none; }
.lc-facet + .lc-facet, .lc-facet + .lc-facets-more { margin-top: 18px; }
.lc-doc .lc-facets h2, .lc-doc .lc-facets h3 {
  font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 var(--lc-s2);
}
/* Each group a disclosure (part 40, D4): its title, how many values it
 * offers, and a small triangle after them. */
.lc-doc .lc-facets details.lc-facet > summary { list-style: none; cursor: pointer; }
.lc-doc .lc-facets details.lc-facet > summary::-webkit-details-marker { display: none; }
.lc-doc .lc-facets details.lc-facet > summary > h2::after, .lc-doc .lc-facets details.lc-facet > summary > h3::after { content: " \25BE"; color: var(--lc-ink-2); }
.lc-doc .lc-facets details.lc-facet[open] > summary > h2::after, .lc-doc .lc-facets details.lc-facet[open] > summary > h3::after { content: " \25B4"; }
.lc-facet-count { color: var(--lc-ink-2); font-weight: 400; }
.lc-facet-in { margin-top: var(--lc-s2); }
.lc-doc .lc-facets ul { list-style: none; padding: 0; margin: 0; }
.lc-doc .lc-facets li { display: flex; align-items: baseline; gap: var(--lc-s2); padding: 3px 0; font: inherit; max-width: none; }
.lc-facets .lc-facet-v { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lc-facets a.lc-facet-v { color: var(--lc-ink); }
.lc-facets a.lc-facet-v:hover { color: var(--lc-accent); }
.lc-facets .lc-facet-n { color: var(--lc-ink-2); }
.lc-facets li[aria-current] .lc-facet-v { font-weight: 600; color: var(--lc-accent); }
.lc-facets .lc-facet-x { color: var(--lc-ink-2); padding: 0 2px; }
.lc-facets .lc-facet-x:hover { color: var(--lc-flag-red); text-decoration: none; }
.lc-facet-all > summary, .lc-facets-more > summary { cursor: pointer; color: var(--lc-accent); font: var(--lc-tiny)/1.4 var(--lc-sans); margin-top: var(--lc-s1); }
.lc-facets-more { border-top: 1px solid var(--lc-rule); padding-top: 10px; }
.lc-facets-more > summary { font-weight: 600; margin: 0; }
.lc-facets .lc-chips { margin: var(--lc-s2) 0 0; padding: 0; }
.lc-doc .lc-facets p { font: inherit; margin: var(--lc-s2) 0 0; max-width: none; }
/* Search within, stacked in the rail. */
.lc-facets .lc-within { margin: 0; gap: 6px; }
.lc-facets .lc-within input[type="search"] { flex: 1 1 100%; min-height: 34px; padding: var(--lc-s1) var(--lc-s2); }
/* The years, two boxes side by side; More filters, one select a line. */
.lc-facets .lc-years { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.lc-facets label { display: flex; flex-direction: column; gap: 2px; color: var(--lc-ink-2); font-size: 0.75rem; }
.lc-facets input[type="number"], .lc-facets select { width: 100%; min-height: 32px; padding: var(--lc-s1) 6px; font-size: var(--lc-tiny); }
.lc-doc .lc-facets p.lc-ranges { font-size: 0.75rem; color: var(--lc-ink-2); margin-top: 6px; }
.lc-more-filters { display: flex; flex-direction: column; gap: var(--lc-s2); margin-top: var(--lc-s2); }

/* The filters set, under the count, and Clear all. */
.lc-search-main > .lc-chips.lc-set { margin: var(--lc-s2) 0 0; padding: 0; }
.lc-chips .lc-clear-all { font: var(--lc-tiny)/1.3 var(--lc-sans); padding: 2px var(--lc-s1); }

/* A row (R6): the title and its badge, the line, what it stands for, the
 * snippet, the tools; each line to 92ch, the number in the margin. */
.lc-rows > li > * { max-width: 92ch; }
.lc-doc .lc-rows p, .lc-doc .lc-rows li { max-width: 92ch; }
.lc-r-head { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lc-s1) var(--lc-s3); }
.lc-flag-pill, .lc-r-head .lc-kind {
  display: inline-flex; align-items: center; gap: 5px; font: 600 0.6875rem/1 var(--lc-sans); letter-spacing: 0.02em;
  padding: 4px 8px; border-radius: 999px; white-space: nowrap; color: var(--lc-ink-2); background: var(--lc-flag-grey-soft);
}
.lc-flag-pill { padding-left: 6px; }
.lc-flag-pill .lc-flag-mark { width: 8px; height: 8px; border-radius: 50%; background: currentColor; }
.lc-flag-pill.lc-flag-red { color: var(--lc-flag-red); background: var(--lc-flag-red-soft); }
.lc-flag-pill.lc-flag-yellow { color: var(--lc-flag-yellow); background: var(--lc-flag-yellow-soft); }
.lc-flag-pill.lc-flag-blue { color: var(--lc-flag-blue); background: var(--lc-flag-blue-soft); }
.lc-flag-pill.lc-flag-green { color: var(--lc-flag-green); background: var(--lc-flag-green-soft); }
.lc-flag-pill.lc-flag-grey { color: var(--lc-flag-grey); background: var(--lc-flag-grey-soft); }
.lc-doc .lc-rows p.lc-r-stands { font: var(--lc-prose)/1.55 var(--lc-sans); color: var(--lc-ink); margin: var(--lc-s2) 0 0; }
.lc-r-stands strong {
  font: 600 0.6875rem/1 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.05em; margin-right: var(--lc-s1); vertical-align: 1px;
}
.lc-doc .lc-rows p.lc-snippet { font: var(--lc-ui)/1.55 var(--lc-sans); margin: 6px 0 0; }
.lc-doc .lc-rows p.lc-r-tools { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lc-s1) 14px; margin: var(--lc-s2) 0 0; font: 0.75rem/1.4 var(--lc-sans); }
.lc-doc .lc-rows p.lc-r-tools[hidden] { display: none; }
.lc-r-tools .lc-r-more, .lc-r-tools .lc-r-add { font-size: 0.75rem; }
.lc-rows .lc-more { max-width: 92ch; }

/* A phone: the rail is a Filters disclosure over the rows, the script
 * closing it at load; the bar keeps the box, Search and ? on one line. */
@media (max-width: 760px) {
  .lc-search-cols, .lc-search-cols.lc-nofacets { grid-template-columns: minmax(0, 1fr); grid-template-areas: "count" "rail" "main"; grid-template-rows: none; }
  .lc-facets { position: static; max-height: none; overflow: visible; padding: 0; margin: var(--lc-s3) 0 var(--lc-s2); }
  .lc-facets-dd { border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); background: var(--lc-paper); }
  .lc-facets-dd > summary {
    display: flex; align-items: center; justify-content: space-between; min-height: 44px; padding: 0 var(--lc-s4); cursor: pointer; list-style: none;
    font: 600 var(--lc-ui)/1 var(--lc-sans); color: var(--lc-accent);
  }
  .lc-facets-dd > summary::-webkit-details-marker { display: none; }
  .lc-facets-dd > summary::after { content: "\25BE"; color: var(--lc-ink-2); }
  .lc-facets-dd[open] > summary::after { content: "\25B4"; }
  .lc-facets-in { padding: var(--lc-s2) var(--lc-s4) var(--lc-s4); }
  .lc-doc .lc-count-bar .lc-count-tools { justify-content: flex-start; }
}
@media (max-width: 640px) {
  .lc-bar .lc-row > input[type="search"] { flex: 1 1 10rem; order: 0; }
  .lc-doc .lc-bar .lc-bar-go { padding: 0 var(--lc-s3); }
}
@media print {
  .lc-bar, .lc-facets-dd, .lc-r-tools, .lc-clear-all { display: none !important; }
  .lc-search-cols { display: block; }
}

/* ---- Part 26: the legislation pages ------------------------------------- */
/* A list's heading or first words beside the number. */
.lc-gist { color: var(--lc-ink-2); font: var(--lc-ui)/1.45 var(--lc-sans); }
.lc-heading-line { font-weight: 600; }
.lc-toc-head { font: 600 var(--lc-ui)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s5) 0 var(--lc-s2); }
.lc-toc-list li { margin: 0 0 var(--lc-s1); }
.lc-clock-mark { font: var(--lc-tiny)/1.3 var(--lc-sans); color: var(--lc-accent-2); border: 1px solid var(--lc-rule); border-radius: 999px; padding: 0 6px; }
/* A chapter read whole. */
.lc-sec-whole { margin: var(--lc-s5) 0; padding-top: var(--lc-s3); border-top: 1px solid var(--lc-rule); }
.lc-sec-whole-title { font: 600 1.0625rem/1.35 var(--lc-sans); margin: 0 0 var(--lc-s3); }
/* The acts by name. */
.lc-acts { list-style: none; margin: 0 0 var(--lc-s5); padding: 0; }
.lc-acts li { padding: var(--lc-s2) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-acts p { margin: 0; }
.lc-go button { white-space: nowrap; }
/* A paragraph's pinpoint link, in the margin, shown on hover or focus. */
.lc-statute .lc-pin-link { position: absolute; right: -1.75em; top: 0; border: 0; background: none; color: var(--lc-ink-2); font: var(--lc-tiny)/1.4 var(--lc-sans); cursor: pointer; opacity: 0; padding: 0 4px; }
.lc-statute .lc-sub:hover .lc-pin-link, .lc-statute .lc-pin-link:focus-visible { opacity: 1; }
.lc-statute .lc-sub:target { background: var(--lc-accent-soft); border-radius: var(--lc-radius); }
/* The History strip. */
.lc-history-strip { margin: var(--lc-s5) 0; }
.lc-history-strip ul { list-style: none; margin: 0; padding: 0; font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-history-strip li { padding: 2px 0 2px 4.5em; position: relative; }
.lc-history-strip .lc-history-year { position: absolute; left: 0; color: var(--lc-ink-2); font-variant-numeric: tabular-nums; }
.lc-history-strip .lc-history { margin-top: var(--lc-s3); }
/* The rail's lists: the outline, the chapter, the terms, the products, the parallels. */
.lc-card .lc-outline li, .lc-card .lc-chapter-list li { font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-card .lc-chapter-list li[aria-current] { font-weight: 600; }
.lc-card .lc-chapter-list .lc-gist, .lc-card .lc-outline a { color: var(--lc-ink-2); }
.lc-card .lc-terms li, .lc-card .lc-rules li, .lc-card .lc-parallels li { font: var(--lc-tiny)/1.4 var(--lc-sans); padding: 3px 0; }
.lc-clock-list { list-style: none; padding: 0; margin: 0 0 var(--lc-s4); font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-clock-list li { padding: var(--lc-s1) 0; }
.lc-recent-citing, .lc-cited-by { list-style: none; padding: 0; margin: 0 0 var(--lc-s4); }
.lc-cited-by li { padding: var(--lc-s2) 0; border-bottom: 1px solid var(--lc-rule); }
.lc-cited-by p { margin: 0; }
.lc-sentence { color: var(--lc-ink-2); }
/* The hover preview of a section. */
.lc-hover { position: absolute; z-index: 40; background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); box-shadow: 0 6px 24px rgba(0, 0, 0, .12); padding: var(--lc-s3) var(--lc-s4); font: var(--lc-tiny)/1.45 var(--lc-sans); }
.lc-hover p { margin: 0 0 var(--lc-s1); }
.lc-hover .lc-hover-title { font-weight: 600; }
.lc-hover .lc-hover-text { font: var(--lc-ui)/1.45 var(--lc-serif); color: var(--lc-ink); }
.lc-hover .lc-hover-line, .lc-hover .lc-hover-gist { color: var(--lc-ink-2); }
@media print { .lc-hover, .lc-pin-link { display: none !important; } }

/* ---- The search app (docs/lawcenter/plan/28-search-app.md) ------------- */
/* The app's root is the document's twin (lc-doc) in a one-column grid of
   its own, empty until the app mounts, and so unseen, as it is without
   script. The rows, the rail and the count bar keep the server's class
   names, so the rules above draw them; what follows is the app's own.
   Fluent's controls carry fui- classes; the few named here are made quiet
   where the page's words are links. */
.lc-app:empty { display: none; }
.lc-app-provider { background: transparent; }
.lc-app .lc-app-row { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s2); position: relative; }
.lc-app .lc-app-box { flex: 1 1 320px; min-width: 0; }
.lc-app .lc-app-help { flex: 0 0 auto; min-width: 40px; }
.lc-app .lc-suggest { position: absolute; left: 0; right: 0; top: 100%; z-index: 20; }
.lc-app-help-panel { max-width: 520px; }
.lc-app-help-panel ul { margin: 0 0 var(--lc-s3); padding-left: var(--lc-s5); font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-app-help-panel p { margin: 0; font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-app .lc-direct-bar { margin: var(--lc-s3) 0 0; }
.lc-app .lc-app-notes { margin: var(--lc-s3) 0; }
.lc-app .lc-app-chips { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s2); margin: var(--lc-s2) 0 0; }
.lc-app .lc-count-bar .lc-sort { display: flex; align-items: center; gap: var(--lc-s2); font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-app .lc-count-bar .lc-sort { max-width: 100%; }
.lc-app .lc-count-bar .lc-sort .fui-Dropdown { min-width: 0; flex: 1; }
.lc-research-filters { display: flex; flex-wrap: wrap; gap: var(--lc-s3); align-items: end; margin-bottom: var(--lc-s5); }
.lc-research-filters > label { display: grid; gap: var(--lc-s1); flex: 1 1 12rem; min-width: 0; max-width: 100%; }
.lc-research-filters input, .lc-research-filters select { width: 100%; min-width: 0; max-width: 100%; }
.lc-app .lc-count-tools .fui-Button { padding: 0; min-height: auto; height: auto; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-accent); }
.lc-app .lc-count-tools .lc-filters-btn { padding: 2px var(--lc-s2); color: var(--lc-ink); }
.lc-app .lc-facets a.lc-facet-v { color: var(--lc-ink); }
.lc-app .lc-facets .lc-facet-x { padding: 0; min-height: auto; height: auto; min-width: auto; color: var(--lc-ink-2); }
.lc-app .lc-facets .fui-AccordionHeader button { padding: 0; min-height: auto; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-accent); }
.lc-app .lc-facets .fui-AccordionPanel { margin: 0; }
/* The rail's groups in the app (part 40, D4): each an item of one
 * Accordion, its header reading as the server's h2; the ticked boxes (D5),
 * the not on every value (D8) shown on hover or focus, and the years'
 * quick ranges as buttons (D6). */
.lc-app .lc-facets .lc-facet > .fui-AccordionHeader button, .lc-rail-drawer .lc-facets .lc-facet > .fui-AccordionHeader button {
  padding: 0; min-height: auto; font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.05em;
}
.lc-facets .fui-AccordionHeader .lc-facet-count { margin-left: 0.4em; }
.lc-app .lc-facets .lc-facet > .fui-AccordionPanel, .lc-rail-drawer .lc-facets .lc-facet > .fui-AccordionPanel { margin: var(--lc-s2) 0 0; }
.lc-doc .lc-facets li > .lc-facet-check, .lc-rail-drawer .lc-facets li > .lc-facet-check { flex: 1 1 0; min-width: 0; max-width: none; display: flex; align-items: flex-start; }
.lc-facets .lc-facet-check .fui-Checkbox__indicator { margin: 2px 6px 0 0; }
.lc-doc .lc-facets .lc-facet-check .fui-Checkbox__label, .lc-rail-drawer .lc-facets .lc-facet-check .fui-Checkbox__label { flex: 1 1 0; min-width: 0; display: flex; flex-direction: row; align-items: baseline; gap: var(--lc-s2); padding: 0; }
.lc-facets .lc-facet-check .lc-facet-v { flex: 1; min-width: 0; overflow-wrap: anywhere; }
.lc-facets .lc-facet-not { opacity: 0; padding: 0 2px; min-width: auto; min-height: auto; height: auto; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-facets li:hover .lc-facet-not, .lc-facets li:focus-within .lc-facet-not { opacity: 1; }
@media (hover: none) { .lc-facets .lc-facet-not { opacity: 1; } }
.lc-app .lc-ranges, .lc-rail-drawer .lc-ranges { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.lc-app .lc-within { display: flex; flex-wrap: wrap; gap: var(--lc-s1); margin: 0 0 var(--lc-s2); }
.lc-app .lc-within .lc-within-box { flex: 1 1 100%; }
.lc-app .lc-years .fui-Input { width: 100%; min-width: 0; }
.lc-app .lc-years label { display: grid; gap: 2px; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin-bottom: var(--lc-s1); }
.lc-app .lc-more-filters .lc-f { margin: 0 0 var(--lc-s2); }
.lc-app .lc-more-filters label { display: block; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-app .lc-rows .lc-r-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s1) var(--lc-s3); margin: var(--lc-s2) 0 0; font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-app .lc-rows .lc-r-tools .fui-Button { padding: 0; min-height: auto; height: auto; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-accent); }
.lc-app .lc-rows .lc-r-tools .fui-Button:disabled { color: var(--lc-ink-2); }
.lc-app .lc-rows .lc-r-head .fui-Badge { vertical-align: middle; margin-left: var(--lc-s1); }
.lc-app .lc-recent ul { list-style: none; padding: 0; }
.lc-app .lc-app-spinner { vertical-align: middle; margin-left: var(--lc-s2); font-weight: 400; }
.lc-app-in[aria-busy="true"] .lc-search-main { opacity: .6; transition: opacity .2s ease .3s; }
.lc-app .lc-copy-box { width: 100%; }

/* The preview drawer and the phone's rail drawer live in a portal, outside
   the app's root: their rules stand on their own. */
.lc-preview .lc-preview-title { font: 600 1.125rem/1.35 var(--lc-sans); color: var(--lc-ink); }
.lc-preview .lc-preview-line { font: var(--lc-tiny)/1.45 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s1) 0 0; }
.lc-preview .lc-preview-nav { display: flex; justify-content: space-between; gap: var(--lc-s2); }
.lc-preview-body p { font: var(--lc-text)/var(--lc-leading) var(--lc-serif); margin: 0 0 var(--lc-s3); }
.lc-preview-body p.lc-muted, .lc-preview-body .lc-hn-pin { font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-preview-body .lc-preview-stands strong, .lc-preview-body .lc-preview-section p strong { font-family: var(--lc-sans); font-size: var(--lc-tiny); text-transform: uppercase; letter-spacing: .04em; color: var(--lc-ink-2); margin-right: var(--lc-s1); }
.lc-preview-body .lc-preview-section { margin-top: var(--lc-s4); }
.lc-preview-body .lc-preview-section h3 { font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: .05em; margin: 0 0 var(--lc-s2); }
.lc-preview-body .lc-preview-heading { font: 600 var(--lc-sub)/1.35 var(--lc-sans); }
.lc-preview-body .lc-reasons { margin: 0 0 var(--lc-s2); padding-left: var(--lc-s5); font: var(--lc-tiny)/1.45 var(--lc-sans); }
.lc-preview-body .lc-headnotes { padding-left: var(--lc-s5); }
.lc-preview-body .lc-headnotes > li { margin-bottom: var(--lc-s3); }
.lc-preview-body .lc-hn-n { font: 600 var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); margin-right: var(--lc-s2); }
.lc-preview-body .lc-hn-text { display: inline; }
.lc-preview-body .lc-preview-p { position: relative; padding-left: 1.75em; }
.lc-preview-body .lc-preview-p .lc-pmark { position: absolute; left: 0; top: .15em; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); text-decoration: none; }
.lc-preview-body .lc-preview-p[data-part="footnote"] { padding-left: 0; font-size: var(--lc-small); }
.lc-preview-body .lc-preview-p[data-part="footnote"] .lc-pmark { position: static; display: block; margin-bottom: var(--lc-s1); }
.lc-preview-body .lc-preview-now { background: var(--lc-accent-soft); border-radius: var(--lc-radius); padding: var(--lc-s2) var(--lc-s2) var(--lc-s2) 1.75em; }
.lc-preview-body .lc-preview-now .lc-pmark { left: var(--lc-s2); top: calc(var(--lc-s2) + .15em); }
.lc-preview-body .lc-label { font: 600 var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-preview-body mark.lc-hit { background: var(--lc-mark); }
.lc-preview-foot { display: flex; flex-wrap: wrap; gap: var(--lc-s3); align-items: center; }
.lc-rail-drawer .lc-facets { position: static; max-height: none; }
/* The phone's rail drawer draws the groups as the document does, outside it. */
.lc-rail-drawer .lc-facets { font: 0.8125rem/1.4 var(--lc-sans); font-variant-numeric: tabular-nums; }
.lc-rail-drawer .lc-facets h2 { font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.05em; margin: 0 0 var(--lc-s2); }
.lc-rail-drawer .lc-facets ul { list-style: none; padding: 0; margin: 0; }
.lc-rail-drawer .lc-facets li { display: flex; align-items: baseline; gap: var(--lc-s2); padding: 3px 0; }
.lc-rail-drawer .lc-facets .lc-facet + .lc-facet, .lc-rail-drawer .lc-facets .lc-facet + .lc-facets-more { margin-top: 18px; }
.lc-rail-drawer .lc-facets a.lc-facet-v { color: var(--lc-ink); }
.lc-rail-drawer .lc-facets .lc-facet-n { color: var(--lc-ink-2); }
.lc-rail-drawer .lc-facets li[aria-current] .lc-facet-v { font-weight: 600; color: var(--lc-accent); }

@media (max-width: 760px) {
  .lc-app .lc-search-cols { grid-template-columns: minmax(0, 1fr); grid-template-areas: "count" "main"; }
}
@media print {
  .lc-app .lc-bar, .lc-app .lc-filters-btn, .lc-app .lc-r-tools, .lc-preview, .lc-rail-drawer { display: none !important; }
}

/* ---- Part 30: the research shell (docs/lawcenter/plan/30-research-shell.md)
 * The approved design: the top bar with the brand (always Enclerk.com and
 * Law Center), Saved research and the theme button over the Law Center's
 * four (Search, Codes & statutes, Topics, Check citations); a center's own
 * bar under them on a center's pages; the workspace to 1,440 px with a 300
 * px rail; one paper surface edged by a rule, no shadow; the search entry
 * (the box with its scope, Search, help, the kinds of authority, Advanced
 * search); the law centers as one box of names; the results' heading and
 * count; a row's kind over its title; the quiet foot. The top bar scrolls
 * away with the page, so nothing sticky needs its height: the rail, the
 * filters and the marks' bar stick 16 px from the top. -------------------- */

html { scroll-padding-top: var(--lc-s4); }
:focus-visible { outline: 2px solid var(--lc-accent); outline-offset: 2px; }

/* The top bar. */
.lc-top { position: static; background: var(--lc-paper); border-bottom: 1px solid var(--lc-rule); }
.lc-top-in {
  max-width: var(--lc-wide); margin: 0 auto; padding: 12px var(--lc-gutter) 6px; min-height: 0;
  display: flex; align-items: center; justify-content: space-between; gap: var(--lc-s4); flex-wrap: nowrap;
}
.lc-brand { flex-direction: row; align-items: center; gap: var(--lc-s3); min-width: 0; }
.lc-mono {
  flex: none; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px;
  background: var(--lc-accent); color: var(--lc-on-accent); border-radius: 5px; font: 400 1.3125rem/1 Georgia, "Times New Roman", serif;
}
.lc-brand-words { display: flex; flex-direction: column; line-height: 1.15; min-width: 0; }
.lc-brand-site { font-size: 0.75rem; color: var(--lc-ink-2); }
.lc-brand-center { font: 600 1.125rem/1.2 var(--lc-sans); color: var(--lc-ink); }
.lc-top-tools { display: flex; align-items: center; gap: var(--lc-s2); flex: none; }
.lc-saved {
  display: inline-flex; align-items: center; gap: var(--lc-s2); min-height: 36px; padding: 0 var(--lc-s3);
  border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); color: var(--lc-ink); background: var(--lc-paper); font: var(--lc-ui)/1 var(--lc-sans);
}
.lc-saved:hover { border-color: var(--lc-accent); color: var(--lc-accent); text-decoration: none; }
.lc-saved-n, .lc-count-pill {
  display: inline-block; min-width: 1.5em; padding: 2px 7px; border-radius: 4px; text-align: center;
  background: var(--lc-accent-soft); color: var(--lc-accent); font: 600 0.75rem/1.3 var(--lc-sans); font-variant-numeric: tabular-nums;
}
.lc-theme { min-width: 36px; min-height: 36px; border-color: var(--lc-rule); }
.lc-nav { display: block; background: var(--lc-paper); }
.lc-nav-in { max-width: var(--lc-wide); margin: 0 auto; padding: 0 var(--lc-gutter); display: flex; gap: var(--lc-s5); overflow-x: auto; scrollbar-width: none; }
.lc-nav a { display: inline-block; flex: none; padding: 10px 0 9px; color: var(--lc-ink-2); font: var(--lc-ui)/1.3 var(--lc-sans); border-bottom: 3px solid transparent; white-space: nowrap; }
.lc-nav a:hover { color: var(--lc-accent); text-decoration: none; }
.lc-nav a[aria-current] { color: var(--lc-accent); border-bottom-color: var(--lc-accent); font-weight: 600; }

/* A center's bar: its name, its home, then its own links. */
.lc-center-bar { background: var(--lc-bg); border-bottom: 1px solid var(--lc-rule); }
.lc-center-in { max-width: var(--lc-wide); margin: 0 auto; padding: 0 var(--lc-gutter); display: flex; align-items: center; flex-wrap: wrap; gap: 0 var(--lc-s5); }
.lc-center-name { font: 600 0.9375rem/1.3 var(--lc-sans); color: var(--lc-ink); padding: 10px 0; }
.lc-center-name[aria-current] { color: var(--lc-accent); }
.lc-center-links { display: flex; flex-wrap: wrap; gap: 0 var(--lc-s4); }
.lc-center-links a { display: inline-block; padding: 10px 0 8px; color: var(--lc-ink-2); font: var(--lc-ui)/1.3 var(--lc-sans); border-bottom: 2px solid transparent; }
.lc-center-links a:hover { color: var(--lc-accent); text-decoration: none; }
.lc-center-links a[aria-current] { color: var(--lc-accent); border-bottom-color: var(--lc-accent); font-weight: 600; }

/* The frame: the workspace, one paper surface edged by a rule. */
.lc-main { max-width: var(--lc-wide); padding: 0 var(--lc-gutter) var(--lc-s7); }
.lc-crumbs ol { padding: var(--lc-s4) 0 var(--lc-s3); }
.lc-cols { gap: var(--lc-s5); }
.lc-doc { box-shadow: none; border: 1px solid var(--lc-rule); border-radius: var(--lc-radius-lg); padding: var(--lc-s6); }
.lc-rail { top: var(--lc-s4); max-height: calc(100vh - var(--lc-s6)); }
.lc-card { border-radius: var(--lc-radius-lg); }
.lc-card h2 { font: 600 var(--lc-ui)/1.3 var(--lc-sans); color: var(--lc-ink); }
.lc-doc h3 { font: 600 var(--lc-h3)/1.35 var(--lc-sans); }
.lc-footnotes li { font: 1rem/1.65 var(--lc-serif); }
.lc-marks { top: var(--lc-s4); }
.lc-btn, .lc-doc button[type="submit"] { border-radius: 5px; }

/* The search home's heading, and an area's search before a search. */
.lc-search-head { margin: 0 0 var(--lc-s4); }
.lc-doc .lc-search-head .lc-title { font-size: var(--lc-h1); margin: 0; }
.lc-doc p.lc-search-lede { color: var(--lc-ink-2); margin: var(--lc-s1) 0 0; }
.lc-front .lc-doc { max-width: 1040px; margin: var(--lc-s5) auto 0; }
.lc-front .lc-crumbs { display: none; }

/* The search entry. */
.lc-entry { margin: 0 0 var(--lc-s5); max-width: none; }
.lc-entry-row { position: relative; display: flex; align-items: stretch; gap: var(--lc-s2); }
.lc-entry-box {
  position: relative; flex: 1 1 auto; min-width: 0; display: flex; align-items: stretch;
  border: 1px solid var(--lc-rule-2); border-radius: var(--lc-radius); background: var(--lc-paper);
}
.lc-entry-box > input[type="search"] {
  flex: 1 1 12rem; min-width: 0; min-height: 48px; border: 0; border-radius: var(--lc-radius) 0 0 var(--lc-radius);
  padding: 0 var(--lc-s4); font: 1rem/1.3 var(--lc-sans); background: transparent; color: var(--lc-ink);
}
.lc-entry-box > select.lc-scope {
  flex: 0 1 220px; min-width: 0; max-width: 240px; min-height: 48px; border: 0; border-left: 1px solid var(--lc-rule);
  border-radius: 0 var(--lc-radius) var(--lc-radius) 0; padding: 0 var(--lc-s3); background: transparent; color: var(--lc-ink); font: var(--lc-ui)/1.3 var(--lc-sans);
}
.lc-doc .lc-entry .lc-entry-go { min-height: 50px; padding: 0 var(--lc-s5); font: 600 0.9375rem/1 var(--lc-sans); white-space: nowrap; }
.lc-entry .lc-help-dd > summary { width: 50px; min-height: 50px; }
.lc-entry .lc-suggest { top: calc(100% + 2px); }
.lc-entry-more { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s2) var(--lc-s4); margin-top: var(--lc-s3); }
.lc-types { display: flex; flex-wrap: wrap; gap: 6px; border: 0; margin: 0; padding: 0; min-width: 0; }
.lc-type { position: relative; display: inline-flex; }
.lc-type input { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.lc-type span {
  display: inline-flex; align-items: center; min-height: 32px; padding: 0 var(--lc-s3); border-radius: 5px; border: 1px solid transparent;
  color: var(--lc-ink-2); font: var(--lc-ui)/1.2 var(--lc-sans); cursor: pointer; white-space: nowrap;
}
.lc-type span:hover { border-color: var(--lc-rule); color: var(--lc-ink); }
.lc-type input:checked + span { background: var(--lc-accent-soft); color: var(--lc-accent); font-weight: 600; }
.lc-type input:focus-visible + span { outline: 2px solid var(--lc-accent); outline-offset: 2px; }
.lc-advanced > summary { cursor: pointer; color: var(--lc-accent); font: var(--lc-ui)/1.3 var(--lc-sans); padding: 6px var(--lc-s1); }
.lc-advanced[open] { flex: 1 1 100%; }
.lc-advanced-in {
  display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: var(--lc-s3) var(--lc-s4);
  margin-top: var(--lc-s2); padding: var(--lc-s4); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); background: var(--lc-bg);
}
.lc-advanced-in label { display: flex; flex-direction: column; gap: var(--lc-s1); color: var(--lc-ink-2); font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-advanced-in input, .lc-advanced-in select { width: 100%; min-height: 36px; }
.lc-doc p.lc-advanced-note { grid-column: 1 / -1; margin: 0; font: var(--lc-tiny)/1.45 var(--lc-sans); color: var(--lc-ink-2); max-width: none; }

/* The law centers: one box of names, in columns, row by row. */
.lc-centers { border: 1px solid var(--lc-rule); border-radius: var(--lc-radius-lg); background: var(--lc-paper); padding: var(--lc-s4) var(--lc-s5) var(--lc-s3); margin: 0 0 var(--lc-s6); }
.lc-doc .lc-centers h2 { font: 600 1.0625rem/1.3 var(--lc-sans); margin: 0 0 var(--lc-s2); }
.lc-doc ul.lc-centers-list {
  list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr));
  column-gap: var(--lc-s5); row-gap: 2px;
}
.lc-doc .lc-centers-list li { max-width: none; padding: 0; font: var(--lc-prose)/1.4 var(--lc-sans); }
.lc-centers-list a { display: inline-block; padding: 8px 0; overflow-wrap: anywhere; font-weight: 500; }
.lc-centers-closed { font: 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); }

/* Continue your research: the newest rows of History (part 36, D5). */
.lc-continue { margin: var(--lc-s6) 0 0; padding-top: var(--lc-s4); border-top: 1px solid var(--lc-rule); }
.lc-doc .lc-continue > h2 { font: 600 1.0625rem/1.3 var(--lc-sans); margin: 0 0 var(--lc-s3); }

/* The door (part 36, D13): one line and a bar the script fills. */
.lc-door-bar { height: 6px; border-radius: 3px; background: var(--lc-rule); overflow: hidden; max-width: 36em; margin: var(--lc-s4) 0; }
.lc-door-bar span { display: block; height: 100%; width: 0; background: var(--lc-accent); transition: width 0.2s linear; }

/* History: rows of time, kind, link and ×, under a day's heading. */
.lc-doc ol.lc-history { list-style: none; padding: 0; margin: 0 0 var(--lc-s4); max-width: none; }
.lc-history-row { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--lc-s1) var(--lc-s3); padding: 6px 0; border-top: 1px solid var(--lc-rule); font: var(--lc-ui)/1.45 var(--lc-sans); }
.lc-history-row:first-child { border-top: 0; }
.lc-history-time { flex: 0 0 5.5em; color: var(--lc-ink-2); font-variant-numeric: tabular-nums; font-size: var(--lc-tiny); }
.lc-history-row .lc-kind { flex: 0 0 6.5em; }
.lc-history-row a { flex: 1 1 16em; min-width: 0; overflow-wrap: anywhere; }
.lc-history-n { color: var(--lc-ink-2); font-size: var(--lc-tiny); }
.lc-history-x { flex: 0 0 auto; }
.lc-history-day { margin: var(--lc-s5) 0 0; }
.lc-doc .lc-history-day h2 { display: inline; font: 600 1.0625rem/1.3 var(--lc-sans); margin: 0 var(--lc-s3) 0 0; }
.lc-history-tools { display: flex; flex-wrap: wrap; align-items: flex-end; gap: var(--lc-s2) var(--lc-s3); margin: 0 0 var(--lc-s3); }
.lc-history-tools label { display: block; font: var(--lc-tiny)/1.4 var(--lc-sans); color: var(--lc-ink-2); }
.lc-history-tools input { min-width: min(100%, 22em); min-height: 36px; }
@media (max-width: 600px) { .lc-history-time, .lc-history-row .lc-kind { flex-basis: auto; } }

/* The results: the heading, the count under it, Sort and the tools. */
.lc-count-bar { align-items: flex-end; row-gap: var(--lc-s2); padding-bottom: var(--lc-s3); }
.lc-count-head { flex: 1 1 100%; min-width: 0; }
.lc-doc h1.lc-results-title { font: 600 1.5rem/1.25 var(--lc-sans); letter-spacing: -0.01em; margin: 0; overflow-wrap: anywhere; text-wrap: balance; }
/* One line under the heading (part 40, D2): the count, Sort, and More at
 * the right, the heading a line of its own over them. */
.lc-count-bar > .lc-count-head { display: contents; }
.lc-count-bar > .lc-count-head > .lc-results-title { flex: 1 1 100%; min-width: 0; }
.lc-doc .lc-count-bar .lc-count-line { margin: 0; }
.lc-doc p.lc-count-line { font: var(--lc-ui)/1.45 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s1) 0 0; max-width: none; }
.lc-count-cap { color: var(--lc-ink-2); }
/* The sections the found decisions cite, under the count (part 41, D14). */
.lc-doc p.lc-count-cited { font: var(--lc-ui)/1.45 var(--lc-sans); color: var(--lc-ink-2); margin: var(--lc-s1) 0 0; max-width: none; flex: 1 1 100%; }
.lc-rows .lc-r-found { color: var(--lc-ink); }
.lc-doc p.lc-dropped {
  font: var(--lc-ui)/1.45 var(--lc-sans); padding: var(--lc-s2) var(--lc-s3); margin: var(--lc-s3) 0;
  border-left: 4px solid var(--lc-accent); background: var(--lc-accent-soft); border-radius: 0 var(--lc-radius) var(--lc-radius) 0;
}
.lc-search-cols { grid-template-columns: minmax(0, 1fr) 260px; gap: 0 var(--lc-s6); }
.lc-rows > li { padding: 20px 0; }
.lc-doc .lc-rows p.lc-r-kind, .lc-preview .lc-r-kind {
  font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.07em; margin: 0 0 var(--lc-s1);
}
.lc-rows .lc-r-title { color: var(--lc-accent); }
.lc-doc .lc-rows p.lc-r-line { font: var(--lc-tiny)/1.5 var(--lc-sans); margin-top: var(--lc-s1); }
.lc-doc .lc-rows p.lc-snippet { margin-top: var(--lc-s2); }
.lc-doc .lc-rows p.lc-r-tools { gap: var(--lc-s1) var(--lc-s4); font-size: var(--lc-tiny); margin-top: var(--lc-s3); }
.lc-r-tools .lc-r-more, .lc-r-tools .lc-r-add, .lc-r-tools .lc-r-copy { font-size: var(--lc-tiny); }
/* A row's tools appear when the row is hovered or reached by the keyboard
 * (part 40, D3): opacity, never display, so the buttons stay in the tab
 * order and the rows keep their height; always on a screen without hover. */
.lc-doc .lc-rows p.lc-r-tools { opacity: 0; transition: opacity 120ms; }
.lc-rows > li:hover p.lc-r-tools, .lc-rows > li:focus-within p.lc-r-tools { opacity: 1; }
@media (hover: none) { .lc-doc .lc-rows p.lc-r-tools { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .lc-doc .lc-rows p.lc-r-tools { transition: none; } }
.lc-flag-pill.lc-r-unanalyzed { font-weight: 600; }

/* The foot: its links first, then the disclaimer and the attribution, quiet. */
.lc-foot { background: transparent; border-top: 1px solid var(--lc-rule); margin-top: var(--lc-s7); }
.lc-foot-in { max-width: var(--lc-wide); padding: var(--lc-s5) var(--lc-gutter) var(--lc-s6); font: 0.75rem/1.55 var(--lc-sans); color: var(--lc-ink-2); }
.lc-foot-links { gap: var(--lc-s1) var(--lc-s5); margin: 0 0 var(--lc-s3); font-size: var(--lc-tiny); }
.lc-foot-in p.lc-foot-lead { color: var(--lc-ink); }

@media (max-width: 1199px) {
  :root { --lc-rail: 280px; }
  .lc-search-cols { grid-template-columns: minmax(0, 1fr) 220px; gap: 0 var(--lc-s5); }
}
@media (max-width: 960px) {
  .lc-nav { flex: none; order: 0; padding-bottom: 0; overflow-x: visible; flex-wrap: nowrap; }
}
@media (max-width: 760px) {
  :root { --lc-gutter: 16px; }
  .lc-doc { padding: var(--lc-s5) var(--lc-s4); }
  .lc-top-in { padding: 10px var(--lc-gutter) 4px; }
  .lc-mono { width: 34px; height: 34px; font-size: 1.125rem; }
  .lc-saved { padding: 0 var(--lc-s2); }
  .lc-nav-in { gap: var(--lc-s4); }
  .lc-entry-row { flex-wrap: wrap; }
  .lc-entry-box { flex: 1 1 100%; flex-wrap: wrap; }
  .lc-entry-box > input[type="search"] { flex: 1 1 100%; border-radius: var(--lc-radius) var(--lc-radius) 0 0; }
  .lc-entry-box > select.lc-scope { flex: 1 1 100%; max-width: none; min-height: 44px; border-left: 0; border-top: 1px solid var(--lc-rule); border-radius: 0 0 var(--lc-radius) var(--lc-radius); }
  .lc-doc .lc-entry .lc-entry-go { flex: 1 1 auto; min-height: 44px; }
  .lc-entry .lc-help-dd > summary { min-height: 44px; width: 44px; }
  .lc-entry .lc-help-dd[open] { flex-basis: auto; }
  .lc-entry .lc-help-panel { position: absolute; left: 0; right: 0; }
  .lc-type span { min-height: 40px; }
  .lc-centers { padding: var(--lc-s3) var(--lc-s4); }
  .lc-centers-list a { padding: 10px 0; }
  .lc-search-cols, .lc-search-cols.lc-nofacets { grid-template-columns: minmax(0, 1fr); }
  .lc-doc h1.lc-results-title { font-size: 1.25rem; }
}
@media (pointer: coarse) {
  .lc-nav a, .lc-center-links a { padding-top: 12px; padding-bottom: 11px; }
}
@media print {
  .lc-nav, .lc-center-bar, .lc-saved, .lc-entry, .lc-centers, .lc-continue, .lc-dropped { display: none !important; }
  .lc-doc { border: 0; }
  .lc-r-kind { color: #000000; }
}
/* The search entry as the app draws it: the same box, Fluent's buttons
   made to look as the server's controls do. */
.lc-front .lc-doc { width: 100%; }
.lc-app .lc-entry-row > .fui-Button.lc-entry-go { min-height: 50px; padding: 0 var(--lc-s5); }
.lc-app .lc-types .fui-Button {
  min-width: 0; min-height: 32px; padding: 0 var(--lc-s3); border-radius: 5px; font: 400 var(--lc-ui)/1.2 var(--lc-sans); color: var(--lc-ink-2);
}
.lc-app .lc-types .fui-Button[aria-pressed="true"] { background: var(--lc-accent-soft); color: var(--lc-accent); font-weight: 600; }
.lc-app .lc-entry-more > .fui-Button.lc-advanced-btn { min-width: 0; padding: 0 var(--lc-s1); color: var(--lc-accent); font: var(--lc-ui)/1.3 var(--lc-sans); }
.lc-app .lc-advanced-in { flex: 1 1 100%; }
.lc-doc p.lc-advanced-go { grid-column: 1 / -1; margin: 0; }
@media (max-width: 760px) {
  .lc-app .lc-entry-row > .fui-Button.lc-entry-go { flex: 1 1 auto; min-height: 44px; }
}
/* A document's toolbar (part 30, D10 and D11): quiet buttons and links in
   a row under the head; the Find in document box under it. */
.lc-doc-tools { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s2); margin: var(--lc-s4) 0 0; }
.lc-doc .lc-doc-tools .lc-btn-quiet, .lc-doc-tools a.lc-tool-link {
  display: inline-flex; align-items: center; min-height: 34px; padding: 0 var(--lc-s3); border-radius: 5px; box-sizing: border-box;
  font: var(--lc-ui)/1.2 var(--lc-sans); color: var(--lc-accent); background: var(--lc-paper); border: 1px solid var(--lc-rule-2);
}
.lc-doc-tools a.lc-tool-link:hover, .lc-doc .lc-doc-tools .lc-btn-quiet:hover { text-decoration: none; border-color: var(--lc-accent); background: var(--lc-accent-soft); }
.lc-doc .lc-doc-tools .lc-btn-quiet:disabled { color: var(--lc-ink-2); cursor: default; background: var(--lc-paper); }
/* Tools (part 40, D11): one menu holding what a reader does with the
 * document, its list under its summary, each item full width. */
.lc-doc-menu { position: relative; }
.lc-doc .lc-doc-menu > summary { list-style: none; cursor: pointer; }
.lc-doc .lc-doc-menu > summary::-webkit-details-marker { display: none; }
.lc-doc .lc-doc-menu > summary::after { content: "\25BE"; margin-left: var(--lc-s2); color: var(--lc-ink-2); }
.lc-doc-menu > ul {
  position: absolute; top: calc(100% + 4px); left: 0; z-index: 5; min-width: 220px; margin: 0; padding: var(--lc-s1) 0; list-style: none;
  background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); box-shadow: var(--lc-shadow);
}
.lc-doc .lc-doc-menu > ul > li { padding: 6px 14px; max-width: none; }
.lc-doc-menu > ul > li:has(> [hidden]) { display: none; }
.lc-doc .lc-doc-menu > ul .lc-btn-quiet, .lc-doc-menu > ul a.lc-tool-link { width: 100%; justify-content: flex-start; text-align: left; }
.lc-doc-menu > ul form { display: flex; flex-direction: column; gap: var(--lc-s1); margin: 0; }
/* Similar decisions at the right end of the tabs' line (part 40, D11). */
.lc-tabs .lc-tab-aside { margin-left: auto; }
.lc-find { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s2); margin: var(--lc-s3) 0 0; padding: var(--lc-s3); border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); background: var(--lc-bg); }
.lc-find[hidden] { display: none; }
.lc-find label { font: var(--lc-ui)/1.3 var(--lc-sans); color: var(--lc-ink-2); }
.lc-find input[type="search"] { flex: 1 1 14rem; min-width: 0; }
.lc-doc-tools + .lc-tabnav .lc-tabs, .lc-find + .lc-tabnav .lc-tabs { margin-top: var(--lc-s4); }
.lc-tabs { gap: var(--lc-s5); }
.lc-tabs a { padding: var(--lc-s2) 0 10px; border-bottom-width: 3px; color: var(--lc-ink-2); }
.lc-tabs a:hover { color: var(--lc-accent); text-decoration: none; }
/* Check citations: the groups. */
.lc-check-group { margin-top: var(--lc-s5); }
.lc-doc .lc-check-group h3 { margin: 0 0 var(--lc-s2); }
.lc-check-group[data-lc-check-group="attention"] h3 { color: var(--lc-flag-yellow); }
/* Topics: each center's branches in columns. */
.lc-doc ul.lc-topic-branches { list-style: none; padding: 0; margin: var(--lc-s2) 0 var(--lc-s5); columns: 2 18rem; column-gap: var(--lc-s6); }
.lc-doc .lc-topic-branches li { break-inside: avoid; padding: 4px 0; max-width: none; }
/* Saved research: an item's kind, and its Move up, Move down and Remove. */
.lc-binder-item .lc-r-kind { font: 600 0.75rem/1.3 var(--lc-sans); color: var(--lc-ink-2); text-transform: uppercase; letter-spacing: 0.07em; margin: 0 0 var(--lc-s1); }
.lc-binder-item h2 { margin-top: 0; }
.lc-doc p.lc-binder-tools { display: flex; flex-wrap: wrap; gap: var(--lc-s1) var(--lc-s4); margin: var(--lc-s3) 0 0; font: var(--lc-tiny)/1.4 var(--lc-sans); }
.lc-doc p.lc-binder-tools[hidden] { display: none; }
.lc-binder-tools button:disabled { color: var(--lc-ink-2); cursor: default; text-decoration: none; }
.lc-doc p.lc-keep { display: flex; flex-wrap: wrap; gap: var(--lc-s2); }
@media print {
  .lc-doc-tools, .lc-find, .lc-binder-tools { display: none !important; }
}
/* Back to results, on the page a result opened (part 30, D13). */
.lc-doc p.lc-return { margin: 0 0 var(--lc-s3); font: var(--lc-ui)/1.4 var(--lc-sans); }
.lc-doc p.lc-return a::before { content: "\2039\00a0"; }
@media print { .lc-return { display: none !important; } }
/* The court's and the Legislature's words keep the serif at 18 px over the
   document's sans paragraphs (part 30): written after .lc-doc p and
   weightier than it. */
.lc-doc .lc-opinion p, .lc-doc .lc-opinion .lc-p, .lc-doc .lc-statute p, .lc-doc .lc-statute .lc-sub,
.lc-doc .lc-opinion blockquote p, .lc-preview-body .lc-preview-p {
  font: var(--lc-text)/var(--lc-leading) var(--lc-serif); max-width: var(--lc-text-measure);
}
.lc-doc .lc-opinion h3.lc-op-h, .lc-doc .lc-opinion h3.lc-op-part { font-family: var(--lc-sans); }
.lc-doc .lc-footnotes li, .lc-doc .lc-footnotes p { font: 1rem/1.65 var(--lc-serif); }
.lc-doc .lc-opinion .lc-p[data-part="caption"] { font: var(--lc-ui)/1.5 var(--lc-sans); }
/* Lists drawn as rows, chips, cards or tabs keep no indent of their own:
   .lc-doc ul's padding (above) is for running lists. */
.lc-doc ul.lc-tabs, .lc-doc ul.lc-chips, .lc-doc ul.lc-grid, .lc-doc ul.lc-cited-by, .lc-doc ul.lc-recent-citing,
.lc-doc ul.lc-areas, .lc-doc ul.lc-list, .lc-doc ol.lc-list, .lc-doc ul.lc-acts { padding-left: 0; }

/* Part 35: editorial analysis in every research view. */
.lc-research-summary { margin: .7rem 0; font-size: 15px; line-height: 1.55; }
.lc-research-summary > summary { list-style: none; cursor: pointer; }
.lc-research-excerpt { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.lc-research-toggle { display: inline-block; margin-top: .25rem; text-decoration: underline; }
.lc-research-summary[open] .lc-research-excerpt, .lc-research-summary[open] .lc-research-toggle { display: none; }
.lc-research-summary[open] > summary::after { content: 'Hide full summary'; text-decoration: underline; }
.lc-research-holdings > li { margin: 1.5rem 0; scroll-margin-top: 5rem; }
.lc-research-issues { font-size: 14px; overflow-wrap: anywhere; }
.lc-research-summary > summary:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

@media (min-width: 960px) {
  .lc-with-preview .lc-search-cols { margin-right: 43vw; display: block; }
  .lc-with-preview .lc-facets { display: none; }
  .lc-with-preview .lc-preview { position: fixed; top: 5rem; right: 1rem; width: 41vw; height: calc(100vh - 6rem); z-index: 20; border: 1px solid var(--lc-rule); background: var(--lc-paper); }
}

/* Part 37: quotations and compact research history. */
.lc-copycite { max-width: calc(100vw - 24px); display: flex; flex-wrap: wrap; gap: var(--lc-s1); }
.lc-copycite[hidden] { display: none; }
.lc-copycite button { font: inherit; }
.lc-continue > summary { font: 600 1.0625rem/1.3 var(--lc-sans); cursor: pointer; }
.lc-continue > summary::marker { color: var(--lc-ink-2); }
.lc-history-compact .lc-history-row { display: grid; grid-template-columns: 5.5em 6em 1fr; gap: var(--lc-s2); }
.lc-history-compact a { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 48ch; }
@media (max-width: 640px) { .lc-history-compact .lc-history-row { grid-template-columns: 5.5em 1fr; } .lc-history-compact a { grid-column: 1 / -1; } }

.lc-app .lc-years label { margin: 0; }
.lc-top-tools { flex-wrap: wrap; }
.lc-account-form { display: grid; gap: var(--lc-s2); margin: var(--lc-s3) 0; }
.lc-account-form label { display: grid; gap: var(--lc-s1); }
.lc-account-form input, .lc-account-form textarea, .lc-account-form select { font: inherit; max-width: 100%; }
.lc-doc-tools form { display: flex; flex-wrap: wrap; align-items: center; gap: var(--lc-s1); }
.lc-top-tools form { display: flex; align-items: center; gap: var(--lc-s1); font-size: var(--lc-tiny); }
/* Reading and discovery: shared by statute, opinion and search pages. */
.lc-search-start { margin: 1rem 0 1.5rem; color: var(--lc-ink-2); font: var(--lc-ui)/1.65 var(--lc-sans); }
.lc-search-start a { display: inline-block; padding-block: .3rem; }
.lc-section-actions, .lc-section-neighbours, .lc-reading-tools { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem 1rem; margin-block: 1rem; font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-section-actions { padding: 1rem; background: var(--lc-accent-soft); border-radius: var(--lc-radius); }
.lc-section-neighbours { justify-content: space-between; padding-block: 1rem; border-block: 1px solid var(--lc-rule); }
.lc-reading-tools[hidden], .lc-table-search[hidden], .lc-authorities tr[hidden] { display: none; }
.lc-reading-tools button[aria-pressed="true"] { background: var(--lc-accent-soft); border-color: var(--lc-accent); font-weight: 700; }
.lc-reading-large .lc-statute, .lc-reading-large .lc-opinion { font-size: 1.3rem; line-height: 1.8; }
.lc-doc > #lc-outline { margin-block: 1rem; max-height: 16rem; overflow: auto; }
.lc-doc > #lc-outline h2 { margin: 0 0 .75rem; font-size: 1rem; }
.lc-statute .lc-sub { margin-bottom: 1rem; }
.lc-statute .lc-sub:target { background: var(--lc-accent-soft); box-shadow: -4px 0 var(--lc-accent); }
.lc-statute .lc-sub, .lc-opinion [id] { scroll-margin-top: 6rem; }
.lc-statute .lc-sub-link, .lc-statute .lc-pin-link { position: static; font: .8rem/1.5 var(--lc-sans); color: var(--lc-accent); opacity: 1; padding: .25rem; white-space: nowrap; }
.lc-table-search { margin-block: 1rem; padding: 1rem; border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); }
.lc-table-search label { display: block; font-weight: 600; margin-bottom: .5rem; }
.lc-table-search input { max-width: 100%; margin: 0 .5rem .5rem 0; }
.lc-authority-guide { font: var(--lc-ui)/1.6 var(--lc-sans); margin-block: 1rem; }
.lc-back-top { margin-top: 2rem; font: var(--lc-ui)/1.5 var(--lc-sans); }
.lc-doc, .lc-rail, .lc-search-main { min-width: 0; overflow-wrap: anywhere; }
.lc-reading-tools button:focus-visible, .lc-section-actions a:focus-visible, .lc-sub-link:focus-visible { outline: 2px solid var(--lc-accent); outline-offset: 3px; }
@media (pointer: coarse) {
  .lc-opinion .lc-pmark { position: static; display: inline-block; opacity: 1; margin-right: .5rem; padding: .5rem; }
  .lc-tabs a, .lc-pager a, .lc-section-actions a, .lc-section-neighbours a, .lc-reading-tools button { min-height: 44px; padding-block: .65rem; box-sizing: border-box; }
}
@media (max-width: 640px) {
  .lc-statute .lc-sub[data-level="2"] { margin-left: .5em; }
  .lc-statute .lc-sub[data-level="3"] { margin-left: 1em; }
  .lc-statute .lc-sub[data-level="4"] { margin-left: 1.5em; }
  .lc-section-neighbours a { flex: 1 1 100%; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  .lc-main *, .lc-main *::before, .lc-main *::after { animation: none !important; transition: none !important; }
}
@media print {
  .lc-reading-tools, .lc-section-actions, .lc-section-neighbours, .lc-sub-link, .lc-table-search, .lc-back-top, .lc-doc > #lc-outline { display: none !important; }
  .lc-authorities tr[hidden] { display: table-row; }
}

/* Filter usability: deliberate controls, stable groups and a mobile apply footer. */
.lc-filter-help { color: var(--lc-ink-2); font: 13px/1.55 var(--lc-sans); margin: .5rem 0; }
.lc-filter-options { list-style: none; margin: .5rem 0; padding: 0; }
.lc-app .lc-facet .lc-filter-options > li { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; gap: .6rem; align-items: center; margin: .4rem 0; padding: .35rem 0; }
.lc-filter-option-name { overflow-wrap: anywhere; font: 14px/1.45 var(--lc-sans); }
.lc-filter-matches { display: block; color: var(--lc-ink-2); font-size: 12px; }
.lc-filter-options select, .lc-parameter-words input, .lc-parameter-words select { width: 100%; min-width: 0; padding: .55rem; border: 1px solid var(--lc-rule); border-radius: 4px; background: var(--lc-paper); color: var(--lc-ink); font: inherit; }
.lc-filter-find { display: grid; gap: .4rem; margin: .5rem 0; }
.lc-filter-radios { display: grid; gap: .25rem; }
.lc-filter-radios label { display: flex; align-items: center; gap: .65rem; padding: .55rem 0; font: 14px/1.5 var(--lc-sans); }
.lc-filter-radios input { width: 18px; height: 18px; flex: 0 0 auto; }
.lc-filter-footer { flex-shrink: 0; display: flex; flex-wrap: wrap; gap: .5rem; border-top: 1px solid var(--lc-rule); background: var(--lc-paper); padding-bottom: max(1rem, env(safe-area-inset-bottom)); }
.lc-filter-summary { width: 100%; font-weight: 600; }
.lc-filter-feedback { font: 14px/1.5 var(--lc-sans); margin: .5rem 0; }
.lc-filter-error { padding: .75rem; border: 1px solid var(--lc-rule); background: var(--lc-accent-soft); margin-block: .75rem; }
.lc-search-parameters { margin: 1rem 0; padding: 1rem; border: 1px solid var(--lc-rule); border-radius: var(--lc-radius); background: var(--lc-paper); }
.lc-parameter-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; }
.lc-parameter-heading h2 { margin: 0; font: 600 1.05rem/1.4 var(--lc-sans); }
.lc-parameter-words { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .75rem; }
.lc-parameter-words label { display: grid; gap: .35rem; font: 14px/1.5 var(--lc-sans); }
.lc-parameter-actions { display: flex; justify-content: flex-end; flex-wrap: wrap; gap: .5rem; padding-top: 1rem; }
.lc-app .lc-search-parameters .lc-facets { display: block; width: auto; margin: 0; }
.lc-app .lc-search-parameters .lc-facets-in { position: static; max-height: none; overflow: visible; }
.lc-search-parameters .lc-rail-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; align-items: start; }
.lc-parameters > summary { font: 600 1rem/1.5 var(--lc-sans); padding: .75rem 0; }
.lc-filter-options select:focus-visible, .lc-parameter-words input:focus-visible, .lc-filter-radios input:focus-visible { outline: 2px solid var(--lc-accent); outline-offset: 3px; }
@media (max-width: 959px) {
  .lc-search-parameters .lc-rail-groups, .lc-parameter-words { grid-template-columns: minmax(0, 1fr); }
  .lc-filter-options select, .lc-filter-radios label, .lc-filter-footer button, .lc-parameter-actions button { min-height: 44px; }
  .lc-filter-options select, .lc-parameter-words input, .lc-parameter-words select, .lc-rail-drawer input { font-size: 16px; }
  .lc-app-chips { max-width: 100%; }
  .lc-app-chips .fui-TagGroup { flex-wrap: wrap; }
  .lc-app-chips .fui-Tag { max-width: 100%; height: auto; min-height: 36px; white-space: normal; }
  .lc-parameter-heading { flex-wrap: wrap; }
  .lc-rail-drawer .fui-DrawerBody { min-height: 0; overflow-y: auto; }
}

.lc-facets .lc-filter-radios label { flex-direction: row; align-items: center; color: var(--lc-ink); }
.lc-rail-drawer .lc-facet .lc-filter-options > li { display: grid; grid-template-columns: minmax(0, 1fr) 6.5rem; gap: .6rem; align-items: center; margin: .4rem 0; }

/* Research workspace and consistent citing controls. */
.lc-journey{margin:0 0 1.2rem;border:1px solid var(--lc-rule);border-radius:8px;padding:.7rem 1rem;background:var(--lc-paper,#fff)}
.lc-journey-heading,.lc-journey-actions{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.lc-journey-heading p{flex:1;margin:.2rem 0}.lc-journey summary,.lc-citing-editor>summary{cursor:pointer;font-weight:600;padding:.5rem 0}
.lc-journey-panel{display:grid;gap:.8rem;padding-top:.8rem}.lc-journey-panel label,.lc-citing-draft label{display:grid;gap:.3rem}.lc-journey-panel input,.lc-journey-panel textarea,.lc-journey-panel select,.lc-citing-draft input,.lc-citing-draft select{font:inherit;max-width:100%;min-width:0;padding:.5rem;border:1px solid var(--lc-rule-2);border-radius:4px;background:var(--lc-paper,#fff);color:inherit}
.lc-journey button,.lc-citing-editor button{min-height:40px}.lc-journey a:focus-visible,.lc-journey button:focus-visible,.lc-citing-editor summary:focus-visible{outline:3px solid var(--lc-accent);outline-offset:3px}
.lc-research-compare,.lc-citing-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.lc-research-compare article,.lc-quote-review{border:1px solid var(--lc-rule-2);padding:1rem;border-radius:6px;overflow-wrap:anywhere}.lc-research-compare blockquote{margin:.6rem 0}.lc-quote-review textarea{width:100%}.lc-research-found{box-shadow:inset 4px 0 var(--lc-accent);background:var(--lc-mark);color:var(--lc-ink)}
.lc-citing-editor{border:1px solid var(--lc-rule-2);border-radius:6px;padding:.7rem;margin:1rem 0}.lc-citing-draft{display:grid;gap:.8rem}.lc-citing-preview>div{max-height:26rem;overflow:auto;padding:.8rem;border:1px solid var(--lc-rule-2)}.lc-citation-sample{margin:.5rem 0}.lc-citation-sample summary{cursor:pointer}.lc-query-explanation{margin:.7rem 0}.lc-research-mobile{display:none}
@media(min-width:761px){.lc-search-cols>.lc-citing-editor{grid-column:2;grid-row:2 / span 4}.lc-citing-draft{grid-template-columns:repeat(2,minmax(0,1fr))}.lc-citing-draft>p,.lc-citing-draft>.lc-journey-actions{grid-column:1 / -1}}
@media(max-width:760px){.lc-research-compare,.lc-citing-preview{grid-template-columns:1fr}.lc-journey-heading{align-items:flex-start}.lc-journey-heading p{font-size:.85rem}.lc-research-mobile{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:35;justify-content:space-around;align-items:center;background:var(--lc-paper,#fff);border-top:1px solid var(--lc-rule-2);padding:.4rem .5rem calc(.4rem + env(safe-area-inset-bottom))}.lc-research-mobile a,.lc-research-mobile button{font-size:.85rem;min-height:44px;display:flex;align-items:center}.lc-foot{padding-bottom:5rem}.lc-citing-editor>summary{min-height:44px}.lc-citing-draft{max-height:70vh;overflow:auto;padding:.3rem}.lc-citing-draft>.lc-journey-actions{position:sticky;bottom:0;background:var(--lc-paper,#fff);padding:.6rem 0}}
@media print{.lc-journey,.lc-citing-editor,.lc-research-mobile{display:none!important}}
.lc-selection-review{position:fixed;bottom:1.2rem;right:1.2rem;z-index:50;max-width:90vw;background:var(--lc-accent);color:var(--lc-on-accent);border:1px solid var(--lc-accent);border-radius:6px;padding:.8rem;font:inherit;cursor:pointer}.lc-selection-review:focus-visible{outline:3px solid var(--lc-accent-2);outline-offset:3px}@media(max-width:760px){.lc-selection-review{bottom:5rem}}
[data-lc-citing-filters][hidden],.lc-journey [hidden],.lc-selection-review[hidden],form.lc-within[hidden]{display:none!important}
/* Connected statute reader. Wide screens retain a contents column; phones
   disclose it in document flow so it never covers the provision or keyboard. */
.lc-code-layout { display: grid; grid-template-columns: minmax(240px, 280px) minmax(0, 1fr); gap: 24px; align-items: start; }
.lc-code-layout > .lc-cols { display: block; min-width: 0; }
.lc-code-layout .lc-doc { min-width: 0; }
.lc-code-layout .lc-rail { margin-top: 24px; display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.lc-code-side { position: sticky; top: 12px; min-width: 0; }
.lc-code-contents { background: var(--lc-paper); border: 1px solid var(--lc-rule); border-radius: 8px; padding: 12px; }
.lc-code-contents summary, .lc-code-tools summary, .lc-code-filters summary { cursor: pointer; padding: 12px 4px; min-height: 44px; box-sizing: border-box; }
.lc-code-contents summary { font-weight: 600; }
.lc-code-contents summary span { display: block; font-weight: normal; }
.lc-code-contents-body { font-size: .9rem; }
.lc-code-go label, .lc-code-search label, .lc-annotation-search label { display: block; margin: 8px 0; font-weight: 600; }
.lc-code-go div { display: flex; gap: 6px; margin-bottom: 12px; }
.lc-code-go input { min-width: 0; width: 100%; }
.lc-code-search input, .lc-annotation-search input { max-width: 100%; box-sizing: border-box; }
.lc-code-hierarchy { padding-left: 18px; }
.lc-code-switch input { width: 100%; box-sizing: border-box; }
.lc-code-switch ul { list-style: none; padding: 0; max-height: 35vh; overflow: auto; }
.lc-code-switch li a { display: block; padding: 12px 4px; }
.lc-code-path summary { overflow-wrap: anywhere; }
.lc-reading-controls { display: flex; flex-wrap: wrap; gap: 12px; padding: 16px; background: var(--lc-accent-soft); margin-block: 16px; }
.lc-reading-controls label { display: grid; gap: 6px; flex: 1 1 220px; }
.lc-reading-controls p { flex-basis: 100%; margin: 0; }
.lc-reading-controls input, .lc-reading-controls select { width: 100%; min-width: 0; }
.lc-reference-action { margin: 4px 8px; min-height: 44px; }
.lc-reference-preview { position: fixed; z-index: 1200; inset: 12px 12px 12px auto; width: min(46vw, 700px); box-sizing: border-box; padding: 20px; overflow: auto; background: var(--lc-paper); color: var(--lc-ink); border: 2px solid var(--lc-rule); box-shadow: 0 8px 40px #0004; }
.lc-reference-preview > div { white-space: pre-wrap; overflow-wrap: anywhere; line-height: 1.7; margin-top: 16px; }
.lc-reference-preview > button, .lc-reference-preview > a { display: inline-block; min-height: 44px; padding: 12px; box-sizing: border-box; }
.lc-version-toggle { display: none; }
@media (max-width: 800px) {
  .lc-code-layout .lc-chip { white-space: normal; overflow-wrap: anywhere; max-width: 100%; box-sizing: border-box; }
  .lc-reference-preview { inset: 0; width: 100%; padding: max(16px, env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) max(24px, env(safe-area-inset-bottom)) max(16px, env(safe-area-inset-left)); }
  .lc-code-hierarchy { list-style: none; padding: 0; }
  .lc-code-hierarchy a { display: block; padding: 12px 0; }
  .lc-version-toggle { display: grid; gap: 8px; margin-block: 16px; }
  .lc-version-toggle button[aria-pressed="true"] { border: 2px solid var(--lc-accent); }
  .lc-section-neighbours { display: grid; gap: 8px; }
  .lc-section-neighbours a { padding-block: 12px; overflow-wrap: anywhere; }
}
@media print {
  .lc-reading-controls, .lc-reference-preview, .lc-reference-action, .lc-version-toggle { display: none !important; }
  .lc-compare > [hidden] { display: block !important; }
}
.lc-code-hierarchy li { margin: 8px 0; }
.lc-code-sections { padding: 0; list-style: none; max-height: 38vh; overflow: auto; overscroll-behavior: contain; scroll-padding: 8px; }
.lc-code-sections li { margin: 0; border-top: 1px solid var(--lc-rule); }
.lc-code-sections a { display: block; padding: 12px 10px; min-height: 44px; box-sizing: border-box; text-decoration: none; overflow-wrap: anywhere; }
.lc-code-sections a span { display: block; color: var(--lc-ink-2); }
.lc-code-sections a[aria-current] { background: var(--lc-accent-soft); border-left: 3px solid var(--lc-accent); }
.lc-code-tabs .lc-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); padding: 0; gap: 0; }
.lc-code-tabs .lc-tabs li { min-width: 0; }
.lc-code-tabs .lc-tabs a { display: block; text-align: center; padding: 14px 4px; min-height: 44px; box-sizing: border-box; }
.lc-code-secondary { display: flex; flex-wrap: wrap; gap: 4px 16px; font-size: .85rem; }
.lc-code-secondary a { padding: 10px 0; }
.lc-code-tools { font-size: .85rem; border-bottom: 1px solid var(--lc-rule); }
.lc-code-coverage { margin: 10px 0; }
.lc-journey-heading:has(p[hidden]):has(a[hidden]) { display: none; }
.lc-code-layout #lc-chapter { display: none; }
.lc-code-annotation-link, .lc-annotation-status { padding: 12px; background: var(--lc-accent-soft); border-radius: 4px; }
.lc-holding { border-top: 1px solid var(--lc-rule); padding: 16px 0; scroll-margin-top: 20px; }
.lc-holding-note { padding: 12px; border-left: 3px solid var(--lc-rule-2); }
.lc-code-layout button, .lc-code-layout input, .lc-code-layout select { min-height: 44px; }
.lc-code-layout a:focus-visible, .lc-code-layout summary:focus-visible { outline: 3px solid var(--lc-accent); outline-offset: 3px; }
.lc-code-layout [hidden] { display: none !important; }
@media (max-width: 800px) {
  .lc-code-layout { display: block; }
  .lc-code-side { position: static; margin-bottom: 12px; }
  .lc-code-contents { padding: 4px 12px; }
  .lc-code-contents summary span { display: inline; margin-left: 8px; }
  .lc-code-sections { max-height: none; overflow: visible; }
  .lc-code-layout .lc-doc { padding: 18px 14px; }
  .lc-code-layout .lc-head h1 { font-size: 1.65rem; }
  .lc-code-layout .lc-head .lc-kicker { display: none; }
  .lc-code-layout .lc-head .lc-heading { font-size: 1rem; }
  .lc-code-layout .lc-tabs { margin-block: 12px; }
  .lc-code-layout .lc-code-secondary a:last-child { display: none; }
  .lc-code-layout .lc-code-secondary { gap: 12px; }
  body:has(.lc-code-layout) .lc-journey { padding: 8px 12px; margin-bottom: 12px; }
  .lc-code-layout .lc-tabnav { overflow: visible; }
  .lc-code-layout .lc-code-tabs a { font-size: .85rem; padding-inline: 1px; white-space: normal; }
  .lc-code-layout .lc-filters { display: grid; grid-template-columns: minmax(0, 1fr); }
  .lc-code-layout .lc-filters > * { min-width: 0; max-width: 100%; }
  .lc-code-layout .lc-compare, .lc-code-layout .lc-citing-preview { grid-template-columns: minmax(0, 1fr); }
  .lc-code-layout .lc-cited-by > li { padding: 16px 0; }
  .lc-code-layout .lc-cited-by a { display: inline-block; padding-block: 6px; overflow-wrap: anywhere; }
  body:has(.lc-code-layout) .lc-top-tools { gap: 8px; }
  body:has(.lc-code-layout) .lc-top-tools .lc-saved, body:has(.lc-code-layout) .lc-brand-center { display: none; }
  body:has(.lc-code-layout) .lc-research-mobile { display: none; }
  body:has(.lc-code-layout) .lc-crumbs { font-size: .75rem; }
}
@media print {
  .lc-code-layout { display: block; }
  .lc-code-side, .lc-code-tabs, .lc-code-secondary, .lc-code-tools, .lc-annotation-search { display: none; }
  .lc-code-layout .lc-holding[hidden], .lc-code-layout .lc-compare > [hidden] { display: block !important; }
}
