/* One source reader for admitted public texts, staff knowledge and client publications. */
#content:has([data-source-reader]){max-inline-size:90rem}
.source-reader{--source-link:var(--link,var(--text));min-width:0;margin-block:var(--space-5,1.5rem);color:var(--text);line-height:1.85}
.source-reader [hidden]{display:none!important}
.source-metadata{display:flex;flex-wrap:wrap;gap:var(--space-3,1rem) var(--space-5,1.5rem);padding-block:var(--space-3,1rem);border-block:1px solid var(--border);font-size:.88em}
.source-metadata div{max-inline-size:100%;overflow-wrap:anywhere}
.source-metadata dt{color:var(--text-muted);font-size:.9em}
.source-metadata dd{margin:0;font-weight:600}
.source-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2,.5rem);padding-block:var(--space-3,1rem);border-block-end:1px solid var(--border)}
.source-toolbar a,.source-toolbar button,.source-mobile-switch button{display:inline-flex;align-items:center;justify-content:center;min-block-size:var(--size-target,2.75rem);padding:var(--space-2,.5rem) var(--space-3,1rem);border:1px solid var(--border);border-radius:var(--shape-control,.5rem);background:var(--surface);color:var(--text);font:inherit;text-decoration:none;cursor:pointer;margin:0}
.source-toolbar button[aria-expanded=true],.source-mobile-switch button[aria-pressed=true]{background:var(--action,var(--source-link));color:var(--on-action,var(--surface))}
.source-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5,1.5rem);margin-block-start:var(--space-5,1.5rem);align-items:start}
.source-contents{min-inline-size:0;background:var(--surface-raised,var(--surface));border:1px solid var(--border);border-radius:var(--shape-surface,.5rem);padding:var(--space-3,1rem)}
.source-contents summary{cursor:pointer;font-weight:600;min-block-size:var(--size-target,2.75rem);padding-block:var(--space-2,.5rem)}
.source-contents ol{list-style:none;margin:0;padding:0}
.source-contents ol ol{padding-inline-start:var(--space-3,1rem);border-inline-start:1px solid var(--border)}
.source-contents a{display:block;color:var(--text);text-decoration:none;padding:var(--space-2,.5rem);border-inline-start:2px solid transparent;overflow-wrap:anywhere;line-height:1.6}
.source-contents a:hover,.source-contents a[aria-current]{color:var(--source-link);border-inline-start-color:var(--source-link);text-decoration:underline}
.source-search-label{display:block;font-size:.85em;color:var(--text-muted);margin-block:var(--space-2,.5rem)}
.source-reader input[type=search]{inline-size:100%;min-inline-size:0;min-block-size:var(--size-target,2.75rem);background:var(--surface);color:var(--text);font:inherit;border:1px solid var(--border);border-radius:var(--shape-control,.5rem);padding:var(--space-2,.5rem)}
[data-source-outline]{max-block-size:50dvh;overflow:auto;margin-block-start:var(--space-3,1rem);scrollbar-width:thin}
[data-source-results]{max-block-size:40dvh;overflow:auto;border-block:1px solid var(--border);margin-block:var(--space-3,1rem);font-size:.9em}
[data-source-results] a{border-block-end:1px solid var(--border)}
[data-source-results] strong,[data-source-results] span{display:block}
[data-source-results] span{color:var(--text-muted)}
.source-columns{min-inline-size:0;display:grid;grid-template-columns:minmax(0,1fr);gap:var(--space-5,1.5rem)}
.source-columns>*{min-inline-size:0}
.source-transcript{max-inline-size:80ch;inline-size:100%;margin-inline:auto}
.source-unit{position:relative;padding-block:var(--space-3,1rem);border-block-end:1px solid var(--border);overflow-wrap:anywhere;scroll-margin-block-start:6rem}
.source-unit p{white-space:pre-wrap;margin-block:var(--space-2,.5rem);line-height:1.95}
.source-unit h3,.source-unit h4,.source-unit h5,.source-unit h6{color:var(--source-link);margin-block:var(--space-2,.5rem);line-height:1.7}
.source-unit:target,.source-unit[data-source-active]{outline:2px solid var(--source-link);outline-offset:var(--space-1,.25rem);border-radius:var(--shape-control,.5rem)}
.source-unit-actions{display:flex;justify-content:flex-end;gap:var(--space-2,.5rem);align-items:center;margin-block-start:var(--space-2,.5rem);font-size:.8em;color:var(--text-muted)}
.source-unit-actions a,.source-unit-actions button{min-block-size:var(--size-target,2.75rem);min-inline-size:var(--size-target,2.75rem);padding:var(--space-1,.25rem) var(--space-2,.5rem);color:var(--source-link);font:inherit;background:transparent;border:1px solid var(--border);border-radius:var(--shape-control,.5rem);cursor:pointer;text-decoration:none}
.source-numbered{display:flex;gap:var(--space-3,1rem)}
.source-marker{flex:none;min-inline-size:1.5em;direction:ltr;unicode-bidi:isolate;font-variant-numeric:tabular-nums;color:var(--text-muted)}
.source-original{padding:var(--space-3,1rem);border:1px solid var(--border);border-radius:var(--shape-surface,.5rem);background:var(--surface-raised,var(--surface))}
.source-pdf-tools{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2,.5rem);margin-block:var(--space-2,.5rem)}
.source-pdf-tools button{min-block-size:var(--size-target,2.75rem);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--shape-control,.5rem)}
.source-pdf-tools label{display:inline-flex;gap:var(--space-1,.25rem);align-items:center}
.source-pdf-tools input{inline-size:4em;color:var(--text);background:var(--surface);font:inherit;border:1px solid var(--border);min-block-size:var(--size-target,2.75rem)}
.source-pdf-scroll{overflow:auto;max-block-size:70dvh;background:var(--surface);border:1px solid var(--border)}
.source-pdf-canvas{display:block;inline-size:100%;block-size:auto;background:white}
.source-original iframe{inline-size:100%;block-size:70dvh;border:1px solid var(--border);background:var(--surface);display:block}
.source-mobile-switch{display:none}
.source-reader textarea{inline-size:100%;color:var(--text);background:var(--surface);font:inherit}
.source-legacy-anchor{display:block;scroll-margin-block-start:6rem}
.source-reader a:focus-visible,.source-reader button:focus-visible,.source-reader summary:focus-visible,.source-reader input:focus-visible{outline:2px solid var(--focus,var(--source-link));outline-offset:3px}
.source-reader .table-scroll{overflow:auto;max-inline-size:100%}
.source-reader table{inline-size:100%;border-collapse:collapse}
.source-reader th,.source-reader td{padding:var(--space-2,.5rem);border:1px solid var(--border);text-align:start;vertical-align:top}
.source-dialog{inline-size:min(96vw,90rem);max-inline-size:96vw;max-block-size:94dvh;padding:0;border:1px solid var(--border);border-radius:var(--shape-surface,.5rem);background:var(--surface);color:var(--text);overflow:auto}
.source-dialog::backdrop{background:color-mix(in srgb,var(--text) 35%,transparent)}
.source-dialog>header{position:sticky;inset-block-start:0;z-index:2;background:var(--surface);border-block-end:1px solid var(--border);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3,1rem);padding:var(--space-3,1rem)}
.source-dialog>header :is(button,a){min-block-size:var(--size-target,2.75rem);display:inline-flex;align-items:center;padding:var(--space-2,.5rem) var(--space-3,1rem);font:inherit;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--shape-control,.5rem)}
.source-dialog>header h2{flex:1 1 14rem;margin:0;font-size:1.1em}
.source-dialog>.source-reader,.source-dialog>p{margin:var(--space-4,1rem)}
@media(min-width:64rem){
 .source-layout{grid-template-columns:minmax(12rem,15rem) minmax(0,1fr)}
 .source-contents{position:sticky;inset-block-start:var(--space-4,1rem);max-block-size:85dvh;overflow:auto}
 .source-reader[data-source-comparing] .source-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
 .source-reader[data-source-comparing] .source-original{position:sticky;inset-block-start:var(--space-4,1rem)}
}
@media(max-width:63.99rem){
 .source-reader[data-source-comparing] .source-mobile-switch{display:flex;gap:var(--space-2,.5rem);margin-block:var(--space-3,1rem)}
 .source-reader[data-source-comparing][data-source-mobile-view=text] .source-original{display:none}
 .source-reader[data-source-comparing][data-source-mobile-view=original] .source-transcript{display:none}
 .source-reader[data-source-comparing] .source-contents{display:none}
}
@media print{
 body:has(.source-dialog[open])>:not(.source-dialog){display:none!important}
 .source-toolbar,.source-contents,.source-unit-actions,.source-mobile-switch,.source-status,[data-source-copy-fallback],.source-original{display:none!important}
 .source-layout,.source-columns{display:block!important}.source-reader .source-transcript{display:block!important;max-inline-size:none}
 .source-unit{break-inside:avoid}.source-dialog[open]{position:static;max-block-size:none;inline-size:100%;max-inline-size:none;border:0;overflow:visible}
 .source-dialog>header{position:static}.source-dialog>header :is(button,a){display:none}
}

.knowledge-library-header{margin-block-end:var(--space-5)}
.knowledge-library-header p{max-inline-size:65ch;line-height:1.8}
.knowledge-scopes{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-block:var(--space-4)}
.knowledge-scopes a{padding:var(--space-2) var(--space-4);border:var(--stroke-hairline) solid var(--border);border-radius:var(--shape-control);text-decoration:none;min-block-size:var(--size-target);display:inline-flex;align-items:center}
.knowledge-scopes a[aria-current=page]{background:var(--text);color:var(--surface)}
.knowledge-scopes a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
.knowledge-search-form{display:grid;gap:var(--space-2);grid-template-columns:minmax(0,1fr)}
.knowledge-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,19rem),1fr));gap:var(--space-4);list-style:none;padding:0}
.knowledge-cards .record{border:var(--stroke-hairline) solid var(--border);border-radius:var(--shape-surface);padding:var(--space-4);margin:0;min-inline-size:0;overflow-wrap:anywhere}
.knowledge-cards h3{margin-block-start:0;line-height:1.6}
.knowledge-cards h3>a{display:flex;align-items:center;min-block-size:var(--size-target)}
.source-card-meta{font-size:var(--type-label-font-size);line-height:1.7}
.knowledge-search-form{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"query-label query-label" "query submit" "filters filters";align-items:end}
.knowledge-search-form label[for=knowledge-query]{grid-area:query-label}
.knowledge-search-form #knowledge-query{grid-area:query;min-inline-size:0}
.knowledge-search-form button{grid-area:submit;margin:0}
.knowledge-source-filters{grid-area:filters;display:grid;gap:var(--space-3);margin-block-start:var(--space-3);min-inline-size:0}
.knowledge-source-filters>*{min-inline-size:0}
.knowledge-source-filters label{display:block;margin-block-end:var(--space-2)}
.knowledge-source-filters select{inline-size:100%;min-inline-size:0;min-block-size:var(--size-target)}
@media(min-width:36rem){.knowledge-source-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}

.source-pdf-layout{display:flex;align-items:stretch;min-inline-size:0;gap:.75rem}
.source-pdf-layout .source-pdf-scroll{position:relative;flex:1;min-inline-size:0;block-size:72dvh;overflow:auto;overflow-anchor:none;scrollbar-gutter:stable;background:#e9e8e3;padding:1rem;direction:ltr;box-sizing:border-box}
.source-pdf-page{margin:0 auto 1rem;background:#fff;box-shadow:0 2px 10px #0002;flex-shrink:0;max-inline-size:none}
.source-pdf-page .source-pdf-canvas{inline-size:100%;block-size:100%}
.source-pdf-contents{inline-size:min(16rem,30%);overflow:auto;max-block-size:72dvh;border-inline-end:1px solid var(--border);font-size:.8rem}
.source-pdf-contents[hidden]{display:none}
.source-pdf-contents button{display:block;text-align:start;inline-size:100%;border:0;border-block-end:1px solid var(--border);padding:.75rem;background:transparent;color:inherit;font:inherit;cursor:pointer}
.source-pdf-contents button:hover,.source-pdf-contents button:focus-visible{background:var(--surface)}
.source-pdf-tools button{padding:.35rem .7rem;cursor:pointer}.source-pdf-tools [aria-pressed=true]{border-color:currentColor;font-weight:600}.source-pdf-tools button:disabled{opacity:.4;cursor:default}
.source-pdf-status:empty{display:none}
@media(max-width:40rem){.source-pdf-layout{display:block}.source-pdf-contents{inline-size:100%;max-block-size:12rem;margin-block-end:.75rem}.source-pdf-layout .source-pdf-scroll{padding:.5rem}.source-pdf-tools{gap:.25rem}.source-pdf-tools button{font-size:.75rem;padding:.25rem .45rem}}
