/* Quiet, document-oriented typography for public IMDG lookup and reading. */
:root {
  --ref-page: #fff;
  --ref-wash: #f6f8fb;
  --ref-line: #dce4ee;
  --ref-text: #172b44;
  --ref-muted: #4e6075;
  --ref-link: #1757a0;
  --ref-focus: #286ac0;
}
:root[data-theme="dark"] {
  --ref-page: #131f2e;
  --ref-wash: #19283a;
  --ref-line: #3b4c62;
  --ref-text: #eaf2ff;
  --ref-muted: #b3c4d9;
  --ref-link: #a8cdff;
  --ref-focus: #a8cdff;
}
:where(.reference-page, [data-imdg-workbench]) :is(a,button,input,select,summary):focus-visible {
  outline: 2px solid var(--ref-focus);
  outline-offset: 3px;
}
[data-imdg-workbench] body.is-home, [data-imdg-workbench] #view-home { background: var(--ref-page); }
[data-imdg-workbench] .nav { box-shadow: none; }
[data-imdg-workbench] .nav a.nl.cta.on { background: var(--navy); color: #fff; }
[data-imdg-workbench] #view-home:not(.is-search) .hero {
  background: var(--ref-wash);
  color: var(--ref-text);
  padding: clamp(45px,6vw,87px) 20px clamp(30px,3.5vw,50px);
  border-bottom: 1px solid var(--ref-line);
}
[data-imdg-workbench] #view-home:not(.is-search) .hero h1 {
  font: 700 clamp(28px,4.3vw,56px)/1.19 var(--sans);
  letter-spacing: -.035em;
  color: var(--ref-text);
}
[data-imdg-workbench] #view-home:not(.is-search) .hero .eyebrow {
  border: 0;
  padding: 0;
  background: none;
  border-radius: 0;
  color: var(--ref-link);
  font: 600 13px/1.5 var(--mono);
  letter-spacing: .025em;
  margin-bottom: 16px;
}
[data-imdg-workbench] #view-home:not(.is-search) .hero .eyebrow .dot { display: none; }
[data-imdg-workbench] #view-home:not(.is-search) .hero .sub { color: var(--ref-muted); line-height: 1.7; max-width: 580px; margin-inline: auto; }
[data-imdg-workbench] .search-row {
  border-radius: 8px;
  border: 1px solid #a4b4c8;
  box-shadow: none;
  max-width: 650px;
  padding: 5px 5px 5px 14px;
}
[data-imdg-workbench] .search-row:focus-within { outline: 2px solid var(--ref-focus); outline-offset: 2px; box-shadow: none; }
[data-imdg-workbench] .search-row input { letter-spacing: 0; border-radius: 5px; }
[data-imdg-workbench] .search-row button { background: var(--navy); border-radius: 5px; box-shadow: none; }
[data-imdg-workbench] .search-row button:hover { background: var(--navy2); }
[data-imdg-workbench] .search-row button:focus-visible { outline: 2px solid var(--ref-focus); outline-offset: 2px; }
[data-imdg-workbench] .search-row button:active { background: #12315b; transform: translateY(1px); }
[data-imdg-workbench] .hero .hot { max-width: 850px; gap: 7px 10px; }
[data-imdg-workbench] .hero .hot .chip {
  background: none;
  border: 1px solid transparent;
  border-radius: 5px;
  color: var(--ref-link);
  padding: 4px 6px;
  margin: 0;
}
[data-imdg-workbench] .hero .hot .chip b { color: inherit; }
[data-imdg-workbench] .hero .hot .chip:hover { border-color: var(--ref-line); transform: none; text-decoration: underline; }
[data-imdg-workbench] .hero .hot .hlabel { color: var(--ref-muted); }
[data-imdg-workbench] #view-home .sec-head { width: min(100% - 36px,960px); max-width: none; padding: 0; margin: 28px auto 8px; text-align: left; }
[data-imdg-workbench] #view-home .sec-head h2 { font: 700 17px/1.5 var(--sans); }
.reference-tools { width: min(100% - 36px,960px); margin: 0 auto 38px; display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); border-block: 1px solid var(--ref-line); }
.reference-tools a { display: grid; gap: 4px; padding: 13px 16px; color: var(--ref-text); text-decoration: none; min-width: 0; }
.reference-tools a:first-child { padding-inline-start: 0; }
.reference-tools a + a { border-inline-start: 1px solid var(--ref-line); }
.reference-tools a:hover { background: var(--ref-wash); color: var(--ref-link); }
.reference-tools a:hover strong { text-decoration: underline; text-underline-offset: 4px; }
.reference-tools strong { font-size: 14px; }
.reference-tools span { font-size: 12px; color: var(--ref-muted); }
[data-imdg-workbench]:not([data-theme="dark"]) body > footer {
  --foot-link: var(--ref-link);
  --mut: var(--ref-muted);
  background: var(--ref-wash);
  color: var(--ref-muted);
  border-top: 1px solid var(--ref-line);
}
[data-imdg-workbench]:not([data-theme="dark"]) footer :is(.foot-grid h5,.foot-sub .fs-text b) { color: var(--ref-text); }
[data-imdg-workbench]:not([data-theme="dark"]) footer :is(.foot-grid a,.foot-legal a) { color: var(--ref-link); }
[data-imdg-workbench]:not([data-theme="dark"]) footer :is(.foot-note,.foot-src,.foot-base,.foot-sub .fs-text span,.foot-sub .fs-msg) { color: var(--ref-muted); }
[data-imdg-workbench]:not([data-theme="dark"]) footer :is(.foot-legal,.foot-sub,.foot-base) { border-color: var(--ref-line); }
[data-imdg-workbench]:not([data-theme="dark"]) footer .fs-form input { border: 1px solid #a4b4c8; }
[data-imdg-workbench]:not([data-theme="dark"]) footer .fs-msg.ok { color: #1a7138; }
[data-imdg-workbench]:not([data-theme="dark"]) footer .fs-msg.warn { color: #8b4b1b; }
[data-imdg-workbench] #view-home.is-search .reference-tools { width: 100%; }
[data-imdg-workbench] #home-hits .hitlist { box-shadow: none; border-radius: 8px; }
[data-imdg-workbench] #home-hits .hitlist .un, [data-imdg-workbench] .search-open { color: var(--ref-link); }
[data-imdg-workbench] #home-hits .hitlist .h:hover { background: var(--ref-wash); }
[data-imdg-workbench] .search-name-primary { line-height: 1.55; }
[data-imdg-workbench] .search-name-secondary { margin-top: 4px; line-height: 1.55; }
[data-imdg-workbench] .search-facts { margin-top: 7px; }
[data-imdg-workbench] .detail-shell .detail-identity .v { text-wrap: pretty; }
[data-imdg-workbench] .detail-shell .detail-heading { margin-bottom: 10px; }
[data-imdg-workbench] .detail-shell .detail-actions { gap: 6px; }
[data-imdg-workbench] .detail-shell #r-guide:not([hidden]) { display: block; margin-bottom: 8px; color: var(--dr-muted); }
[data-imdg-workbench] .detail-shell #r-guide a { color: var(--dr-accent); text-underline-offset: 3px; }
.reference-page { --brand: var(--ref-link); --ink: var(--ref-text); --fg: var(--ref-text); --txt: var(--ref-text); --mut: var(--ref-muted); --line: var(--ref-line); --soft: var(--ref-wash); }
.reference-page :is(h1,h2,h3) { overflow-wrap: anywhere; }
.reference-page a { text-underline-offset: 3px; }
.reference-page.reference-en .hero { max-width: none; padding: clamp(20px,4vw,44px) 0; border-bottom: 1px solid var(--ref-line); }
.reference-page.reference-en .hero h1 { margin-bottom: 12px; max-width: 18em; }
.reference-page.reference-en .hero .intro { max-width: 41em; }
.reference-page.reference-en .search { max-width: 670px; margin-top: 18px; }
.reference-page.reference-en .hero .search button { background: #18395d; }
.reference-page.reference-en .lookup-results .hero { padding-top: 0; padding-bottom: 22px; margin-bottom: 25px; }
.reference-page.reference-en .lookup-results .hero :is(.intro,.muted) { display: none; }
.reference-page.reference-en :is(.featured li a,.class-grid a):hover { background: var(--ref-wash); border-color: #8ca5c4; }
.reference-page.reference-record .record-identity {
  border: 1px solid var(--ref-line); background: var(--ref-page);
  border-radius: 8px; padding: clamp(15px,3vw,25px); margin-bottom: 20px;
}
.reference-page.reference-record .record-identity h1 { font-size: clamp(21px,2.8vw,33px); font-weight: 700; }
.reference-page.reference-record .record-identity h1 span { display: block; margin-bottom: 6px; color: var(--ref-link); font-family: ui-monospace,monospace; }
.reference-page.reference-record .record-identity .badges { margin-bottom: 0; }
.reference-page.reference-record .record-anchors { display: flex; flex-wrap: wrap; gap: 4px 16px; padding: 7px 0; border-block: 1px solid var(--ref-line); margin-top: 18px; }
.reference-page.reference-record .record-anchors a { display: inline-flex; align-items: center; min-height: 32px; font-size: 13px; }
.reference-page.reference-record h2[id^="record-"] { scroll-margin-top: 18px; }
.reference-page.reference-kb .card { border-radius: 0; border: 0; border-bottom: 1px solid var(--ref-line); padding: 16px 0; margin: 0; }
.reference-page.reference-kb .list { border-top: 1px solid var(--ref-line); }
.reference-page.reference-article main { box-shadow: none; }
.reference-page.reference-kb .tags span { background: none; padding: 0 10px 0 0; }
.reference-page.reference-kb .tags span:nth-child(n+3) { display: none; }
.reference-page.reference-faq main, .reference-page.reference-legal .legal-body { border-radius: 8px; }
.reference-page.reference-quality header, .reference-page.reference-article header, .reference-page.reference-kb header, .reference-page.reference-faq header {
  background: var(--ref-wash); color: var(--ref-text); border-bottom: 1px solid var(--ref-line);
}
.reference-page.reference-quality header a, .reference-page.reference-article header a, .reference-page.reference-kb header a, .reference-page.reference-faq header a { color: var(--ref-text); }
@media(max-width:760px) {
  [data-imdg-workbench] #view-home:not(.is-search) .hero { padding: 38px 16px 24px; }
  [data-imdg-workbench] #view-home:not(.is-search) .search-row { flex-direction: row; gap: 4px; margin-top: 21px; padding: 5px; }
  [data-imdg-workbench] #view-home:not(.is-search) .search-row .ic { display: none; }
  [data-imdg-workbench] #view-home:not(.is-search) .search-row input { width: 0; min-width: 0; height: 44px; padding-inline: 8px; font-size: 16px; }
  [data-imdg-workbench] #view-home:not(.is-search) .search-row button { flex: none; width: auto; height: 44px; padding-inline: 16px; font-size: 15px; }
  .reference-tools { grid-template-columns: 1fr; }
  .reference-tools a { padding: 11px 0; }
  .reference-tools a + a { border-inline-start: 0; border-top: 1px solid var(--ref-line); }
  .reference-page.reference-en .header-inner { gap: 8px; }
  .reference-page.reference-en .header-inner nav { gap: 4px 13px; }
  .reference-page.reference-en .header-inner nav a { min-height: 30px; font-size: 12px; }
  .reference-page.reference-en .header-inner .brand span { display: none; }
}
@media(max-width:680px) {
  .reference-page.reference-classes table, .reference-page.reference-classes tbody { display: block; }
  .reference-page.reference-classes .class-table-heading { display: none; }
  .reference-page.reference-classes tr:not(.class-table-heading) {
    display: grid; grid-template-columns: repeat(2,minmax(0,1fr));
    margin-bottom: 10px; border: 1px solid var(--ref-line); border-radius: 6px; padding: 8px 11px;
  }
  .reference-page.reference-classes td { display: block; width: auto; border: 0; padding: 3px 0; overflow-wrap: anywhere; }
  .reference-page.reference-classes td:nth-child(-n+3) { grid-column: 1/-1; }
  .reference-page.reference-classes td:nth-child(n+4)::before { content: attr(data-label) " "; color: var(--ref-muted); }
}
@media print {
  .reference-page.reference-record .record-anchors { display: none; }
}

/* The lookup surface stays light and typographic. Keep one emphasis per area. */
[data-imdg-workbench] #view-home:not(.is-search) .hero {
  padding-top: clamp(38px,5vw,72px);
  padding-bottom: clamp(24px,3.5vw,48px);
}
[data-imdg-workbench] #view-home:not(.is-search) .hero h1 { font-size: clamp(28px,3.8vw,52px); }
[data-imdg-workbench] #view-home:not(.is-search) .hero .eyebrow { margin-bottom: 12px; }
[data-imdg-workbench] #view-home:not(.is-search) .hero .sub { margin-top: 10px; }
[data-imdg-workbench] #view-home:not(.is-search) .hero .hot { margin-top: 14px; }
[data-imdg-workbench] .reference-tools a { min-height: 64px; align-content: center; }
[data-imdg-workbench] .reference-tools a:active { background: var(--ref-line); }
[data-imdg-workbench] #home-search-title:focus:not(:focus-visible) { outline: none; }
[data-imdg-workbench] #home-hits .hitlist .h:active { background: var(--ref-line); }
[data-imdg-workbench] .detail-toc-toggle { display: none; }
[data-imdg-workbench] .detail-shell .detail-toc-toggle:focus-visible { box-shadow: none; outline: 2px solid var(--ref-focus); outline-offset: 2px; }
[data-imdg-workbench] .detail-toc-items { display: grid; gap: 3px; }
@media(max-width:820px) {
  [data-imdg-workbench] .detail-shell #r-toc {
    display: block; overflow: visible; padding: 0;
    border: 1px solid var(--dr-line); border-radius: 6px; background: var(--dr-paper);
  }
  [data-imdg-workbench] .detail-toc-toggle {
    display: flex; width: 100%; min-height: 44px; padding: 9px 13px; gap: 10px;
    justify-content: space-between; align-items: center; cursor: pointer; border: 0;
    border-radius: 5px; background: transparent; color: var(--dr-ink); font: 600 14px/1.4 var(--sans);
  }
  [data-imdg-workbench] .detail-toc-toggle:hover { background: var(--dr-hover); }
  [data-imdg-workbench] .detail-toc-toggle:active { background: var(--dr-active); }
  [data-imdg-workbench] .detail-toc-toggle[aria-expanded="true"] span:last-child { transform: rotate(180deg); }
  [data-imdg-workbench] #r-toc:not(.toc-open) .detail-toc-items { display: none; }
  [data-imdg-workbench] #r-toc .detail-toc-items { grid-template-columns: repeat(2,minmax(0,1fr)); padding: 6px; border-top: 1px solid var(--dr-line); }
  [data-imdg-workbench] .detail-shell #r-toc .rtob { min-height: 44px; white-space: normal; overflow-wrap: anywhere; }
}
