/* aq-layers.css - AutoQA lens layer on /styles.css and autoqa.css. Hub tokens only.
   Run D: the hub's tab pills in the header, three lenses (Overview, Engineer, Research), no depth bar.
   Run E: a hidden layer keeps its layout. Tab fix: after load aq.js adds html.aq-kept once, and from then on hidden layers stay
   laid out with visibility: hidden in a zero-height box (no content-visibility), so a tab click only unlocks them. */
[hidden] { display: none !important; }
.aq-page { overflow-anchor: none; }
html.aq-landing { scroll-behavior: auto; }
.aq-page .footer-links { flex-wrap: wrap; }
.aq-wrap { max-width: 1100px; margin: 0 auto; padding: 0 1.25rem; }
.aq-wrap.aq-top { padding-top: 1rem; }
.aq-pagehead.aq-hero { padding: 1rem 0 1.5rem; }
.aq-pagehead h1 { max-width: 48rem; }
.aq-meta { display: flex; flex-wrap: wrap; gap: .3rem 1.2rem; margin-top: .4rem; font-size: .82rem; color: var(--text-muted); }
.aq-meta b { margin-right: .35rem; font-family: var(--font-annotation); font-style: italic; font-weight: 500; color: var(--gold-soft); }
.aq-body { padding-bottom: 3.5rem; }
.aq-content { max-width: 52rem; min-width: 0; }
.aq-content.aq-wide { max-width: none; }
.aq-anchor { display: block; height: 0; scroll-margin-top: 100vh; }
.aq-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.aq-print-depth { display: none; }
/* no-JS fallbacks for scroll-margin; JS measure() sets the real header height */
:root { --aq-head-h: 110px; --aq-sticky: 110px; }
@media (max-width: 960px) { :root { --aq-head-h: 100px; --aq-sticky: 100px; } }

/* Layers (data-d, cumulative). JS on: html[data-depth] is the only switch.
   Top-level blocks and ledger entry parts stay in the layout tree while hidden once html.aq-kept is set (below). Every other
   layered element (library card meta and raw links, in flex rows with gaps) still leaves layout with display: none. */
html[data-depth="overview"] :is([data-d="2"], [data-d="3"]):not(.aq-content > .aq-blk, #ledger > .entry > *),
html[data-depth="engineer"] [data-d="3"]:not(.aq-content > .aq-blk, #ledger > .entry > *) { display: none !important; }
/* Tab fix (no content-visibility): until aq.js adds html.aq-kept after load, these blocks leave layout with display: none
   (first paint stays cheap). From then on a hidden block stays laid out: visibility: hidden (no paint, no accessibility tree,
   no focus, no find-in-page) in a zero-height clipped box, so a tab click only flips visibility and height, and the text
   paints in the next frame with no layout of its contents. */
html[data-depth="overview"]:not(.aq-kept) :is(.aq-content > .aq-blk, #ledger > .entry > *):is([data-d="2"], [data-d="3"]),
html[data-depth="engineer"]:not(.aq-kept) :is(.aq-content > .aq-blk, #ledger > .entry > *)[data-d="3"] { display: none !important; }
html.aq-kept[data-depth="overview"] :is(.aq-content > .aq-blk, #ledger > .entry > *):is([data-d="2"], [data-d="3"]),
html.aq-kept[data-depth="engineer"] :is(.aq-content > .aq-blk, #ledger > .entry > *)[data-d="3"] {
  visibility: hidden; height: 0; min-height: 0; overflow: clip;
  margin-block: 0 !important; padding-block: 0 !important; border-block-width: 0 !important;
}
/* No JS (no data-depth): Overview, unless #engineer / #research or a contained :target opens content */
html:not([data-depth]) body:not(:has(#engineer:target, #research:target)) [data-d="2"]:not(:target):not(:has(:target)),
html:not([data-depth]) body:not(:has(#research:target)) [data-d="3"]:not(:target):not(:has(:target)) { display: none !important; }

/* Lens copy (data-lens, exclusive). Every [data-lens] element is a block box. After html.aq-kept a hidden lens copy stays laid out
   (zero height, visibility: hidden). The live region always uses display: none. */
[data-lens] { display: block; }
html[data-depth="overview"]:not(.aq-kept) [data-lens]:not([data-lens="overview"]),
html[data-depth="engineer"]:not(.aq-kept) [data-lens]:not([data-lens="engineer"]),
html[data-depth="research"]:not(.aq-kept) [data-lens]:not([data-lens="research"]),
html[data-depth="overview"] #aq-depth-status > [data-lens]:not([data-lens="overview"]),
html[data-depth="engineer"] #aq-depth-status > [data-lens]:not([data-lens="engineer"]),
html[data-depth="research"] #aq-depth-status > [data-lens]:not([data-lens="research"]),
html:not([data-depth]) [data-lens]:not([data-lens="overview"]) { display: none !important; }
html.aq-kept[data-depth="overview"] [data-lens]:not([data-lens="overview"]),
html.aq-kept[data-depth="engineer"] [data-lens]:not([data-lens="engineer"]),
html.aq-kept[data-depth="research"] [data-lens]:not([data-lens="research"]) {
  visibility: hidden; height: 0; min-height: 0; overflow: clip; margin-block: 0 !important; padding-block: 0 !important; border-block-width: 0 !important;
}
html:not([data-depth]) body:has(#engineer:target, #research:target) [data-lens="overview"] { display: none !important; }
html:not([data-depth]) body:has(#engineer:target) [data-lens="engineer"],
html:not([data-depth]) body:has(#research:target) [data-lens="research"] { display: block !important; }

/* Lens order (Run D, D10): on lens pages the active layer's blocks lead, the rest keep source order, the record stays last. No DOM move. */
.aq-content.aq-lensorder { display: flex; flex-direction: column; reading-flow: flex-visual; }
.aq-lensorder > .aq-blk { order: 2; min-width: 0; }
html[data-depth="engineer"] .aq-lensorder > .aq-blk[data-d="2"],
html[data-depth="research"] .aq-lensorder > .aq-blk[data-d="3"],
html:not([data-depth]) body:has(#engineer:target) .aq-lensorder > .aq-blk[data-d="2"],
html:not([data-depth]) body:has(#research:target) .aq-lensorder > .aq-blk[data-d="3"] { order: 1; }
.aq-lensorder > .aq-blk.aq-record { order: 3 !important; }

/* Blocks and run marks (Run D, D11). Marks are computed at build time per lens, in visual order. */
.aq-blk { padding-bottom: 2.25rem; }
.aq-blk[data-d="2"], .aq-blk[data-d="3"] { padding-left: 1.1rem; border-left: 2px solid rgba(79, 198, 215, 0.3); }
.aq-blk[data-d="3"] { border-left-color: var(--gold-faint); }
.aq-blk[data-d="1"] { --aq-mk: "Overview"; --aq-mk-c: var(--text-secondary); }
.aq-blk[data-d="2"] { --aq-mk: "For engineers"; --aq-mk-c: var(--primary-light); }
.aq-blk[data-d="3"] { --aq-mk: "For researchers"; --aq-mk-c: var(--gold-soft); }
html[data-depth="engineer"] .aq-blk.aq-mk-e::before,
html[data-depth="research"] .aq-blk.aq-mk-r::before,
html:not([data-depth]) body:has(#engineer:target) .aq-blk.aq-mk-e::before,
html:not([data-depth]) body:has(#research:target) .aq-blk.aq-mk-r::before,
html:not([data-depth]) body:not(:has(#engineer:target, #research:target)) .aq-blk:not([data-d="1"]):has(:target)::before {
  content: var(--aq-mk); display: block; margin-bottom: .4rem; font-family: var(--font-annotation); font-style: italic;
  font-weight: 500; font-size: .8rem; letter-spacing: .06em; color: var(--aq-mk-c);
}

/* Lens hero (Run D, D8) */
.aq-lead { max-width: 46rem; margin: 0 0 .85rem; font-family: var(--font-display); font-weight: 500; font-size: clamp(1.05rem, 1.6vw, 1.3rem); line-height: 1.4; color: var(--primary-light); }
.aq-lead.aq-gen { font-family: var(--font-annotation); font-style: italic; font-weight: 400; font-size: .95rem; color: var(--gold-soft); }
.aq-pagehead .aq-framing { margin-top: 1.1rem; }
.aq-framing p { margin: 0 0 .8rem; max-width: 46rem; font-size: 1.05rem; line-height: 1.7; color: var(--text-secondary); }
.aq-framing p:first-child { color: var(--text-primary); }
.aq-glance { list-style: none; padding: 0 !important; margin: 1rem 0 0 !important; border-top: 1px solid var(--line-soft); }
.aq-glance li { margin: 0 !important; padding: .45rem 0; border-bottom: 1px solid var(--line-soft); font-size: .92rem; }
.aq-record { font-size: .86rem; color: var(--text-muted); }
.aq-record h2 { font-family: var(--font-annotation); font-style: italic; font-weight: 500; font-size: .95rem; color: var(--gold-soft); }

/* Hub tab pills in the AutoQA header (Run D, D4). The .tab-bar and .tab-pills rules themselves are the hub's (hub-tabs.css). */
.aq-header .tab-pills a { position: relative; transition: none; }
.aq-header .tab-pills a::after { content: ""; position: absolute; left: 0; right: 0; top: -6px; bottom: -6px; }
html:not([data-depth]) body:has(#engineer:target, #research:target) .aq-header .tab-pills a[data-tab="overview"] { background: none; color: var(--text-secondary); }
html:not([data-depth]) body:has(#engineer:target) .aq-header .tab-pills a[data-tab="engineer"],
html:not([data-depth]) body:has(#research:target) .aq-header .tab-pills a[data-tab="research"] { background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); color: var(--bg-dark); }

/* header: one row at 960 and below (Run B 4c, unchanged) */
@media (max-width: 960px) {
  .aq-header-inner { flex-wrap: nowrap; padding: .3rem 1rem; gap: .75rem; }
  .aq-brand { flex: none; }
  .aq-nav { position: relative; flex: 1 1 0; min-width: 0; flex-wrap: nowrap; gap: 1.1rem; overflow-x: auto; scrollbar-width: none;
            -webkit-mask-image: linear-gradient(90deg, #000 85%, transparent); mask-image: linear-gradient(90deg, #000 85%, transparent); }
  .aq-nav::-webkit-scrollbar { display: none; }
  .aq-nav a { display: inline-flex; align-items: center; min-height: 40px; white-space: nowrap; }
  .aq-header .btn { flex: none; width: auto; max-width: none; min-height: 40px; margin-left: 0; padding: 0 .8rem; font-size: .82rem; }
}
@media (max-width: 720px) {
  .aq-brand span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .aq-brand img { width: 32px; height: 32px; }
}

/* P1.6: inactive lenses ship with the hidden attribute (data-aq-hide), so a reader without CSS or JS gets one lens. Until aq.js
   primes and drops the attribute, these rules show the active lens's copy and layers. They beat the hub's #main [hidden] rule
   and only ever match elements the active lens shows. */
html[data-depth="engineer"] #main :is([data-aq-hide][data-lens="engineer"], .aq-content > .aq-blk[data-aq-hide][data-d="2"]),
html[data-depth="research"] #main :is([data-aq-hide][data-lens="research"], .aq-content > .aq-blk[data-aq-hide]:is([data-d="2"], [data-d="3"])),
html:not([data-depth]) body:has(#engineer:target) #main :is([data-aq-hide][data-lens="engineer"], .aq-content > .aq-blk[data-aq-hide][data-d="2"]),
html:not([data-depth]) body:has(#research:target) #main :is([data-aq-hide][data-lens="research"], .aq-content > .aq-blk[data-aq-hide]:is([data-d="2"], [data-d="3"])),
html:not([data-depth]) #main .aq-content > .aq-blk[data-aq-hide]:is(:target, :has(:target)) { display: block !important; }
.aq-pagehead h1 > br.aq-h1br { display: none; }  /* P1.6: line breaks for text-mode browsers that ignore the hidden attribute */

/* hub tab pills: the hub preview's .tab-bar and .tab-pills rules, unchanged (Run D, D3) */
.tab-bar {
    display: flex;
    justify-content: center;
    padding: 0.45rem 0 0.15rem;
}

.tab-pills {
    display: inline-flex;
    align-items: stretch;
    padding: 3px;
    border: 1px solid rgba(79, 198, 215, 0.28);
    border-radius: var(--radius-full);
    background: rgba(10, 15, 20, 0.55);
}

.tab-pills a {
    font-family: var(--font-display);
    font-size: clamp(0.72rem, 0.9vw, 0.95rem);
    font-weight: 600;
    letter-spacing: 0.02em;
    color: var(--text-secondary);
    padding: 0.38rem 0.95rem;
    border-radius: var(--radius-full);
    min-width: 5.6rem;
    text-align: center;
    transition: none;
}

.tab-pills a:hover {
    color: var(--primary-light);
}

.tab-pills a[aria-current="page"] {
    background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%);
    color: var(--bg-dark);
}

@media (max-width: 768px) {
    .tab-pills a {
        min-width: 0;
        padding: 0.36rem 0.7rem;
    }
}

.aq-content { color: var(--text-secondary); line-height: 1.7; overflow-wrap: break-word; }
.aq-pagehead { overflow-wrap: break-word; }
.aq-content h2 { font-family: var(--font-display); font-weight: 700; color: var(--text-primary); font-size: 1.35rem; line-height: 1.25; margin: 0 0 .7rem; }
.aq-content :is(p, ul, ol, dl, pre, table, blockquote, div, details, figure, article, hr, h3, h4, h5, h6) + h2 { margin-top: 2rem; }
.aq-content h3 { font-family: var(--font-display); font-weight: 600; color: var(--text-primary); font-size: 1.08rem; margin: 1.5rem 0 .5rem; }
.aq-content h4, .aq-content h5, .aq-content h6 { font-family: var(--font-display); font-weight: 600; color: var(--text-primary); font-size: .98rem; margin: 1.2rem 0 .4rem; }
.aq-content p, .aq-content dd { margin: 0 0 .8rem; }
.aq-content ul, .aq-content ol { padding-left: 1.3rem; margin: 0 0 1rem; }
.aq-content li { margin: .3rem 0; }
.aq-content li::marker { color: var(--gold-soft); }
.aq-content strong, .aq-content b { color: var(--text-primary); font-weight: 600; }
.aq-content a { color: var(--primary); text-decoration: underline; text-decoration-color: rgba(79, 198, 215, 0.35); text-underline-offset: 2px; }
.aq-content a:hover { color: var(--primary-light); text-decoration-color: currentColor; }
.aq-content hr { border: 0; border-top: 1px solid var(--line-soft); margin: 1.6rem 0; }
.aq-content blockquote { margin: .8rem 0 1rem; padding: .2rem 0 .2rem 1rem; border-left: 2px solid var(--gold-faint); }
.aq-content code { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: .86em; color: var(--primary-light); background: rgba(79, 198, 215, 0.08); border-radius: 4px; padding: .08em .35em; }
.aq-content pre { margin: 0 0 1rem; padding: .9rem 1rem; background: #070b10; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); overflow-x: auto; font-size: .82rem; line-height: 1.5; }
.aq-content pre code { background: none; padding: 0; color: var(--text-primary); }
.aq-content [id] { scroll-margin-top: calc(var(--aq-sticky) + 16px); }
.table-scroll { overflow-x: auto; margin: 0 0 1.2rem; }
.aq-content table { width: 100%; border-collapse: collapse; font-size: .9rem; }
.aq-content th, .aq-content td { text-align: left; vertical-align: top; padding: .55rem .7rem; border-bottom: 1px solid var(--line-soft); }
.aq-content thead th { font-family: var(--font-display); font-weight: 600; font-size: .8rem; letter-spacing: .03em; color: var(--gold-soft); border-bottom-color: rgba(251, 191, 36, 0.25); }
.aq-content tbody th { color: var(--text-primary); font-weight: 600; }
.aq-content details { margin: .6rem 0; padding: .6rem .85rem; background: var(--bg-card); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); }
.aq-content details > summary { cursor: pointer; font-family: var(--font-display); font-weight: 600; font-size: .9rem; color: var(--text-primary); }
.aq-content details[open] > summary { color: var(--primary); margin-bottom: .5rem; }
.aq-content a.ref { display: inline-block; font-size: .74rem; font-weight: 500; color: var(--primary-light); text-decoration: none; padding: 0 .4rem; border: 1px solid rgba(79, 198, 215, 0.28); border-radius: var(--radius-full); line-height: 1.5; white-space: nowrap; }
.aq-content a.ref:hover { background: rgba(79, 198, 215, 0.1); }
.aq-withheld { font-family: var(--font-annotation); font-style: italic; color: var(--text-muted); }
.doc-lede, .hero-lede, .ask-statement { font-size: 1.05rem; }
.boundary-note, .ask-bar-copy { margin: 1rem 0 1.25rem; padding: .95rem 1.05rem; border-left: 3px solid var(--gold-faint); background: var(--bg-card); border-radius: 0 var(--radius-sm) var(--radius-sm) 0; }
.ask-kicker, .panel-label, .eyebrow, .hero-kicker { display: inline-block; margin: 0 0 .35rem; font-family: var(--font-annotation); font-style: italic; font-weight: 500; font-size: .9rem; letter-spacing: .06em; color: var(--gold-soft); }
.decision-panel, .decision-card { margin: 1rem 0 1.25rem; padding: 1rem 1.15rem; background: var(--bg-card); border: 1px solid var(--line-soft); border-top: 2px solid var(--gold-faint); border-radius: var(--radius-md); }
.boundary-grid { margin: .8rem 0 1rem; border-top: 1px solid var(--line-soft); }
.boundary-grid article { display: grid; grid-template-columns: 8.5rem minmax(0, 1fr); gap: .3rem 1.2rem; padding: .85rem 0; border-bottom: 1px solid var(--line-soft); }
.boundary-grid h3 { margin: 0; font-size: 1.15rem; color: var(--gold-soft); }
.boundary-grid p { margin: 0; }
.aq-content article { margin: 0 0 .8rem; }
#phases article { padding: .85rem 1rem; background: var(--bg-card); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); }
.button, .cta { display: inline-flex; align-items: center; margin: 0 .5rem .5rem 0; padding: .45rem 1rem; border-radius: var(--radius-full); font-size: .88rem; font-weight: 600; text-decoration: none !important; color: var(--bg-dark) !important; background: linear-gradient(135deg, var(--primary) 0%, var(--primary-dark) 100%); }
.button-secondary, .cta.ghost { color: var(--primary-light) !important; background: transparent; border: 1.5px solid rgba(79, 198, 215, 0.4); }
/* ledger */
.controls { display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; margin: 0 0 .6rem; }
.controls input[type="search"], .search-box { flex: 1 1 100%; font: inherit; font-size: .92rem; color: var(--text-primary); background: var(--bg-card); border: 1px solid rgba(79, 198, 215, 0.22); border-radius: var(--radius-full); padding: .55rem 1rem; }
.controls input:focus-visible, .search-box:focus-visible, .controls button:focus-visible, .library-sidebar button:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.controls button, .library-sidebar button { font: inherit; font-size: .8rem; color: var(--text-secondary); background: transparent; border: 1px solid var(--line-soft); border-radius: var(--radius-full); padding: .3rem .75rem; cursor: pointer; }
.controls button.active, .library-sidebar button.active { color: var(--text-primary); border-color: rgba(79, 198, 215, 0.5); background: rgba(79, 198, 215, 0.1); }
.count-line, .library-summary { font-size: .82rem; color: var(--text-muted); margin: 0 0 1rem; }
.entry { margin: 0 0 .8rem; padding: .9rem 1rem; background: var(--bg-card); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); }
.entry .entry-head { margin: 0 0 .35rem; font-size: .78rem; color: var(--text-muted); }
.entry .entry-head b { margin-right: .3rem; color: var(--gold-soft); }
.entry .claim { margin: 0 0 .5rem; color: var(--text-primary); }
.entry .meta { margin: 0 0 .4rem; font-size: .86rem; overflow-wrap: anywhere; }
.entry details { background: rgba(10, 15, 20, 0.5); }
[data-domhead] { margin: 2rem 0 .8rem; }
/* library and cards */
.library-tools { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin: 0 0 1rem; }
.library-layout { display: grid; grid-template-columns: minmax(0, 1fr); gap: 1.25rem; }
.library-sidebar { display: flex; flex-wrap: wrap; gap: .4rem; }
@media (min-width: 900px) {
  .library-layout { grid-template-columns: 13rem minmax(0, 1fr); }
  .library-sidebar { flex-direction: column; align-items: flex-start; position: sticky; top: calc(var(--aq-sticky) + 12px); align-self: start; }
}
.doc-list { display: grid; grid-template-columns: minmax(0, 1fr); gap: .7rem; }
.doc-card { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .5rem 1rem; padding: .85rem 1rem; background: var(--bg-card); border: 1px solid var(--line-soft); border-radius: var(--radius-sm); }
.doc-card > div:first-child { flex: 1 1 20rem; min-width: 0; }
.doc-card h3 { margin: 0 0 .25rem; font-size: 1rem; }
.doc-card h3 a { color: var(--text-primary); text-decoration: none; }
.doc-card h3 a:hover { color: var(--primary); }
.doc-card p { margin: 0 0 .4rem; font-size: .9rem; }
.doc-card .doc-meta { display: flex; flex-wrap: wrap; gap: .3rem; }
.doc-card .doc-meta span { font-size: .72rem; color: var(--text-muted); border: 1px solid var(--line-soft); border-radius: var(--radius-full); padding: 0 .45rem; }
.doc-actions { flex: none; align-self: flex-start; display: flex; gap: .8rem; font-size: .85rem; }
.doc-actions a { text-decoration: none; }
/* viewers */
.aq-facts { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: .3rem 1rem; margin: 0 0 1rem; font-size: .88rem; }
.aq-facts dt { font-family: var(--font-annotation); font-style: italic; color: var(--gold-soft); }
.aq-facts dd { margin: 0; overflow-wrap: anywhere; }
.aq-toc ol { list-style: none; padding-left: 0; font-size: .85rem; }
.aq-toc .level-3 { padding-left: .9rem; } .aq-toc .level-4 { padding-left: 1.8rem; }
/* pygments, hub palette, no purple */
.aq-content .highlight { margin: 0 0 1rem; background: #070b10; border: 1px solid var(--line-soft); border-radius: var(--radius-sm); overflow-x: auto; color: var(--text-primary); }
.aq-content .highlight pre { margin: 0; border: 0; background: none; }
.aq-content table.highlighttable { width: auto; margin: 0; }
.aq-content .highlighttable td, .aq-content .highlighttable th { padding: 0; border: 0; }
.aq-content .highlighttable td.linenos { border-right: 1px solid var(--line-soft); }
.highlight .linenos, .highlight .normal, .highlighttable td.linenos pre { color: var(--text-muted); user-select: none; }
.highlight .k, .highlight .kc, .highlight .kd, .highlight .kn, .highlight .kp, .highlight .kr, .highlight .kt, .highlight .ow { color: var(--primary); }
.highlight .s, .highlight .s1, .highlight .s2, .highlight .sa, .highlight .sb, .highlight .sc, .highlight .sd, .highlight .se, .highlight .sh, .highlight .si, .highlight .sx, .highlight .dl { color: var(--gold-soft); }
.highlight .m, .highlight .mi, .highlight .mf, .highlight .mh, .highlight .mo, .highlight .il, .highlight .nb, .highlight .bp { color: var(--primary-light); }
.highlight .c, .highlight .c1, .highlight .cm, .highlight .ch, .highlight .cs, .highlight .cp, .highlight .cpf { color: var(--text-muted); font-style: italic; }
.highlight .nt, .highlight .na, .highlight .nl { color: var(--accent); }
.highlight .nf, .highlight .fm, .highlight .nc, .highlight .nn, .highlight .nd { color: var(--text-primary); font-weight: 600; }
.highlight .o, .highlight .p, .highlight .w { color: var(--text-secondary); }
.highlight .err { color: var(--text-primary); background: none; border: 0; }
@media (max-width: 720px) { .boundary-grid article { grid-template-columns: minmax(0, 1fr); } }
@media print {
  .aq-header, .skip-link, .aq-top, .controls, .count-line, .library-tools, .library-sidebar { display: none !important; }
  html, body, .aq-page, .footer { background: #fff !important; }
  body *, .aq-content * { color: #111 !important; }
  .aq-content a[href^="http"]::after { content: " <" attr(href) ">"; font-size: .8em; overflow-wrap: anywhere; }
  .entry, .doc-card, .aq-content details, .aq-content pre, .highlight, .boundary-note, .decision-panel { background: #fff !important; border-color: #999 !important; box-shadow: none !important; }
  .aq-blk[data-d="2"], .aq-blk[data-d="3"] { border-left-color: #999 !important; }
  .entry, .aq-content pre, .aq-content tr { break-inside: avoid; }
  .aq-print-depth { display: block; font-size: .8rem; margin-top: .4rem; }
  html[data-depth="overview"] .aq-print-depth::before { content: "Printed from the Overview tab"; }
  html[data-depth="engineer"] .aq-print-depth::before { content: "Printed from the For engineers tab"; }
  html[data-depth="research"] .aq-print-depth::before { content: "Printed from the For researchers tab"; }
}
