/* Native research instruments share the existing midnight, mint and ice palette. */
.research-tool-page {--research-rule:#2c4a59; --research-quiet:#a7bdc8; min-width:0; font-size:14px}
.research-tool-page .research-tool-header {display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px 22px; align-items:start; padding:5px 0 15px; border-bottom:1px solid var(--research-rule); margin:0 0 16px}
.research-tool-page .research-tool-header>.page-intro,.research-tool-page>.page-intro {padding:0; margin:0; max-width:none}
.research-tool-page .research-tool-header>.tag {margin-top:2px; max-width:230px}
.research-tool-page .page-intro .eyebrow {font:10px/1.6 var(--mono); letter-spacing:1.1px; margin:0 0 9px}
.research-tool-page .page-intro h1 {font:500 clamp(30px,3.1vw,44px)/1.12 var(--sans); letter-spacing:-1.35px; margin:0 0 9px; max-width:920px}
.research-tool-page .page-intro .lead {font-size:14px; line-height:1.6; max-width:870px; margin:0}
.research-tool-page .intro-meta {font-size:10px; line-height:1.65}
.research-tool-page p,.research-tool-page li {font-size:14px; line-height:1.65}
.research-tool-page .allocation-note {font-size:14px; line-height:1.65; color:var(--research-quiet)}
.research-tool-page .fine-print,.research-tool-page .help,.research-tool-page .table-note {font-size:12px; line-height:1.65; color:var(--research-quiet)}
.research-tool-page .spaced {margin-top:16px}
.research-tool-page .panel {border-color:var(--research-rule); background:var(--surface); border-radius:2px; box-shadow:none; min-width:0}
.research-tool-page .panel-header {padding:15px 19px; min-height:0; gap:10px; flex-wrap:wrap; align-items:center}
.research-tool-page .panel-pad {padding:19px; min-width:0}
.research-tool-page .panel-label {font:12px/1.65 var(--mono); letter-spacing:.45px; color:var(--research-quiet)}
.research-tool-page .panel h2 {font:500 25px/1.25 var(--sans); letter-spacing:-.6px; margin:0 0 12px}
.research-tool-page .panel h3 {font:500 19px/1.4 var(--sans); letter-spacing:-.3px; margin:0 0 12px}
.research-tool-page .tag {font:10px/1.6 var(--mono); letter-spacing:.3px; padding:4px 7px; max-width:100%; white-space:normal}
.research-tool-page .notice {font-size:14px; line-height:1.5; padding:11px 15px; margin:12px 0; border-color:var(--research-rule)}
.research-tool-page .notice p {font-size:14px; line-height:1.5; margin:0}
.research-tool-page .section-header {margin:22px 0 14px; gap:12px; flex-wrap:wrap; align-items:flex-end}
.research-tool-page .section-header h2 {font:500 24px/1.25 var(--sans); letter-spacing:-.55px; margin:0}
.research-tool-page .section-index {font:10px/1.65 var(--mono); letter-spacing:.55px}
.research-tool-page .research-tool-workbench {display:grid; grid-template-columns:minmax(310px,.92fr) minmax(0,1.25fr); gap:20px; align-items:start; min-width:0; margin:16px 0}
.research-tool-page .research-tool-controls,.research-tool-page .research-tool-output {min-width:0}
.research-tool-page .research-tool-controls {padding:19px; border:1px solid var(--research-rule); border-top-color:#507b85; background:var(--surface)}
.research-tool-page .research-tool-controls>.panel {border:0; padding:0; background:transparent; margin:0}
.research-tool-page .research-tool-controls>.panel>.panel-header {padding:0 0 14px}
.research-tool-page .research-tool-controls>.panel>.panel-pad {padding:16px 0 0}
.research-tool-page .research-tool-controls>.panel-label {display:block; margin-bottom:14px}
.research-tool-page .research-tool-output>.panel {margin-bottom:14px}
.research-tool-page .research-tool-output>:last-child {margin-bottom:0}
.research-tool-page .button {font-size:12px; line-height:1.5; min-height:36px; padding:10px 13px; white-space:normal; gap:12px}
.research-tool-page .button.secondary {border-color:#4e7280}
.research-tool-page .button-link {display:inline-flex; min-height:28px; align-items:center; padding:3px 0; font-size:12px; line-height:1.65; text-align:left; white-space:normal; overflow-wrap:anywhere}
.research-tool-page .button:disabled {cursor:default; opacity:.65}
.research-tool-page .actions,.research-tool-page .form-actions {gap:10px 14px; flex-wrap:wrap}
.research-tool-page .form-actions {margin-top:16px; align-items:center}
.research-tool-page .form-actions .fine-print {flex-basis:100%; margin:0}
.research-tool-page :is(a,button,input,select,textarea,summary):focus-visible {outline:2px solid var(--accent); outline-offset:3px}
.research-tool-page .form-grid,.research-tool-page .library-filter-grid,.research-tool-page .catalog-filters {display:grid; grid-template-columns:1fr 1fr; gap:14px; align-items:end}
.research-tool-page .field {min-width:0; gap:7px; margin:0}
.research-tool-page .field>span:first-child {font-size:12px; font-weight:500; line-height:1.5; color:var(--ink)}
.research-tool-page .field input,.research-tool-page .field select,.research-tool-page .field textarea {width:100%; min-width:0; min-height:40px; padding:9px 10px; font:14px/1.4 var(--mono); border-radius:2px; border-color:#4b6b7a; background:#07141d}
.research-tool-page .field input:hover,.research-tool-page .field select:hover {border-color:#78b5b9}
.research-tool-page .field .help {font-size:12px; line-height:1.6}
.research-tool-page .error-message {font-size:14px; line-height:1.65; color:var(--danger); overflow-wrap:anywhere; margin:12px 0 0}
.research-tool-page .error-message:empty {margin:0}
.research-tool-page .empty-state {min-width:0; min-height:190px; border:1px solid var(--research-rule); border-radius:2px; background:linear-gradient(135deg,#112431,#0b1923); padding:25px 22px; text-align:left; display:flex; flex-direction:column; justify-content:center; align-items:flex-start}
.research-tool-page .empty-state h2,.research-tool-page .empty-state h3 {font:500 25px/1.25 var(--sans); letter-spacing:-.6px; max-width:430px; margin:0 0 12px}
.research-tool-page .empty-state p {font-size:14px; line-height:1.65; max-width:500px; margin:0; color:var(--research-quiet)}
.research-tool-page .concept-result-slot,.research-tool-page .library-result-slot {min-width:0; margin-top:0}
.research-tool-page .concept-result-slot:focus-visible,.research-tool-page .library-result-slot:focus-visible {outline:2px solid var(--accent); outline-offset:4px}
.research-tool-page details {min-width:0}
.research-tool-page details>summary {font-size:12px; line-height:1.65; min-height:28px; padding:5px 0; cursor:pointer; color:var(--accent); overflow-wrap:anywhere}
.research-tool-page details>summary::marker {color:var(--accent)}
.research-tool-page .research-tool-disclosure {border:1px solid var(--research-rule); border-radius:2px; background:var(--surface); padding:11px 17px; margin:14px 0}
.research-tool-page .research-tool-disclosure[open]>summary {padding-bottom:13px; border-bottom:1px solid var(--research-rule); margin-bottom:15px}
.research-tool-page .research-tool-disclosure>.panel {margin:0; border:0; padding:0; background:transparent}
.research-tool-page .research-tool-disclosure>.panel>.panel-header {padding:15px 0}
.research-tool-page .research-tool-disclosure>.panel>.panel-pad {padding:17px 0 0}
.research-tool-page .source-detail {border-color:var(--research-rule); border-radius:2px; margin-top:12px; min-width:0}
.research-tool-page .source-detail>summary {font-size:12px; line-height:1.65; padding:11px 14px; min-height:40px}
.research-tool-page .source-content {padding:13px 14px 15px; font-size:14px; line-height:1.65; min-width:0; overflow-wrap:anywhere}
.research-tool-page .source-content p,.research-tool-page .source-content li,.research-tool-page .source-excerpt {font-size:14px; line-height:1.65}
.research-tool-page .source-meta,.research-tool-page .task-meta {font:11px/1.7 var(--mono); color:var(--research-quiet); overflow-wrap:anywhere}
.research-tool-page .assumption-list {font-size:14px; line-height:1.65; margin:9px 0 0; padding-left:18px; color:var(--research-quiet)}
.research-tool-page .assumption-list li {font-size:14px; line-height:1.65; margin-bottom:8px; padding-left:2px; overflow-wrap:anywhere}
.research-tool-page .assumption-list li:last-child {margin-bottom:0}
.research-tool-page .definition-grid {gap:14px 20px; min-width:0}
.research-tool-page .definition-grid>div {min-width:0}
.research-tool-page .definition-grid dt {font:12px/1.65 var(--mono); color:var(--research-quiet)}
.research-tool-page .definition-grid dd {font-size:14px; line-height:1.6; margin-top:6px; overflow-wrap:anywhere}
.research-tool-page .metric-grid {margin:16px 0; border-color:var(--research-rule); grid-template-columns:repeat(4,minmax(0,1fr))}
.research-tool-page .metric {padding:16px; min-width:0}
.research-tool-page .metric-label {font:12px/1.65 var(--mono); letter-spacing:.3px}
.research-tool-page .metric-value {font:500 27px/1.2 var(--mono); letter-spacing:-.8px; overflow-wrap:anywhere}
.research-tool-page .metric-note {font-size:12px; line-height:1.55; margin-top:8px}
.research-tool-page .table-wrap {max-width:100%; min-width:0}
.research-tool-page th,.research-tool-page td {font-size:12px; line-height:1.6; padding:11px 12px; overflow-wrap:anywhere}
.research-tool-page .brief-boundaries {padding:16px; margin-top:17px; border-color:#746247; background:#241f1b}
.research-tool-page .brief-boundaries .panel-label {color:var(--warning)}
.research-tool-page .concept-picker {padding:0; margin:0; border:0; min-width:0}
.research-tool-page.compare-tool-page .research-tool-controls>.panel-header {padding:0 0 14px}
.research-tool-page.compare-tool-page .research-tool-controls>.panel-pad {padding:16px 0 0}
.research-tool-page .concept-picker>legend {font:12px/1.65 var(--mono); padding:0 0 10px; color:var(--science-ice)}
.research-tool-page .concept-choice-grid {grid-template-columns:1fr 1fr; gap:8px; margin-top:14px}
.research-tool-page .concept-choice {border:1px solid var(--research-rule); border-radius:2px; background:#0a1720; gap:10px; padding:11px 12px; min-height:52px; font-size:14px; line-height:1.55; min-width:0}
.research-tool-page .concept-choice:has(input:checked) {background:#11312f; border-color:var(--accent)}
.research-tool-page .concept-choice:has(input:disabled:not(:checked)) {opacity:.65}
.research-tool-page .concept-choice input {width:18px; height:18px; min-height:18px; flex-shrink:0; margin:2px 0 0; accent-color:var(--accent)}
.research-tool-page .concept-choice>span {min-width:0; overflow-wrap:anywhere}
.research-tool-page .concept-comparison-grid {grid-template-columns:1fr; gap:12px; margin-top:16px}
.research-tool-page .concept-card {padding:17px; border-color:var(--research-rule); background:#0a1720; border-radius:2px; min-width:0}
.research-tool-page .concept-card h3 {font:500 18px/1.4 var(--sans); letter-spacing:-.25px; margin:0 0 10px}
.research-tool-page .concept-card p:not(.source-meta) {font-size:14px; line-height:1.65; margin:0 0 12px}
.research-tool-page .concept-card .button-link {margin-top:9px}
.research-tool-page .concept-result .panel-header,.research-tool-page .governance-result .panel-header {gap:10px; flex-wrap:wrap}
.research-tool-page .library-filters {margin:0 0 15px}
.research-tool-page .library-filters .actions {margin:14px 0 10px}
.research-tool-page .library-task-grid {grid-template-columns:1fr; gap:9px; margin:14px 0 0}
.research-tool-page .library-task-card {border-color:var(--research-rule); border-radius:2px; background:#0a1720}
.research-tool-page .library-task-card .panel-pad {padding:14px}
.research-tool-page .library-task-card .panel-label {font-size:12px; line-height:1.6}
.research-tool-page .library-task-card h3 {font:500 18px/1.35 var(--sans); letter-spacing:-.2px; margin:8px 0}
.research-tool-page .library-task-card p {font-size:14px; line-height:1.6; margin:0 0 10px}
.research-tool-page .library-task-card .task-meta {font-size:11px; line-height:1.65; margin:0 0 7px}
.research-tool-page .library-task-button {font-size:12px; min-height:28px; padding:4px 0}
.research-tool-page .library-task-card .library-task-button {font:500 17px/1.4 var(--sans); letter-spacing:-.2px; padding:1px 0; min-height:28px}
.research-tool-page .library-task-card .research-tool-disclosure {border:0; border-top:1px solid var(--research-rule); background:transparent; border-radius:0; padding:6px 0 0; margin:7px 0 0}
.research-tool-page .library-task-card .research-tool-disclosure>summary {padding:3px 0; min-height:28px}
.research-tool-page .library-task-card .research-tool-disclosure[open]>summary {border:0; margin-bottom:7px; padding-bottom:3px}
.research-tool-page .library-task-card:has(.library-task-button[aria-pressed=true]) {border-color:var(--accent); background:#11312f}
.research-tool-page .library-task-button[aria-pressed=true] {color:var(--accent); text-decoration:underline; text-underline-offset:4px}
.research-tool-page .library-task-scope {padding:0 0 17px}
.research-tool-page .library-task-scope h2 {font:500 25px/1.25 var(--sans); letter-spacing:-.6px; margin:11px 0}
.research-tool-page .library-task-scope p {font-size:14px; line-height:1.65; margin:0}
.research-tool-page .task-grid {grid-template-columns:1fr 1fr; gap:9px}
.research-tool-page .task-link {border-color:var(--research-rule); border-radius:2px; padding:14px 33px 14px 15px; gap:6px 12px; min-width:0; position:relative; background:#0a1720}
.research-tool-page .task-link:hover {background:#102632; border-color:#6cabb1}
.research-tool-page .task-label {font:12px/1.6 var(--mono); letter-spacing:.3px}
.research-tool-page .task-question {font-size:14px; line-height:1.6; min-width:0}
.research-tool-page .task-arrow {position:absolute; right:12px; top:14px; font-size:16px}
.research-tool-page .task-meta {font-size:11px; line-height:1.65; margin-top:4px}
.research-tool-page .coverage-toolbar {padding:16px 18px; margin:0 0 15px}
.research-tool-page .coverage-toolbar .fine-print {margin:12px 0 0}
.research-tool-page .model-grid {grid-template-columns:1fr 1fr; gap:14px}
.research-tool-page .model-card .model-name {font:500 23px/1.3 var(--mono); letter-spacing:-.7px; margin:0 0 17px; overflow-wrap:anywhere}
.research-tool-page .model-card .definition-grid {margin-top:16px}
.research-tool-page .model-card .assumption-list {font-size:14px}
.research-tool-page .serving-status .definition-grid {margin-top:17px}
.research-tool-page .serving-status h2 {font-size:25px; line-height:1.25; margin:0 0 12px}
.research-tool-page .research-model-summary .panel-pad {display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:14px 26px; align-items:start}
.research-tool-page .research-model-summary .panel-pad>h2,.research-tool-page .research-model-summary .panel-pad>.allocation-note,.research-tool-page .research-model-summary .panel-pad>.actions {grid-column:1; margin:0}
.research-tool-page .research-model-summary .panel-pad>.definition-grid {grid-column:2; grid-row:1/4; margin:0}
.research-tool-page .research-source-inventory>.panel-pad {display:grid; grid-template-columns:1fr 1fr; align-items:start; gap:10px 14px}
.research-tool-page .research-source-inventory>.panel-pad>.allocation-note {grid-column:1/-1; margin:0 0 3px}
.research-tool-page .research-source-inventory>.panel-pad>.source-detail {margin:0}
.research-tool-page .research-source-inventory>.panel-pad>.source-detail[open] {grid-column:1/-1}
.research-tool-page .research-model-inventory {font-size:14px; line-height:1.65; margin:15px 0; color:var(--research-quiet); overflow-wrap:anywhere}
.research-tool-page .research-pack-scope {margin-top:20px; padding-top:17px; border-top:1px solid var(--research-rule); min-width:0}
.research-tool-page .research-pack-scope h2 {font:500 24px/1.3 var(--sans); letter-spacing:-.5px; margin:0 0 16px}
.research-tool-page .research-pack-scope h3 {font:500 17px/1.45 var(--sans); margin:19px 0 9px}
.research-tool-page .research-compact-result>.panel-pad>.research-tool-disclosure:last-child {margin-bottom:0}
.research-tool-page .quality-check {padding:14px 0}
.research-tool-page .quality-check strong {font-size:14px; line-height:1.5}
.research-tool-page .quality-check p {font-size:14px; line-height:1.65; margin:6px 0 0}
.research-tool-page .queue-counts {gap:15px; padding:17px 0}
.research-tool-page .queue-counts strong {font:500 27px/1.2 var(--mono)}
.research-tool-page .queue-counts span {font:11px/1.65 var(--mono); margin-top:8px}
.research-tool-page .research-metrics {padding:15px 19px; gap:15px; margin-bottom:16px}
.research-tool-page .research-metrics .metric-label {font-size:12px}
.research-tool-page .research-metric-value {font-size:12px; line-height:1.65; overflow-wrap:anywhere}
.research-tool-page .method-note {font-size:14px; line-height:1.65; padding:0 19px; margin-bottom:15px}
.research-tool-page .historical-brief>summary,.research-tool-page .historical-serving>summary {padding:13px 17px; font-size:12px; line-height:1.65}
.research-tool-page .historical-policy {font-size:12px; line-height:1.65; padding:0 17px 13px}
.research-tool-page .serving-profile summary {font-size:12px; line-height:1.65}
.research-tool-page .serving-cost-result {margin-top:18px; padding-top:17px}
.research-tool-page .serving-cost-result .metric-grid {grid-template-columns:1fr 1fr}
.research-tool-page .serving-cost-result .metric-value {font-size:25px}
.research-tool-page .research-tool-context {display:flex; align-items:flex-start; flex-wrap:wrap; gap:10px 24px; margin-top:18px; border-top:1px solid var(--research-rule); padding-top:12px}
.research-tool-page .research-tool-privacy {font-size:12px; line-height:1.65; margin-top:19px; padding-top:12px; border-top:1px solid var(--research-rule); color:var(--research-quiet)}
@media(min-width:1500px) {
  .research-tool-page .research-tool-workbench {gap:24px}
  .research-tool-page .research-tool-controls {padding:22px}
}
@media(max-width:1100px) {
  .research-tool-page .research-tool-workbench {grid-template-columns:minmax(285px,1fr) minmax(0,1.15fr); gap:15px}
  .research-tool-page .research-tool-controls {padding:16px}
  .research-tool-page .panel-pad {padding:17px}
  .research-tool-page .panel-header {padding:14px 17px}
  .research-tool-page .concept-choice-grid {grid-template-columns:1fr}
  .research-tool-page .library-filter-grid,.research-tool-page .catalog-filters {grid-template-columns:1fr}
  .research-tool-page .model-grid {grid-template-columns:1fr}
}
@media(max-width:800px) {
  .research-tool-page .research-tool-header {grid-template-columns:1fr; gap:11px; padding-bottom:15px}
  .research-tool-page .research-tool-header>.tag {margin:0; justify-self:start}
  .research-tool-page .page-intro h1 {font-size:34px; letter-spacing:-1.1px}
  .research-tool-page .research-tool-workbench {grid-template-columns:1fr; gap:16px}
  .research-tool-page .research-tool-controls {padding:18px}
  .research-tool-page .concept-choice-grid {grid-template-columns:1fr 1fr}
  .research-tool-page .library-filter-grid,.research-tool-page .catalog-filters {grid-template-columns:1.15fr 1fr}
  .research-tool-page .model-grid {grid-template-columns:1fr 1fr}
  .research-tool-page .empty-state {min-height:160px}
  .research-tool-page .research-model-summary .panel-pad {grid-template-columns:1fr; gap:15px}
  .research-tool-page .research-model-summary .panel-pad>.definition-grid {grid-column:1; grid-row:auto}
}
@media(max-width:520px) {
  .research-tool-page .page-intro h1 {font-size:31px; letter-spacing:-1px}
  .research-tool-page .research-tool-controls {padding:15px}
  .research-tool-page .panel-pad {padding:17px}
  .research-tool-page .panel-header {padding:13px 16px}
  .research-tool-page .panel h2 {font-size:24px}
  .research-tool-page .panel h3 {font-size:18px}
  .research-tool-page .field input,.research-tool-page .field select,.research-tool-page .field textarea {font-size:16px}
  .research-tool-page .form-grid,.research-tool-page .library-filter-grid,.research-tool-page .catalog-filters {grid-template-columns:1fr; gap:13px}
  .research-tool-page .concept-choice-grid {gap:7px}
  .research-tool-page .concept-choice {font-size:14px; line-height:1.5; padding:10px; gap:8px}
  .research-tool-page .concept-form .form-actions {flex-direction:row; align-items:stretch}
  .research-tool-page .concept-form .form-actions>.button[type=submit] {width:100%}
  .research-tool-page .concept-form .form-actions>.button:not([type=submit]) {flex:1 1 auto}
  .research-tool-page .concept-card {padding:14px}
  .research-tool-page .concept-card h3 {font-size:18px}
  .research-tool-page .source-detail>summary {padding:10px 12px}
  .research-tool-page .source-content {padding:12px}
  .research-tool-page .research-tool-disclosure {padding:10px 13px}
  .research-tool-page .definition-grid {grid-template-columns:1fr; gap:13px}
  .research-tool-page .research-model-summary .definition-grid {grid-template-columns:1fr 1fr; gap:15px}
  .research-tool-page .research-source-inventory>.panel-pad {grid-template-columns:1fr; gap:9px}
  .research-tool-page .metric-grid {grid-template-columns:1fr 1fr}
  .research-tool-page .metric {padding:14px}
  .research-tool-page .metric-value {font-size:25px}
  .research-tool-page .metric-note {font-size:12px; line-height:1.55}
  .research-tool-page.sources-tool-page .metric {padding:12px 14px}
  .research-tool-page.sources-tool-page .metric-label {margin-bottom:6px}
  .research-tool-page.sources-tool-page .metric-value {font-size:24px}
  .research-tool-page.sources-tool-page .metric-note {margin-top:6px}
  .research-tool-page .model-grid,.research-tool-page .task-grid {grid-template-columns:1fr}
  .research-tool-page .model-card .model-name {font-size:22px}
  .research-tool-page .library-task-card .panel-pad {padding:13px}
  .research-tool-page .library-task-card h3 {font-size:18px}
  .research-tool-page .task-link {padding:13px 31px 13px 14px}
  .research-tool-page .research-metrics {grid-template-columns:1fr 1fr; padding:14px 17px}
  .research-tool-page .method-note {padding:0 17px}
  .research-tool-page .change-versions {grid-template-columns:1fr}
  .research-tool-page .empty-state {padding:23px 18px}
  .research-tool-page .empty-state h2,.research-tool-page .empty-state h3 {font-size:24px}
}
@media(min-width:1200px) {
  .research-tool-page.compare-tool-page .research-tool-workbench {grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}
  .research-tool-page.compare-tool-page .concept-choice-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(min-width:801px) and (max-width:1199px) {
  .research-tool-page.compare-tool-page .research-tool-workbench {grid-template-columns:1fr}
  .research-tool-page.compare-tool-page .concept-choice-grid {grid-template-columns:repeat(3,minmax(0,1fr))}
}
