:root {
  color-scheme: dark;
  --black:#000;
  --navy:#0a1e36;
  --blue:#0757ee;
  --panel:#0b1724;
  --raised:#132335;
  --border:#2e4a66;
  --text:#f5f8fc;
  --muted:#bbcadb;
  font-family:Inter,"Segoe UI",Arial,sans-serif;
}
* { box-sizing:border-box; }
html { background:var(--black); }
body { margin:0; min-height:100vh; color:var(--text); background:var(--black); line-height:1.5; }
button,input { font:inherit; }
:focus-visible { outline:3px solid #72a8ff; outline-offset:3px; }
.sr-only,.skip:not(:focus) { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.skip:focus { position:absolute; z-index:20; left:16px; top:16px; background:var(--navy); color:#fff; padding:12px; }

.site-header,main { width:min(1440px,calc(100% - 64px)); margin-inline:auto; }
.site-header { position:relative; display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-rows:84px; align-items:center; gap:22px 28px; }
.site-header::after { content:""; position:absolute; top:83px; left:0; right:0; height:1px; background:var(--border); pointer-events:none; }
.brand-group { grid-column:1; grid-row:1; display:flex; align-items:center; gap:16px; min-width:0; }
.brand { display:block; width:235px; max-width:100%; flex-shrink:0; }
.brand img { display:block; width:100%; height:auto; }
.search-dock { width:min(1440px,calc(100% - 64px)); margin:16px auto 0; min-width:0; display:flex; align-items:center; background:inherit; }
.site-header .knowledge-nav { display:flex; align-items:center; gap:8px; }
.site-menu { position:relative; }
.site-menu[hidden] { display:none; }
.site-menu > summary {
  display:flex; align-items:center; justify-content:center; gap:6px;
  min-height:40px; padding:4px 9px; list-style:none; white-space:nowrap;
  border:1px solid #9ca3a8; border-radius:6px; color:#fff;
  cursor:pointer; font-size:14px; line-height:1.2;
}
.site-menu > summary::-webkit-details-marker { display:none; }
.site-menu-mark { font-size:16px; line-height:1; }
.site-menu-items {
  position:absolute; inset:calc(100% + 6px) 0 auto auto; z-index:50;
  min-width:150px; max-width:calc(100vw - 28px); padding:5px;
  border:1px solid #84929b; border-radius:7px; background:#202428;
  box-shadow:0 6px 14px #0008;
}
.site-header .site-menu-items > :is(a,button) {
  display:flex; width:100%; align-items:center; gap:8px; padding:5px 9px;
  min-height:36px; font-family:inherit; font-size:14px; font-weight:600; line-height:1.3; text-align:left; color:#fff; border:0;
  background:transparent; text-decoration:none; white-space:nowrap; cursor:pointer;
}
.site-header .site-menu-items > :is(a,button):hover,
.site-header .site-menu-items > button[aria-pressed="true"],
.site-header .site-menu-items > a[aria-current="page"] { background:#2e4555; border-radius:4px; }
.site-menu > summary .ui-icon,.site-menu-items .ui-icon { width:16px; height:16px; flex:none; }
.model-info-menu { --info-accent:#73b9fa; }
.model-info-menu[data-view="energy"] { --info-accent:#f1ba61; }
.model-info-menu[data-view="family"] { --info-accent:#7dd3ac; }
.model-info-menu[data-view="sources"] { --info-accent:#c5a7f3; }
.model-info-menu > summary { border-color:var(--info-accent); }
.model-info-menu > summary > .ui-icon:first-child { color:var(--info-accent); }
.model-info-option.model-info-energy > .ui-icon { color:#f1ba61; }
.model-info-option.model-info-documents > .ui-icon { color:#73b9fa; }
.model-info-option.model-info-family > .ui-icon { color:#7dd3ac; }
.model-info-option.model-info-sources > .ui-icon { color:#c5a7f3; }
.model-info-option[aria-pressed="true"]::after { content:"✓"; margin-left:auto; padding-left:8px; }
.site-header nav { grid-column:2; grid-row:1; }

main { padding:0 0 72px; }
.search-shell { width:100%; }
#knowledge-search { display:flex; gap:10px; }

#query {
  flex:1;
  min-width:0;
  height:46px;
  padding:10px 16px;
  border:1px solid #5f80a2;
  border-radius:8px;
  background:#0e1a29;
  color:var(--text);
  font-size:17px;
  transition:border-color .18s ease,background .18s ease,box-shadow .18s ease;
}
#query::placeholder { color:#bac6d4; }
#query:focus { border-color:#79a8ff; background:#101f31; }

#knowledge-search button {
  min-width:136px;
  height:46px;
  border:1px solid var(--blue);
  border-radius:8px;
  padding:8px 20px;
  background:var(--blue);
  color:#fff;
  font-weight:700;
  cursor:pointer;
  transition:background .18s ease,transform .12s ease;
}
#knowledge-search button:hover { background:#2673ff; }
#knowledge-search button:active { transform:translateY(1px); }
#knowledge-search button:disabled { opacity:.6; cursor:wait; }

.knowledge-hero {
  position:relative;
  isolation:isolate;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,410px);
  align-items:start;
  gap:64px;
  min-height:0;
  padding:48px 0 40px;
  opacity:1;
  transform:translateY(0);
  overflow:hidden;
  transition:opacity .22s ease,transform .28s ease,max-height .34s ease,padding .34s ease,min-height .34s ease;
}
.hero-kicker { margin:0 0 14px; color:#8fb5ff; font-size:13px; font-weight:800; letter-spacing:.12em; }
.hero-introduction { position:relative; z-index:1; min-width:0; }
.hero-logo { position:absolute; z-index:0; display:block; width:clamp(280px,30vw,440px); max-width:none; height:auto; top:32px; left:42%; transform:translateX(-50%); margin:0; opacity:.1; pointer-events:none; user-select:none; }
.knowledge-hero h1 { max-width:700px; margin:0; font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-.025em; }
.hero-copy { max-width:850px; margin:24px 0 0; color:var(--muted); font-size:clamp(17px,1.5vw,21px); line-height:1.6; }

.results { margin-top:0; }
.results[hidden] { display:none; }
.results-heading { display:flex; align-items:baseline; justify-content:space-between; gap:16px; padding:0 2px 12px; border-bottom:1px solid var(--border); }
.results-heading h1 { margin:0; font-size:19px; }
.results-heading p { margin:0; color:var(--muted); font-size:14px; text-align:right; }
.results ul { list-style:none; margin:0; padding:0; }
.results li { margin:0; padding:0; }

/* One narrow, continuous manufacturer rail for each adjacent model group. */
.manufacturer-group {
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  border-bottom:1px solid var(--border);
}
.manufacturer-group-rail {
  min-width:0;
  background:var(--navy);
  border-inline:1px solid var(--blue);
}
.manufacturer-group-link {
  position:sticky;
  top:12px;
  width:100%;
  height:100%;
  max-height:min(360px,calc(100dvh - 24px));
  min-height:84px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 8px;
  border:0;
  background:transparent;
  color:var(--text);
  cursor:pointer;
}
.manufacturer-group-link:hover { background:#102b4c; }
.manufacturer-group-link:focus-visible { outline-offset:-3px; }
.manufacturer-group-name {
  writing-mode:vertical-rl;
  transform:rotate(180deg);
  white-space:nowrap;
  font-size:14px;
  font-weight:700;
}
.manufacturer-group-models { min-width:0; display:flex; flex-direction:column; }
.manufacturer-group-models > .model-record { flex:1; display:flex; flex-direction:column; }
.manufacturer-group-models > .model-record + .model-record { border-top:1px solid var(--border); }
.model-record-static { flex:1; }
.model-record-details { height:100%; }
.model-record-details:not([open]) > .model-record-line { height:100%; }

.model-record-details { margin:0; }
.model-record-line {
  min-height:44px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto 10px;
  align-items:center;
  gap:14px;
  padding:8px 10px 8px 14px;
  cursor:pointer;
  list-style:none;
  transition:background .14s ease;
}
.model-record-line::-webkit-details-marker { display:none; }
.model-record-line > .ui-icon-chevron-down {
  grid-column:3;
  color:#6f92ba;
  width:14px;
  height:14px;
  transition:transform .15s ease,color .15s ease;
}
.model-record-details[open] > .model-record-line > .ui-icon-chevron-down {
  transform:rotate(180deg);
  color:#9ec0ff;
}
.model-record-line:hover { background:#07101a; }

.model-record-identity {
  min-width:0;
  display:flex;
  align-items:baseline;
  gap:12px;
  overflow:hidden;
}
.record-manufacturer {
  flex:0 0 auto;
  color:var(--text);
  font-size:14px;
  font-weight:700;
}
.record-model {
  min-width:0;
  color:#d7e4f2;
  font-size:14px;
  font-weight:600;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.record-family {
  min-width:0;
  color:var(--muted);
  font-size:12px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:right;
}

/* D054: one highlighted panel, with standardized tables and original documents. */
.model-record-details[open] {
  border:2px solid var(--blue);
  border-left-width:4px;
  border-radius:3px;
  background:var(--navy);
}
.model-record-details[open] > .model-record-line { background:#102b4c; border-bottom:1px solid var(--border); padding-left:10px; }
.model-record-detail {
  --raised:#353535;
  --border:#4a4a4a;
  --text:#f5f5f5;
  --muted:#c4c4c4;
  padding:8px 10px;
  font-size:14px;
  color:var(--text);
  background:#2b2b2b;
}
.record-section-heading { margin:0 0 6px; font-size:15px; line-height:1.35; }
.record-section-heading:first-child { margin-top:0; }
.record-section { margin-top:6px; border:1px solid var(--border); border-radius:3px; }
.record-section-toggle { display:flex; align-items:center; justify-content:space-between; gap:8px; width:100%; min-height:44px; padding:8px 10px; box-sizing:border-box; cursor:pointer; list-style:none; font-weight:600; background:var(--raised); }
.record-section-toggle::-webkit-details-marker { display:none; }
.record-section[open] > .record-section-toggle { border-bottom:1px solid var(--border); }
.record-section[open] > .record-section-toggle > .ui-icon { transform:rotate(180deg); }
.record-section-toggle:hover,.model-record-detail .record-notes-toggle:hover { background:var(--raised); }
.record-section-toggle:focus-visible,.record-notes-toggle:focus-visible { outline:2px solid #72a8ff; outline-offset:2px; }
.record-section > .record-documents,.record-section > .record-history,.record-section > .record-history-empty { border:0; }
.record-facts { width:100%; table-layout:fixed; border-collapse:collapse; line-height:1.4; }
.record-facts th,.record-facts td { border:1px solid var(--border); padding:6px 8px; text-align:left; vertical-align:top; overflow-wrap:anywhere; }
.record-facts th { width:31%; background:var(--raised); color:#d5d5d5; font-weight:600; }
.record-unavailable { color:var(--muted); }
.record-documents { border:1px solid var(--border); }
.record-document { display:grid; grid-template-columns:24px minmax(0,1fr) auto; align-items:start; column-gap:8px; padding:8px; }
.record-document + .record-document { border-top:1px solid var(--border); }
.record-document > .ui-icon-book { width:24px; height:24px; margin-top:3px; color:#d5d5d5; }
.record-document-content { min-width:0; }
.record-document-title,.record-document-subtitle { margin:0; overflow-wrap:anywhere; }
.record-document-subtitle { margin-top:2px; color:#d5d5d5; font-size:13px; }
.record-document-open { display:flex; align-items:center; gap:4px; min-height:44px; color:#8fbdff; font-weight:600; text-decoration:none; }
.record-document-open:hover { text-decoration:underline; }
.record-document-unavailable > .ui-icon-book { color:var(--muted); }
.record-document-unavailable .record-document-title { color:var(--muted); }
.record-notes { margin-top:0; }
.record-notes-toggle { display:flex; align-items:center; gap:6px; min-height:44px; width:fit-content; cursor:pointer; color:#d5d5d5; list-style:none; font-size:13px; }
.record-notes-toggle::-webkit-details-marker { display:none; }
.record-notes[open] > .record-notes-toggle > .ui-icon { transform:rotate(180deg); }
.record-notes-copy,.record-document-reference { margin:0 0 6px; color:var(--muted); font-size:13px; line-height:1.5; overflow-wrap:anywhere; }
.record-document-reference { font-size:12px; }
.record-document > .record-notes { grid-column:1 / -1; }
.record-document > .record-notes > .record-notes-toggle { margin-left:32px; }
.record-documents > .record-notes { padding:0 8px; }
.record-history-empty { border:1px solid var(--border); padding:8px; }
.record-history-empty p { margin:0; }
.record-history-empty .record-history-hint { margin-top:4px; color:#d5d5d5; font-size:13px; }
.record-classification-notes { margin-top:0; }
.record-classification-notes > .record-notes-toggle { width:100%; justify-content:space-between; font-size:12px; }
.record-classification-source { padding:4px 0; }
.record-classification-source + .record-classification-source { border-top:1px solid var(--border); }
.record-classification-label { margin:0 0 4px; font-size:13px; font-weight:600; }
.record-source-link { display:inline-flex; align-items:center; min-height:44px; color:#8fbdff; font-size:13px; }
.record-document-metadata { margin:4px 0 0; }
.record-document-scope { margin:4px 0 0; color:#d5d5d5; font-size:13px; line-height:1.4; overflow-wrap:anywhere; }
.record-history { border:1px solid var(--border); padding:8px; }
.record-history-label,.record-related-model-name { margin:0; font-weight:600; }
.record-history .record-history-hint { margin:4px 0 0; color:#d5d5d5; font-size:13px; line-height:1.5; }
.record-related-models { list-style:none; padding:0; margin:6px 0 8px; }
.record-related-models > li + li { border-top:1px solid var(--border); padding-top:6px; }
/* Unmodified MIT-licensed Tabler assets, tinted via their original masks. */
.ui-icon { display:inline-block; width:16px; height:16px; flex:none; background:currentColor; mask-repeat:no-repeat; mask-position:center; mask-size:contain; }
.ui-icon-book { mask-image:url('/assets/icons/book.svg'); }
.ui-icon-chevron-down { mask-image:url('/assets/icons/chevron-down.svg'); }
.ui-icon-external-link { mask-image:url('/assets/icons/external-link.svg'); }
.ui-icon-bolt { mask-image:url('/assets/icons/bolt.svg'); }
.ui-icon-circuit-cell { mask-image:url('/assets/icons/circuit-cell.svg'); }
.ui-icon-thermometer { mask-image:url('/assets/icons/thermometer.svg'); }
.ui-icon-settings { mask-image:url('/assets/icons/settings.svg'); }
.ui-icon-flame { mask-image:url('/assets/icons/flame.svg'); }
.ui-icon-droplet { mask-image:url('/assets/icons/droplet.svg'); }
.ui-icon-wind { mask-image:url('/assets/icons/wind.svg'); }
.ui-icon-flask { mask-image:url('/assets/icons/flask.svg'); }
.ui-icon-arrows-down { mask-image:url('/assets/icons/arrows-down.svg'); }
.ui-icon-circle-dotted { mask-image:url('/assets/icons/circle-dotted.svg'); }

/* D058: compact facts and sourced energies, with distinct history and family views. */
.record-overview { display:grid; grid-template-columns:minmax(0,2fr) minmax(0,3fr); gap:20px; padding:2px 0 14px; }
.record-facts-area,.record-energy { min-width:0; }
.record-facts-area > .record-section-heading,.record-energy-heading { min-height:28px; margin:0; }
.record-facts-area .record-facts { height:104px; }
.record-facts-area .record-facts th { width:43%; }
.record-facts-area .record-facts th,.record-facts-area .record-facts td { padding:5px 8px; vertical-align:middle; }
.record-energy { border-left:1px solid var(--border); padding-left:20px; }
.record-energy-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:8px; }
.record-energy-heading .record-section-heading { margin:0; }
.record-energy-expand { display:inline-flex; align-items:center; justify-content:flex-end; gap:8px; min-height:28px; margin-top:-4px; padding:4px 0; border:0; color:#a7d5f7; background:none; font-size:12px; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.record-energy-expand[aria-expanded="true"] > .ui-icon { transform:rotate(180deg); }
.results .record-energy-preview { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:10px 22px; min-height:104px; }
.results .record-energy-preview > li { display:grid; grid-template-columns:30px minmax(0,1fr); min-height:78px; align-items:start; padding:7px 2px; gap:10px; }
.energy-icon { width:27px; height:27px; margin-top:3px; color:#76baff; }
.energy-icon-electrical,.energy-icon-control { color:#f4d645; }
.energy-icon-thermal,.energy-icon-gas,.energy-icon-steam { color:#ffaa34; }
.energy-icon-mechanical { color:#42a5ff; }
.energy-icon-chemical { color:#8ad68f; }
.energy-label { display:block; margin-bottom:3px; color:#e8edf4; font-size:14px; font-weight:700; line-height:1.3; }
.energy-value-wrapper { position:relative; display:inline-block; max-width:100%; }
.energy-value { display:inline-block; min-height:26px; max-width:100%; padding:0; border:0; background:none; color:#fff; font-size:19px; font-weight:700; line-height:1.18; text-align:left; cursor:help; overflow-wrap:anywhere; }
.energy-value:hover,.energy-value:focus-visible { color:#b8d6f4; }
.energy-secondary { display:block; margin-top:3px; font-size:17px; line-height:1.2; }
.energy-tooltip { position:fixed; z-index:1000; width:max-content; max-width:min(390px,calc(100vw - 16px)); max-height:calc(100vh - 16px); overflow:auto; border:1px solid #718197; border-radius:5px; padding:10px 12px; background:#111b26; color:#f5f8fc; font-size:12px; font-weight:400; line-height:1.45; box-shadow:0 5px 18px #000a; }
.energy-tooltip ul { margin:0; padding-left:18px; }
.energy-tooltip li + li { margin-top:5px; }
.energy-tooltip[hidden],.record-energy-complete[hidden] { display:none; }
.record-energy-empty { display:flex; align-items:center; min-height:104px; margin:0; color:var(--muted); font-size:13px; }
.record-energy-complete { margin:0; }
.record-energy-complete > .record-history-hint { margin:0 0 8px; font-size:12px; color:var(--muted); }
.record-table-scroll { max-width:100%; overflow-x:auto; }
.record-energy-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:13px; }
.record-energy-table th,.record-energy-table td { border:1px solid var(--border); padding:7px 8px; text-align:left; vertical-align:top; }
.record-energy-table thead th { background:var(--raised); font-weight:600; }
.record-energy-table thead th:first-child { width:40%; }
.record-energy-table th,.record-energy-table td { overflow-wrap:anywhere; }
.record-energy-published-value { display:block; margin-top:3px; color:var(--muted); font-size:12px; font-weight:400; }
.record-energy-table td { padding:0; }
.record-energy-table .record-notes-copy { margin:4px 0 0; font-size:12px; }
.record-energy-table .record-source-link { min-height:28px; }
.record-classification-notes { margin-top:6px; border:1px solid var(--border); border-radius:3px; }
.record-classification-notes > .record-notes-toggle { min-height:44px; padding:8px 10px; font-size:14px; font-weight:600; background:var(--raised); }
.record-classification-notes[open] > .record-notes-toggle { border-bottom:1px solid var(--border); }
.record-classification-notes > .record-classification-source { padding:8px 10px; }
.record-source-section > .record-notes-toggle { width:100%; box-sizing:border-box; justify-content:space-between; gap:8px; min-height:44px; padding:8px 10px; color:var(--text); font-size:13px; font-weight:600; overflow-wrap:anywhere; }
.record-source-section[open] > .record-notes-toggle { color:#b8d6f4; }
.record-classification-notes > .record-source-section + .record-source-section { border-top:1px solid var(--border); }
.record-source-content { padding:4px 10px 10px; min-width:0; }
.record-source-content > .record-source-section { border:1px solid var(--border); border-radius:3px; margin-top:6px; }
.record-source-content > .record-classification-source { padding:6px 0; }
.record-energy-evidence > .record-source-content { border-top:1px solid var(--border); padding:8px 10px; }
.record-energy-complete > .record-source-section { margin-bottom:8px; border:1px solid var(--border); border-radius:3px; }
.record-history { padding:10px; }
.record-history h3 { font-size:14px; }
.results .record-timeline { display:grid; grid-auto-flow:column; grid-auto-columns:minmax(180px,1fr); list-style:none; margin:16px 0 18px; padding:0 0 4px; overflow-x:auto; }
.results .record-timeline > li { position:relative; padding:0 12px; text-align:center; }
.record-event-date { margin:0 0 34px; font-size:13px; font-weight:700; }
.record-timeline > li::before { content:""; position:absolute; top:36px; left:0; right:0; height:2px; background:var(--blue); }
.record-timeline > li:first-child::before { left:50%; }
.record-timeline > li:last-child::before { right:50%; }
.record-timeline > li::after { content:""; position:absolute; top:26px; left:calc(50% - 11px); width:22px; height:22px; border:7px solid var(--blue); border-radius:50%; background:#fff; }
.record-event-title { margin:4px 0; font-size:13px; line-height:1.4; }
.record-event-type { font-size:11px; color:#a7d5f7; }
.record-timeline .record-notes-toggle { margin-inline:auto; min-height:32px; }
.record-timeline .record-source-link { min-height:32px; }
.results .record-undated-events { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(230px,100%),1fr)); gap:12px; margin:8px 0 14px; }
.results .record-undated-events > li { border:1px solid var(--border); padding:8px; }
.record-undated-events .record-event-date { margin:0 0 4px; }
.record-family-tree { margin-top:14px; padding-top:12px; border-top:1px solid var(--border); }
.family-tree { display:flex; flex-direction:column; align-items:center; margin:12px auto 4px; }
.family-tree-node { display:block; width:100%; max-width:220px; min-height:36px; padding:6px 12px; border:1px solid #9aabb8; border-radius:4px; background:#333b43; color:#f5f8fc; font-size:13px; text-align:center; overflow-wrap:anywhere; }
.family-tree-manufacturer { position:relative; font-weight:700; background:#172431; }
.family-tree-family { position:relative; margin-top:14px; }
.family-tree-family::before { content:""; position:absolute; top:-15px; left:50%; height:14px; width:1px; background:#9aabb8; }
.results .family-tree-models { position:relative; display:grid; grid-template-columns:repeat(auto-fit,minmax(min(130px,100%),1fr)); gap:14px; width:100%; margin:24px 0 0; border-top:1px solid #9aabb8; }
.family-tree-models::before { content:""; position:absolute; top:-25px; left:50%; width:1px; height:24px; background:#9aabb8; }
.results .family-tree-models > li { position:relative; display:flex; flex-direction:column; align-items:center; padding-top:16px; }
.family-tree-models > li::before { content:""; position:absolute; top:0; left:50%; width:1px; height:16px; background:#9aabb8; }
.family-tree-selected { border:2px solid var(--blue); padding:5px 11px; background:#0a2441; }
.family-tree-caption { display:block; margin-top:4px; color:#bec8d4; font-size:11px; text-align:center; }
.family-tree-selected + .family-tree-caption { color:#8fbdff; }
.family-tree-link { cursor:pointer; }
.family-tree-link:hover { border-color:#8fbdff; background:#183552; }
.family-tree-models:has(> li:only-child) { border-top-color:transparent; }

@media(max-width:980px) {
  .record-overview { grid-template-columns:1fr; gap:12px; }
  .record-energy { border-left:0; border-top:1px solid var(--border); padding:10px 0 0; }
  .record-facts-area .record-facts th { width:35%; }
  .record-energy-empty { min-height:44px; }
  .energy-value { min-height:32px; }
  .record-energy-expand { min-height:32px; }
}
@media(max-width:640px) {
  .energy-value { font-size:17px; }
}
@media(max-width:420px) {
  .results .record-energy-preview { grid-template-columns:1fr; }
}
@media(max-width:560px) {
  .record-energy-heading { flex-wrap:wrap; }
  .record-energy-expand { font-size:11px; gap:4px; }
  .results .record-energy-preview { column-gap:12px; }
  .results .record-energy-preview > li { grid-template-columns:30px minmax(0,1fr); gap:10px; }
  .results .record-timeline { display:block; overflow:visible; margin-left:7px; border-left:2px solid var(--blue); }
  .results .record-timeline > li { padding:0 0 20px 19px; text-align:left; }
  .record-timeline > li::before { display:none; }
  .record-timeline > li::after { top:1px; left:-9px; width:16px; height:16px; border-width:5px; }
  .record-timeline .record-event-date { margin:0 0 4px; }
  .record-timeline .record-notes-toggle { margin-inline:0; }
  .results .family-tree-models { grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
  .family-tree-node { padding-inline:6px; }
}

body.search-active .search-dock .search-shell { width:100%; max-width:760px; margin-left:auto; }
body.search-active .search-dock #knowledge-search { gap:8px; }
body.search-active .search-dock #query { height:38px; padding:7px 12px; font-size:14px; border-radius:7px; }
body.search-active .search-dock #knowledge-search button { min-width:92px; height:38px; padding:6px 14px; border-radius:7px; font-size:14px; }
body.search-active main { padding-top:18px; }
body.search-active .knowledge-hero { min-height:0; max-height:0; padding-top:0; padding-bottom:0; opacity:0; transform:translateY(-14px); pointer-events:none; }
.search-shell.is-moving { position:relative; z-index:5; will-change:transform; }

@media(max-width:900px) {
  body.search-active .brand { width:190px; }
  body.search-active .search-dock .search-shell { max-width:none; }
  body.search-active .search-dock #knowledge-search button { min-width:78px; }
}

@media(max-width:720px) {
  .site-header,main { width:calc(100% - 32px); }
  .brand { width:175px; }
  #query,#knowledge-search button { height:42px; }
  #query { padding:8px 12px; font-size:16px; }
  #knowledge-search button { min-width:104px; padding:7px 14px; }
  .knowledge-hero { min-height:0; padding:32px 0 24px; }
  .hero-kicker { font-size:11px; }
  .knowledge-hero h1 { font-size:clamp(28px,7vw,34px); }
  .hero-copy { margin-top:20px; font-size:17px; }
  body.search-active .brand { width:155px; }
  body.search-active .search-dock #query { height:40px; font-size:15px; }
  body.search-active .search-dock #knowledge-search button { height:40px; min-width:82px; }
  .results-heading { display:block; }
  .results-heading p { margin-top:5px; text-align:left; }
}

@media(max-width:480px) {
  .site-header,main { width:calc(100% - 24px); }
  #knowledge-search { gap:7px; }
  #knowledge-search button { min-width:88px; padding-inline:12px; }
  .knowledge-hero { padding-top:28px; }
  body.search-active .search-dock #knowledge-search button { min-width:74px; padding-inline:10px; }
}

@media(prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition-duration:.01ms !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; }
}


@media(max-width:720px) {
  .manufacturer-group { grid-template-columns:44px minmax(0,1fr); }
  .manufacturer-group-name { font-size:13px; }
  .model-record-line {
    grid-template-columns:minmax(0,1fr) auto 14px;
    gap:8px;
    padding-inline:10px 6px;
  }
  .record-family { display:none; }
  .model-record-detail { padding-right:8px; padding-left:8px; }
  .record-facts th,.record-facts td { padding:6px 8px; }
  .record-facts th { width:105px; font-size:13px; overflow-wrap:normal; }
  .record-document { padding:8px; grid-template-columns:24px minmax(0,1fr) auto; column-gap:8px; }
  .record-document > .ui-icon-book { width:24px; height:24px; }
  .record-document > .record-notes > .record-notes-toggle { margin-left:32px; }
}

/* Public directory-search state */
.model-record-static { cursor:default; grid-template-columns:minmax(0,1fr) auto; }
.model-record-static:hover { background:#050b12; }
.record-search-status {
  min-width:0;
  font-size:12px;
  font-weight:700;
  text-align:right;
  white-space:nowrap;
}
.record-search-status-published { color:#9ec0ff; }
.record-search-status-provisional { color:#91a4b8; }
.record-family-detail {
  margin:0 0 4px;
  color:var(--muted);
  font-size:12px;
  font-weight:700;
}
@media(max-width:720px) {
  .record-search-status { display:block; font-size:11px; }
}

.show-more {
  display:block;
  min-width:132px;
  margin:18px auto 0;
  padding:9px 18px;
  border:1px solid var(--border);
  border-radius:8px;
  background:#07101a;
  color:var(--text);
  font-weight:700;
  cursor:pointer;
}
.show-more:hover { border-color:#5f80a2; background:#0b1724; }
.show-more[hidden] { display:none; }

/* Search recovery follows the same quiet panel and keyboard targets as details. */
.search-recovery { max-width:680px; margin:18px 0; padding:18px; border:1px solid var(--border); border-left:3px solid var(--blue); border-radius:8px; background:#0b1724; }
.search-recovery[hidden] { display:none; }
.search-recovery p { margin:0; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; }
.search-recovery-actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:14px; }
.search-recovery button,.route-retry { min-height:44px; padding:10px 16px; border:1px solid #48637e; border-radius:7px; background:#10263c; color:var(--text); font-weight:700; cursor:pointer; }
.search-recovery button:hover,.route-retry:hover { background:#17344f; border-color:#79a8ff; }
.search-recovery button[hidden] { display:none; }
.route-help { max-width:680px; color:var(--muted); line-height:1.6; overflow-wrap:anywhere; }
.route-retry { margin-top:8px; }
@media(max-width:600px) {
  .results-heading { align-items:flex-start; flex-direction:column; gap:6px; }
  .results-heading p { text-align:left; overflow-wrap:anywhere; }
  .search-recovery { padding:14px; }
  .route-message { overflow-wrap:anywhere; }
}

/* D063: final model-detail polish — horizontal document types, concise history, progressive context. */
.ui-icon-doc-instructions { mask-image:url('/assets/icons/doc-instructions.svg'); }
.ui-icon-doc-service { mask-image:url('/assets/icons/doc-service.svg'); }
.ui-icon-doc-parts { mask-image:url('/assets/icons/doc-parts.svg'); }
.ui-icon-doc-spec { mask-image:url('/assets/icons/doc-spec.svg'); }
.ui-icon-doc-file { mask-image:url('/assets/icons/doc-file.svg'); }
.ui-icon-info { mask-image:url('/assets/icons/info.svg'); }

.record-info-tip,.record-tooltip-wrapper { position:relative; display:inline-flex; align-items:center; }
.record-info-trigger {
  display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; padding:5px;
  border:0; border-radius:50%; background:none; color:#9eb3c8; cursor:help;
}
.record-info-trigger:hover,.record-info-trigger:focus-visible { color:#dcecff; background:#ffffff0b; }
.record-info-tooltip {
  position:absolute; z-index:30; left:50%; bottom:calc(100% + 7px); width:max-content; max-width:min(340px,calc(100vw - 48px));
  transform:translateX(-50%); padding:9px 11px; border:1px solid #6f8398; border-radius:5px;
  background:#111b26; color:#f5f8fc; font-size:12px; font-weight:400; line-height:1.45;
  text-align:left; box-shadow:0 5px 18px #000a;
}
.record-info-tooltip[hidden] { display:none; }
.record-energy-complete-heading { display:flex; align-items:center; gap:6px; margin-bottom:8px; }
.record-energy-complete-heading .record-section-heading { margin:0; }

.record-documents {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(230px,1fr)); align-items:start; gap:10px;
  border:0; background:transparent;
}
.record-document-type {
  min-width:0; border:1px solid var(--border); border-radius:4px; background:#2b2b2b; overflow:visible;
}
.record-document-type-heading {
  display:flex; align-items:center; gap:9px; min-height:46px; padding:8px 10px;
  border-bottom:1px solid var(--border); background:#303030;
}
.record-document-type-heading > .ui-icon { width:26px; height:26px; color:#a8ccff; }
.record-document-type-heading > .ui-icon-doc-instructions { color:#4da3ff; }
.record-document-type-heading > .ui-icon-doc-service { color:#ff8a4c; }
.record-document-type-heading > .ui-icon-doc-parts { color:#f6c945; }
.record-document-type-heading > .ui-icon-doc-spec { color:#57d3a5; }
.record-document-type-heading > .ui-icon-doc-file { color:#b19cff; }
.record-document-type-heading .record-document-title { font-size:13px; font-weight:700; }
.record-document {
  display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:start; column-gap:8px;
  padding:10px; border:0;
}
.record-document + .record-document { border-top:1px solid var(--border); }
.record-document-primary { min-height:110px; }
.record-document-name { color:#fff; font-size:13px; line-height:1.35; }
.record-document-extra { min-height:0; padding:9px 10px; }
.record-document-extra-name { margin:0; font-size:12px; line-height:1.35; color:#e5eaf0; overflow-wrap:anywhere; }
.record-document > .record-notes { grid-column:1 / -1; }
.record-document > .record-notes > .record-notes-toggle { margin-left:0; }
.record-document-more { border-top:1px solid var(--border); }
.record-document-more-toggle {
  min-height:40px; padding:8px 10px; cursor:pointer; list-style:none; color:#a8ccff; font-size:12px; font-weight:600;
}
.record-document-more-toggle::-webkit-details-marker { display:none; }
.record-document-more-toggle::after { content:'+'; float:right; color:#9eb3c8; }
.record-document-more[open] > .record-document-more-toggle::after { content:'−'; }
.record-document-extras { border-top:1px solid #3e4b59; }
.record-documents > .record-notes { grid-column:1 / -1; border:1px solid var(--border); padding:0 10px; }

@media(max-width:720px) {
  .record-documents { grid-template-columns:1fr; }
  .record-document-primary { min-height:0; }
  .record-info-tooltip { left:0; transform:none; }
}


.record-document-source .record-classification-label { color:#f5f8fc; }
.record-document-source .record-source-link { margin-top:2px; }


/* Viewport-aware tooltip positioning. JavaScript places these fixed overlays. */
.record-info-tooltip {
  position:fixed;
  z-index:1000;
  left:0;
  top:0;
  right:auto;
  bottom:auto;
  transform:none;
  max-width:min(360px,calc(100vw - 16px));
}
.record-energy-preview > li:nth-child(even) .energy-tooltip {
  left:0;
  right:auto;
}
/* Home and public information pages share the existing brand and density. */
.latest-updates { position:relative; z-index:1; padding-top:12px; min-width:0; }
.latest-updates h2 { margin:0 0 16px; font-size:22px; line-height:1.3; letter-spacing:-.015em; text-align:center; }
.update-stack { display:grid; gap:12px; }
.update-post { padding:18px 20px; border:1px solid var(--border); border-radius:12px; background:var(--panel); overflow-wrap:anywhere; }
.update-post time { display:block; color:#8fb5ff; font-size:14px; line-height:1.4; margin-bottom:8px; }
.update-post h3 { font-size:17px; line-height:1.35; margin:0 0 8px; letter-spacing:-.01em; }
.update-post p { color:var(--muted); font-size:16px; line-height:1.55; margin:0; }
.updates-more { display:flex; justify-content:center; align-items:center; min-height:44px; margin-top:12px; color:#8fb5ff; font-size:16px; font-weight:700; text-decoration:none; }
.updates-more:hover,.text-link:hover { color:var(--text); text-decoration:underline; }
.content-header { grid-template-rows:84px; }
.content-main { padding-top:44px; }
.content-main h1 { font-size:clamp(28px,3vw,40px); line-height:1.15; letter-spacing:-.025em; margin:0 0 24px; }
.content-lead { color:var(--muted); font-size:18px; margin:0 0 28px; }
.about-main,.updates-main { max-width:960px; margin-inline:auto; }
.about-introduction { max-width:850px; margin-bottom:32px; }
.about-introduction p { font-size:19px; line-height:1.65; color:var(--muted); margin:0 0 16px; }
.about-introduction strong { color:var(--text); font-weight:600; }
.about-sections { display:grid; gap:14px; }
.about-section { border:1px solid var(--border); border-radius:12px; background:var(--panel); }
.about-section summary { list-style:none; min-height:72px; padding:20px 24px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; }
.about-section summary::-webkit-details-marker { display:none; }
.about-section summary:hover { background:var(--raised); border-radius:12px; }
.about-section h2 { font-size:20px; line-height:1.35; margin:0; }
.disclosure-symbol { flex-shrink:0; width:12px; height:12px; border-right:2px solid #8fb5ff; border-bottom:2px solid #8fb5ff; transform:rotate(45deg) translateY(-3px); }
.about-section[open] .disclosure-symbol { transform:rotate(225deg) translate(-2px,-2px); }
.about-section-body { border-top:1px solid var(--border); padding:4px 24px 24px; color:var(--muted); font-size:17px; line-height:1.65; }
.about-section-body p { margin:16px 0; }
.about-access { border-left:3px solid var(--blue); padding-left:16px; }
.text-link { display:inline-flex; align-items:center; min-height:44px; color:#8fb5ff; font-weight:600; }
.update-archive { max-width:850px; gap:16px; }
.update-archive .update-post { padding:24px; }
@media(max-width:1100px) {
  .knowledge-hero { gap:32px; grid-template-columns:minmax(0,1fr) minmax(300px,360px); }
}
@media(max-width:900px) {
  .knowledge-hero { grid-template-columns:minmax(0,1fr); gap:32px; }
  .latest-updates { max-width:650px; padding-top:0; }
  .hero-copy { max-width:750px; }
  .hero-logo { width:min(380px,65vw); left:45%; }
  body.search-active .brand-group { gap:12px; }
}
@media(max-width:720px) {
  .brand-group { gap:10px; }
  .brand { width:150px; }
  .content-main { padding-top:28px; }
  .hero-logo { width:min(340px,80vw); top:24px; opacity:.08; }
  .about-introduction p { font-size:17px; }
  .about-section summary { min-height:68px; padding:18px; }
  .about-section h2 { font-size:18px; }
  .about-section-body { padding:2px 18px 18px; font-size:16px; }
}
@media(max-width:420px) {
  .brand,body.search-active .brand { width:120px; }
  .brand-group,body.search-active .brand-group { gap:8px; }
  .hero-logo { width:min(320px,88vw); }
  .update-post,.update-archive .update-post { padding:16px; }
}

/* Public feedback and shared content navigation. */
.site-header nav { display:flex; align-items:center; gap:16px; }
.about-main { position:relative; isolation:isolate; }
.about-main > :not(.about-logo) { position:relative; z-index:1; }
.about-logo { top:48px; left:38%; }
.feedback-dialog { width:min(600px,calc(100vw - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:1px solid var(--border); border-radius:16px; background:var(--panel); color:var(--text); overflow:auto; }
.feedback-dialog::backdrop { background:rgba(0,0,0,.78); }
.feedback-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; }
.feedback-heading h2 { font-size:24px; margin:0; }
.feedback-heading button { min-width:44px; min-height:44px; border:0; background:transparent; color:var(--muted); font-size:28px; cursor:pointer; }
#feedback-intro { margin:8px 0 20px; color:var(--muted); }
.feedback-dialog fieldset { border:0; padding:0; margin:0; display:grid; gap:16px; min-width:0; }
.feedback-dialog label { display:block; font-weight:600; min-width:0; }
.feedback-dialog label span { color:var(--muted); font-size:13px; font-weight:400; }
.feedback-dialog input,.feedback-dialog select,.feedback-dialog textarea { display:block; margin-top:6px; width:100%; min-width:0; min-height:44px; padding:10px 12px; border:1px solid #5f80a2; border-radius:8px; background:#0e1a29; color:var(--text); font:inherit; }
.feedback-dialog textarea { resize:vertical; min-height:120px; }
.feedback-contact { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.feedback-help { color:var(--muted); font-size:13px; line-height:1.5; margin:0; }
.feedback-help a { color:#8fb5ff; }
#feedback-form > .feedback-help { margin:16px 0; }
.feedback-actions { display:flex; justify-content:flex-end; }
.feedback-actions button { min-height:44px; padding:10px 20px; color:#fff; background:var(--blue); border:1px solid var(--blue); border-radius:8px; font-weight:700; cursor:pointer; }
.feedback-actions button:disabled { opacity:.6; cursor:wait; }
.feedback-status { margin:16px 0 0; font-size:15px; color:var(--text); overflow-wrap:anywhere; }
.feedback-status:empty { display:none; }
.feedback-trap { display:none; }
@media(max-width:720px) {
  .feedback-contact { grid-template-columns:1fr; gap:12px; }
  .feedback-dialog { padding:20px; }
  .about-logo { left:45%; top:28px; }
}

/* Approved Knowledge product lockups retain their intrinsic aspect ratios. */
.brand { width:310px; }
.brand picture { display:block; }
.brand img { aspect-ratio:5 / 1; object-fit:contain; }
.brand-group [hidden] { display:none; }
@media(max-width:900px) {
  body.search-active .brand { width:270px; }
}
@media(max-width:720px) {
  .brand-group { grid-column:1; grid-row:1; min-height:68px; }
  .brand,body.search-active .brand { width:210px; }
  .brand img { aspect-ratio:16 / 5; }
}
@media(max-width:360px) {
  .brand,body.search-active .brand { width:190px; }
}

/* Shared one-line navigation; only the sibling search form sticks. */
.site-header nav { flex-wrap:nowrap; white-space:nowrap; }
body.search-active .search-dock { position:sticky; top:0; z-index:20; margin-top:0; padding:8px 0; }
body.search-active .search-dock .search-shell { max-width:none; }
body.search-active .manufacturer-group-link { top:64px; max-height:min(360px,calc(100dvh - 76px)); }
@media(max-width:720px) {
 .site-header { grid-template-columns:minmax(0,1fr) auto; grid-template-rows:68px; gap:12px; padding:0; }
 .site-header::after { top:auto; bottom:0; }
 .site-header .brand-group { grid-column:1; grid-row:1; min-height:0; }
 .site-header nav { grid-column:2; grid-row:1; gap:14px; min-height:44px; justify-self:end; }
 .site-header .knowledge-nav { gap:6px; }
 .site-menu > summary { font-size:13px; padding-inline:6px; min-height:44px; }
 .site-header .site-menu-items > :is(a,button) { min-height:44px; }
 .site-header .brand,body.search-active .site-header .brand { width:clamp(130px,44vw,210px); }
 .search-dock { width:calc(100% - 32px); }
}
@media(max-width:360px) {
 .site-menu > summary { gap:4px; }
}
