/* Shared interface contract. Page-specific files own layout; these components
   own the common reading scale, navigation, page headings and research bars. */
:root{
  --ui-title-size:clamp(26px,calc(24px + .3vw),28px);
  --ui-reading-size:14px;
  --ui-summary-size:13px;
  --ui-meta-size:12px;
  --ui-radius:12px;
}

/* The same title baseline at every width; no abrupt tablet enlargement. */
#content>.page-heading{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 20px;margin:0 0 12px;padding:0 0 10px}
#content>.page-heading h1{font-size:var(--ui-title-size);line-height:1.3}
#content>.page-heading p{font-size:12px;line-height:1.5;margin:0}
#content>.page-heading h1:focus{outline:none}
@media(max-width:650px){
  #content>.page-heading{gap:4px 14px}
  #content>.page-heading p{font-size:13px}
}

/* Navigation destinations remain full-width links in the desktop and drawer. */
.topbar{flex-wrap:nowrap;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#527579 transparent}
.topbar nav{grid-template-columns:minmax(0,1fr);max-width:100%;min-width:0;overflow:visible}
.topbar nav :is(button,a[data-view]){min-height:40px;text-decoration:none;white-space:normal;overflow-wrap:normal;line-height:20px}
.topbar nav :is(button,a[data-view]) .nav-label{min-width:0}
.topbar nav :is(button,a[data-view]) svg{flex-shrink:0}
.topbar nav :is(button,a[data-view]).nav-coming-soon{min-height:48px}
.topbar nav .nav-label small{font-size:11px;line-height:15px}
.topbar .institution-logos{flex:none}
.sidebar-profile{font-size:11px;flex:none}
@media(max-height:780px){
  .topbar{padding-top:18px;padding-bottom:14px}
  .topbar .brand{margin-bottom:18px}
  .topbar nav{gap:2px}
  .sidebar-profile{padding-top:16px}
  .sidebar-profile p{margin-bottom:9px}
  .topbar .institution-logos{margin-top:13px}
}
@media(max-width:1199px){
  .topbar{width:min(280px,calc(100vw - 40px))}
  .topbar nav :is(button,a[data-view]){min-height:44px;padding:9px 10px}
  .topbar nav :is(button,a[data-view]).nav-coming-soon{min-height:50px}
  .topbar .brand{margin-bottom:20px}
  .topbar .sidebar-profile{padding-top:22px}
}

/* One full-width source disclosure shared by every workspace. */
:is(#content,.studio-page) .research-disclosure{border-top:1px solid var(--line);padding:0;min-width:0}
:is(#content,.studio-page) .research-disclosure>summary{
  position:relative;display:grid;grid-template-columns:16px minmax(0,1fr) auto auto;
  align-items:center;justify-content:normal;gap:10px;min-height:48px;padding:10px 18px;
  border:0;background:var(--panel-soft);color:var(--accent);list-style:none;cursor:pointer;
  font:500 var(--ui-summary-size)/1.45 Inter,Arial,sans-serif;user-select:none;
}
:is(#content,.studio-page) .research-disclosure>summary::-webkit-details-marker{display:none}
:is(#content,.studio-page) .research-disclosure>summary>svg{
  position:static;grid-column:1;grid-row:1;width:16px;height:16px;margin:0;padding:0;
  fill:none;stroke:currentColor;stroke-width:1.6;transition:transform .15s;
}
:is(#content,.studio-page) .research-disclosure[open]>summary>svg{transform:rotate(90deg)}
:is(#content,.studio-page) .research-disclosure>summary>strong{
  position:static;grid-column:2;grid-row:1;min-width:0;width:auto;padding:0;margin:0;
  font-size:var(--ui-summary-size);font-weight:600;line-height:1.45;letter-spacing:0;text-align:center;color:var(--ink);
}
:is(#content,.studio-page) .research-disclosure>summary .audit-count{
  display:block;position:static;grid-column:3;grid-row:1;min-width:0;margin:0;padding:0;
  font-size:var(--ui-meta-size);line-height:1.4;color:var(--muted);white-space:nowrap;transform:none;
}
:is(#content,.studio-page) .research-disclosure>summary .audit-count:empty{display:none}
:is(#content,.studio-page) .research-disclosure>summary .audit-action{
  display:block;position:static;grid-column:4;grid-row:1;justify-self:end;margin:0;padding:4px 9px;
  border:1px solid var(--line);border-radius:999px;background:var(--surface);color:var(--accent);
  font-size:var(--ui-meta-size);line-height:1.4;white-space:nowrap;transform:none;
}
:is(#content,.studio-page) .research-disclosure>summary:hover{background:var(--topic-hover)}
:is(#content,.studio-page) .research-disclosure>summary:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}
@media(max-width:750px){
  :is(#content,.studio-page) .research-disclosure>summary{grid-template-columns:16px minmax(0,1fr) auto;gap:8px;padding:11px 13px}
  :is(#content,.studio-page) .research-disclosure>summary .audit-count{display:none}
  :is(#content,.studio-page) .research-disclosure>summary .audit-action{grid-column:3}
}
@media print{
  :is(#content,.studio-page) .research-disclosure>summary .audit-action{display:none}
}

/* Research qualifications need the same legibility as the finding itself. */
#content :is(.source-card,.paper-card,.guide-source-grid>article,.neuro-source-list article){
  min-width:0;border:1px solid var(--line);border-radius:8px;background:var(--surface);padding:18px;
  color:var(--text);overflow-wrap:anywhere;
}
#content :is(.source-card,.paper-card,.guide-source-grid>article,.neuro-source-list article) :is(p,dd){font-size:13px;line-height:1.7}
#content :is(.paper-title,.guide-source-grid h3,.neuro-source-list article>a){font-size:16px;line-height:1.6;font-weight:600}
#content :is(.paper-citation,.paper-tags,.paper-audit,.paper-limits,.audit-intro,.audit-conclusion,.guide-citation,.guide-source-audit,.guide-source-top>small,.guide-source-grid dt,.neuro-citation,.neuro-source-limits,.neuro-source-scope){font-size:12px;line-height:1.6}
#content .paper-tags{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0}
#content .paper-tags span{font-size:12px;line-height:1.45;padding:4px 8px;border-radius:999px}
#content .paper-audit{display:grid;gap:9px;border-top:1px solid var(--line);margin-top:14px;padding-top:13px}
#content .paper-audit span{font-size:12px;line-height:1.6}
#content .guide-source-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr))}
#content .guide-source-grid>article:not(.source-card) dt{margin-top:14px}
#content .guide-source-grid>article:not(.source-card) dd{margin:4px 0 0}
#content .guide-source-top>small{max-width:none;text-align:left}
#content :is(.guide-source-total,.guide-footer,.guide-footer details[open] p,.neuro-footer){font-size:12px;line-height:1.6}

/* Readable Atlas metadata without reducing its model area. */
body[data-page=research] #content :is(.atlas-topic-domain,.body-exposure-caption,.body-exposure-caption b,.body-model-controls button,.brain-controls button,.model-experience,.model-experience small,.atlas-classification-current span,.atlas-classification>details>summary,.evidence-key-label,.evidence-key-chip,.body-legend,.body-indicators .body-item small,.body-observation-details>summary,.body-scientific-boundary>summary,.body-study-links a,.body-scientific-boundary p,.body-design-implication>small,.region-choice small,.region-readout small,.brain-link-sources,.location-type,.region-hint,.export-button){font-size:12px;line-height:1.5}
body[data-page=research] #content :is(.body-readout,.body-observation p,.body-evidence>section>p,.body-study-exposure>p,.region-readout){font-size:13px;line-height:1.65}
body[data-page=research] .atlas-shell :is(.records,.body-evidence,.brain-interior .brain-side){
  scrollbar-width:auto;scrollbar-color:var(--accent-line) var(--panel-soft);scrollbar-gutter:stable;
  background-image:linear-gradient(var(--surface) 30%,#ffffff00),linear-gradient(#ffffff00,var(--surface) 70%),linear-gradient(var(--line),#ffffff00),linear-gradient(#ffffff00,var(--line));
  background-position:center top,center bottom,center top,center bottom;
  background-repeat:no-repeat;background-size:100% 30px,100% 30px,100% 7px,100% 7px;
  background-attachment:local,local,scroll,scroll;
}
body[data-page=research] .atlas-shell :is(.body-evidence,.brain-interior .brain-side){padding-bottom:24px}
body[data-page=research] .atlas-shell :is(.records,.body-evidence,.brain-interior .brain-side)::-webkit-scrollbar{width:9px}
body[data-page=research] .atlas-shell :is(.records,.body-evidence,.brain-interior .brain-side)::-webkit-scrollbar-track{background:var(--panel-soft);border-radius:99px}
body[data-page=research] .atlas-shell :is(.records,.body-evidence,.brain-interior .brain-side)::-webkit-scrollbar-thumb{background:var(--accent-line);border:2px solid var(--panel-soft);border-radius:99px}
body[data-page=research] .body-evidence :is(.body-indicators,.body-observation){margin-bottom:11px}
body[data-page=research] .atlas-classification{margin-bottom:12px}
#content :is(.neuro-function-header p,.neuro-function-position,.neuro-connection-note,.neuro-guide-button,.neuro-topic-links button,.neuro-topic-links a,.neuro-index-heading>span){font-size:12px}
@media(max-width:650px){
  body[data-page=research] .atlas-shell :is(.body-evidence,.brain-interior .brain-side){background-image:none;scrollbar-gutter:auto}
}

/* A quiet loading surface is visible until existing artwork has arrived. */
#content :is(.guide-card-image,.studio-card-image,.concept-card-image,.guide-section-image){background-color:var(--panel-soft)}
@media(prefers-reduced-motion:reduce){
  :is(#content,.studio-page) .research-disclosure>summary>svg{transition:none}
}

/* Classifications explain both the relationship and its confidence. */
#content .model-evidence-key{display:block;border:0;margin:10px 0 0;padding:0;font-size:12px;color:var(--text)}
#content .model-evidence-key :is(.evidence-key-intro,.evidence-key-note){font-size:12px;line-height:1.6;margin:8px 0 12px;color:var(--muted)}
#content .evidence-key-group+ .evidence-key-group{margin-top:15px}
#content .evidence-key-group h4{margin:0 0 8px;font-size:12px;line-height:1.5;color:var(--accent)}
#content .evidence-key-group dl{margin:0;display:grid;gap:8px}
#content .evidence-key-definition{padding:9px 10px;border:1px solid var(--line);border-radius:7px;background:var(--surface)}
#content .evidence-key-definition.applies{background:var(--panel-soft);border-color:var(--accent-line)}
#content .evidence-key-definition dt{display:flex;align-items:baseline;justify-content:space-between;gap:8px;font-size:12px;line-height:1.4;font-weight:600;color:var(--ink)}
#content .evidence-key-definition dd{margin:5px 0 0;font-size:12px;line-height:1.6;color:var(--muted)}
#content .evidence-key-selected{font-size:11px;font-weight:500;color:var(--accent);white-space:nowrap}
body[data-page=research] #content :is(.body-study-exposure>span,.body-observation-heading){font-size:12px}
#content :is(.neuro-themes button,.neuro-index button){font-size:12px}

/* Mobile navigation and the Atlas picker expose one task at a time. */
.atlas-topic-picker-toggle{display:none}
@media(max-width:1199px){
 body.navigation-open{overflow:hidden}
 .nav-scrim{z-index:19}
}
@media(max-width:650px){
 body[data-page=research] .atlas-shell>.evidence-sidebar{max-height:none;flex:none;padding:14px}
 body[data-page=research] .atlas-shell .count{margin:4px 0 10px}
 body[data-page=research] .atlas-topic-picker-toggle{
  display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;
  min-height:42px;padding:10px 12px;border:1px solid var(--accent-line);border-radius:999px;
  background:var(--panel-soft);color:var(--accent);font-size:12px;line-height:1.5;text-align:left;
 }
 body[data-page=research] .evidence-sidebar .records,
 body[data-page=research] .evidence-sidebar .export-button{display:none}
 body[data-page=research] .evidence-sidebar.atlas-topic-picker-is-open .records{
  display:block;flex:none;max-height:none;overflow:visible;scrollbar-gutter:auto;background-image:none;
  margin-top:12px;padding:0;
 }
 body[data-page=research] .evidence-sidebar.atlas-topic-picker-is-open .export-button{display:block}
 #content .source-card .paper-title{font-size:15px}
}
#content .source-card{container:source-card / inline-size}
@container source-card (max-width:420px){
 #content .source-card .paper-methods{grid-template-columns:1fr;gap:12px}
}

/* Evidence qualifications are reading content, including inside expanded audits.
   Print retains its dedicated paper typography. */
@media screen{
 #content :is(.guide-kicker,.guide-evidence-badges>span,.guide-evidence-badges b,.guide-tradeoff>span,.guide-tradeoff>small,.guide-research h3,.guide-research-actions>button){font-size:12px;line-height:1.6}
 #content .guide-research p{font-size:13px;line-height:1.75}
 #content .guide-evidence-badges{align-items:stretch}
 #content .guide-tradeoff>span{padding:3px 7px}
 :is(#content,.studio-page) :is(.studio-function-question,.studio-function-position,.studio-evidence-bar>label,.studio-building-select,.studio-evidence-brief span,.room-caption,.room-profile-description,.studio-dialog-kicker,.room-view-controls button,.studio-design-modes button,.paint-targets button,.studio-open-atlas,.room-control>span,.room-control output,.room-control>button,.palette-value,.palette-heading .eyebrow,.room-controls .eyebrow,.color-state,.color-evidence-level,.color-insight .color-research-link,.color-source-grid small){font-size:12px;line-height:1.5}
 :is(#content,.studio-page) :is(.studio-evidence-brief p,.color-insight,.color-insight p,.studio-research p,.studio-color-research p,.room-controls>p){font-size:13px;line-height:1.65}
 :is(#content,.reference-dialog) :is(.reference-confidence,.reference-risk-label,.reference-risk-sources button,.reference-anchor,.reference-context-tags>span,.reference-paper-citation,.reference-paper-audit,.reference-cell-label,.reference-method-top>span,.reference-method-meta,.reference-method-contexts,.reference-table thead th small,.reference-table .reference-limit,.reference-source-list,.reference-source-list li>span,.reference-audit-body dt,.reference-footer,.reference-open-evidence,.reference-audit-button){font-size:12px;line-height:1.6}
 #content :is(.concept-methods span,.function-evidence h4,.function-evidence small,.function-overview .eyebrow,.concept-detail-toolbar>span,.bfc-basis,.bfc-judgment,.bfc-update,.bfc-exports>span,.building-function-catalogue thead th){font-size:12px;line-height:1.5}
}

/* Compact navigation feedback and accessible interactive hit areas. */
.route-notice{flex-basis:100%;font-size:13px!important;color:var(--muted);margin:4px 0!important}.paper-links a,.brain-link-sources a,.body-study-links a{min-height:28px;display:inline-flex;align-items:center;padding:3px 0}.atlas-classification summary,.neuro-reading-key summary,.neuro-connection-note summary,.guide-footer summary{min-height:30px;display:flex;align-items:center}.brain-stage canvas:focus-visible,.body-stage canvas:focus-visible{outline:3px solid var(--green);outline-offset:-3px}

#content .atlas-guide-link{display:inline-flex;align-items:center;min-height:32px;font-size:12px;color:var(--accent);text-underline-offset:3px;margin-top:5px}#content :is(.body-observation-details>summary,.body-scientific-boundary>summary){min-height:32px;display:flex;align-items:center}.methodology-update{border-top:1px solid var(--line);padding-top:16px;margin-top:20px}.methodology-update p{font-size:13px;line-height:1.65}

/* Preserve research access when a model connection is slow or unavailable. */
#content :is(.body-load,.brain-load){padding:0 12px}
#content .model-load-explanation{display:block;margin:8px 0;font-size:12px;line-height:1.6}
#content .model-load-action{font-size:12px;min-height:36px;padding:7px 12px;margin:6px 3px;border-radius:999px;background:var(--surface);color:var(--accent);border-color:var(--line)}

/* Public release label below the atlas name in both navigation headers. */
.topbar .brand .brand-version,.mobile-header .brand-version{display:block;font-size:10px;font-weight:400;line-height:14px;letter-spacing:.02em;color:#c2d8d9;opacity:.85}
