/* The header and skip link live in header.css, shared with the chat workspace at `/`. */
.site-main { max-width:1120px; margin:0 auto; padding:48px 32px 80px; }
.site-footer { display:flex; gap:16px; justify-content:space-between; padding:24px; border-top:1px solid var(--line); color:var(--text-muted); font-size:14px; }
@media (max-width:560px) { .site-footer { flex-direction:column; align-items:flex-start; } .site-footer a { overflow-wrap:anywhere; } }
.eyebrow { font-family:var(--font-mono); font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--signal-receive-text); }
h1.display { font-size:clamp(28px,4vw,40px); line-height:1.1; margin:8px 0 12px; }
.card { background:var(--surface-raised); border:1px solid var(--line); border-radius:8px; padding:20px; }
.grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.tag { display:inline-block; font-family:var(--font-mono); font-size:11px; padding:2px 7px; border:1px solid var(--line); border-radius:4px; color:var(--text-muted); }
.article { max-width:72ch; background:var(--surface-raised); border:1px solid var(--line); border-radius:8px; padding:32px; }
.article.document { max-width:76ch; margin-top:24px; padding:0; border:0; border-radius:0; background:transparent; }
.article.document h2 { margin:32px 0 6px; font-family:var(--font-display); font-size:20px; }
.article.document h2:first-child { margin-top:0; }
.article p, .article li { line-height:1.7; }
.applicability { display:grid; grid-template-columns:max-content 1fr; gap:6px 16px; font-size:14px; background:var(--surface-inset); border-radius:6px; padding:14px 16px; margin:16px 0 24px; }
.applicability dt { color:var(--text-muted); font-family:var(--font-mono); font-size:12px; }
table.claims { width:100%; border-collapse:collapse; font-size:14px; }
table.claims th, table.claims td { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
cite[data-claim] { font-style:normal; font-family:var(--font-mono); font-size:11px; background:var(--surface-inset); border:1px solid var(--line); border-radius:3px; padding:1px 5px; margin-left:2px; }
cite[data-claim] a { text-decoration:none; }
.callout { border-left:3px solid var(--signal-confirm); padding:10px 14px; background:var(--surface-inset); border-radius:0 6px 6px 0; margin:16px 0; }
.btn { display:inline-flex; align-items:center; gap:8px; padding:10px 16px; border-radius:6px; border:1px solid var(--control-line); background:var(--surface-raised); text-decoration:none; font-weight:600; }
.btn-confirm { background:var(--signal-confirm); color:var(--on-confirm); border-color:transparent; }
.btn[aria-disabled="true"] { opacity:.55; pointer-events:none; }
.table-wrap { overflow-x:auto; }
/* A body code block scrolls the same way a body table does: the block itself keeps its native
   margin, the wrapper just owns the overflow so a long unbroken line can't carry the article wider
   than its column. */
.pre-wrap { overflow-x:auto; }
.pre-wrap pre { margin:0; }
.site-main:focus { outline:none; }
.site-main-wide { max-width:1440px; }
.wiki { display:flex; flex-direction:column; gap:24px; }
.wiki-article { min-width:0; padding:0; border:0; border-radius:0; background:transparent; }
.wiki-article p, .wiki-article li { line-height:1.7; }
.wiki-article h2 { font-family:var(--font-display); font-size:22px; margin:28px 0 8px; scroll-margin-top:16px; }
.wiki-article h3 { font-family:var(--font-display); font-size:17px; margin:20px 0 6px; scroll-margin-top:16px; }
.verification { color:var(--text-muted); margin:4px 0 10px; }
.alias-line { margin:0 0 16px; font-size:14px; }
.stub-summary { font-size:17px; }
.wiki-section { margin-top:36px; }
.wiki-section > h2.display { font-size:22px; margin-bottom:10px; }
.see-also-group ul, .rail-block ul, .wiki-rail ol { list-style:none; margin:4px 0 12px; padding:0; }
.see-also-group li, .rail-block li { padding:3px 0; }
.see-also-group li .tag, .rail-block li .tag { margin-left:6px; }
.rail-head { font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); margin:0 0 4px; font-weight:600; }
.wiki-rail { font-size:14px; }
.wiki-rail .toc { background:transparent; border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:12px 0; margin-bottom:20px; }
.wiki-rail .toc > summary { font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); cursor:pointer; }
.wiki-rail .toc ol { margin-top:8px; }
.wiki-rail .toc a { text-decoration:none; color:var(--text-muted); display:block; padding:3px 0; }
.wiki-rail .toc a:hover, .wiki-rail .toc a:focus-visible { color:var(--text-primary); }
.toc-l3 { padding-left:14px; font-size:13px; }
.rail-block { margin-bottom:16px; }
.wiki-rail .eyebrow, .infobox .eyebrow { margin:0 0 4px; }
.infobox { background:var(--surface-raised); border:1px solid var(--line); border-radius:8px; padding:16px; }
.infobox dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 14px; margin:8px 0 0; font-size:13px; }
.infobox dt { color:var(--text-muted); font-family:var(--font-mono); font-size:11px; }
.infobox dd { margin:0; }
.stub-callout { border-left-color:var(--signal-receive); }
.claim-sources { font-size:12px; color:var(--text-muted); margin-top:4px; }
.source-title { margin:8px 0 4px; font-size:16px; }
.source-meta { margin:0; font-size:13px; }
.cite-block { background:var(--surface-inset); border:1px solid var(--line); border-radius:6px; padding:12px 14px; font-family:var(--font-mono); font-size:12px; white-space:pre-wrap; word-break:break-word; margin:4px 0 16px; }
@media (min-width:1400px) {
  .wiki { display:grid; grid-template-columns:220px minmax(0,1fr) 320px; grid-template-rows:auto 1fr;
          grid-template-areas:"rail article info" "rail article pane"; align-items:start; }
  .wiki-rail { grid-area:rail; position:sticky; top:16px; max-height:calc(100dvh - 32px); overflow:auto; }
  .wiki-article { grid-area:article; }
  .wiki-info { grid-area:info; }
  .wiki-rail .toc > summary { display:none; }
}
/* Below a truly wide desktop the reference becomes one calm reading column. Contents stay above
   the article, while the denser fact box follows it instead of delaying the document at 200% zoom. */
@media (max-width:1399px) {
  .wiki { display:flex; flex-direction:column; gap:20px; }
  .wiki-rail { order:-1; }
  .wiki-article { order:0; width:100%; max-width:76ch; margin-inline:auto; }
  .wiki-info { order:1; width:100%; max-width:76ch; margin-inline:auto; }
  .wiki-pane { order:2; width:100%; max-width:76ch; margin-inline:auto; }
  .wiki-rail { width:100%; max-width:76ch; margin-inline:auto; }
  .wiki-rail .toc { margin-bottom:0; }
}
@media (max-width:760px) {
  .wiki-article h2 { font-size:20px; }
  .front-columns { gap:16px; }
  .wiki-search input { min-width:0; }
}
.muted { color:var(--text-muted); }
.claim-headline { font-size:clamp(22px,3vw,30px); }
.claim-h2 { font-size:20px; margin-top:28px; }
.lede { max-width:70ch; color:var(--text-muted); }
.wiki-search { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:20px 0 28px; }
.wiki-search label { font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--text-muted); }
.wiki-search input { flex:1; min-width:240px; padding:10px 12px; border:1px solid var(--control-line); border-radius:10px; background:var(--surface-raised); }
.front-columns { display:grid; grid-template-columns:repeat(auto-fit,minmax(280px,1fr)); gap:24px; margin-bottom:8px; }
.front-h2 { font-size:20px; margin:24px 0 6px; }
.front-note { margin:0 0 8px; font-size:13px; }
ul.plain { list-style:none; margin:0; padding:0; }
ul.plain li { padding:4px 0; border-bottom:1px solid var(--line); }
ul.plain li:last-child { border-bottom:0; }
.topic-meta { font-size:12px; }
.area-block { margin-top:32px; scroll-margin-top:16px; }
.area-title { text-transform:capitalize; }
.area-list { columns:2; column-gap:32px; }
@media (max-width:760px) { .area-list { columns:1; } }
.search-hit { padding:10px 0; }
.search-snippet { margin:2px 0 0; font-size:13px; }
.stub-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin:12px 0 0; }

/* The tools index is a directory, not a marketing-card grid: each row exposes its mode,
   purpose, privacy boundary, and action in the same predictable reading order. */
.tools-intro { max-width:68ch; margin-bottom:0; color:var(--text-muted); }
.tool-directory { margin-top:36px; }
.tool-section-head { display:grid; grid-template-columns:180px minmax(0,1fr); gap:28px; align-items:end; margin-bottom:16px; }
.tool-section-head .eyebrow { margin:0 0 4px; }
.tool-section-head h2 { margin:0; font-size:clamp(22px,3vw,28px); }
.tool-section-head p:last-child { max-width:54ch; margin:0; color:var(--text-muted); font-size:14px; }
.tool-list { border-top:1px solid var(--line); }
.tool-item { display:grid; grid-template-columns:120px minmax(0,1fr) max-content; gap:28px; align-items:start; padding:24px 0; border-bottom:1px solid var(--line); }
.tool-mode { margin:3px 0 0; font-family:var(--font-mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--signal-receive-text); }
.tool-copy h3 { margin:0 0 6px; font-family:var(--font-display); font-size:19px; line-height:1.35; }
.tool-copy p { max-width:66ch; margin:0; color:var(--text-muted); font-size:14px; }
.tool-copy .tool-note { margin-top:7px; color:var(--text-primary); font-size:13px; }
.tool-action { display:inline-flex; align-items:center; min-height:40px; padding:8px 12px; border:1px solid var(--control-line); border-radius:6px; text-decoration:none; font-size:14px; font-weight:600; }
.tool-action::after { content:'\2192'; margin-left:10px; color:var(--signal-receive-text); }
.tool-action:hover { border-color:var(--signal-receive); background:var(--surface-inset); }
.roadmap { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,2fr); gap:40px; margin-top:56px; padding-top:24px; border-top:1px solid var(--line); }
.roadmap h2 { margin:4px 0 6px; font-size:20px; }
.roadmap-head p:last-child { max-width:38ch; margin:0; color:var(--text-muted); font-size:14px; }
.roadmap-list { list-style:none; margin:0; padding:0; }
.roadmap-list li { display:grid; grid-template-columns:minmax(180px,1fr) minmax(0,1.4fr); gap:24px; padding:10px 0; border-bottom:1px solid var(--line); }
.roadmap-list li:first-child { padding-top:0; }
.roadmap-list li:last-child { border-bottom:0; }
.roadmap-list h3 { margin:0; font-size:15px; }
.roadmap-list p { margin:0; color:var(--text-muted); font-size:13px; }
@media (max-width:760px) {
  .site-main { padding:32px 20px 64px; }
  .tool-section-head, .roadmap, .roadmap-list li { grid-template-columns:1fr; gap:8px; }
  .tool-item { grid-template-columns:1fr; gap:10px; padding:22px 0; }
  .tool-action { justify-self:start; margin-top:4px; }
  .roadmap { gap:24px; margin-top:44px; }
}

.site-footer .exchange { color: var(--text-muted); }
.not-in-service { max-width: 60ch; }
.not-in-service h1.display { font-size: clamp(22px, 3vw, 30px); margin-top: 0; }
/* Equipment nameplate: engraved mono labels on an inset plate, tokens only, no imagery. */
.infobox.nameplate { background: var(--surface-inset); padding: 0; overflow: hidden; }
.infobox.nameplate > .eyebrow { margin: 0; padding: 10px 14px; background: var(--surface-raised); border-bottom: 1px solid var(--line); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; font-family: var(--font-mono); color: var(--text-muted); }
.infobox.nameplate dl { margin: 0; gap: 0; }
.infobox.nameplate dt, .infobox.nameplate dd { padding: 7px 14px; border-bottom: 1px solid var(--line); }
.infobox.nameplate dt { font-size: 10px; letter-spacing: .1em; text-transform: uppercase; background: var(--surface-page); text-shadow: 0 1px 0 var(--surface-raised); }
.infobox.nameplate dd { font-size: 13px; }
.infobox.nameplate dt:last-of-type, .infobox.nameplate dd:last-of-type { border-bottom: 0; }
