.calculation-explanation pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:24rem; overflow:auto; font-size:.75rem; }
#research-sources { padding:12px; border-block:1px solid #475569; font-size:.8rem; }
#research-sources article { margin-block:12px; padding:10px; border:1px solid #64748b; border-radius:6px; }
#research-sources a { color:#38bdf8; text-decoration:underline; }
.calculation-explanation summary, #research-sources summary { cursor:pointer; }
#research-workbench { padding:12px; border-block:1px solid #64748b; font-size:.8rem; }
#research-workbench input, #research-workbench textarea { width:100%; box-sizing:border-box; }
.research-actions { display:flex; flex-wrap:wrap; gap:6px; margin-block:8px; }
.research-file { max-width:100%; }
#research-workbench pre { max-height:20rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
#research-workbench output { display:block; padding-block:8px; }
#research-analysis { padding:12px; font-size:.8rem; }
#research-analysis fieldset { display:flex; gap:4px; border:1px solid #64748b; margin-block:5px; }
#research-analysis input { min-width:0; width:45%; }
#research-analysis textarea { width:100%; box-sizing:border-box; }
#research-analysis pre { max-height:24rem; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; }
#research-comparison { position:absolute; inset:0; z-index:85; background:#0f172a; color:#f8fafc; padding:12px; overflow:auto; box-sizing:border-box; }
#research-comparison[hidden] { display:none; }
.comparison-toolbar { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.comparison-panes { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.comparison-panes section { min-width:0; }
.comparison-panes canvas { display:block; width:100%; height:52vh; touch-action:none; border:1px solid #64748b; }
.comparison-panes select { max-width:100%; }
.comparison-panes output { display:block; font-size:.8rem; padding-block:6px; }
.comparison-mobile { display:none; }
.comparing #lab-help-open { display:none; }
[data-workspace-mode="map"] [data-research-only] { display:none!important; }
#workspace-switch { display:flex; flex-wrap:wrap; gap:6px; padding:10px; }
#workspace-switch button { flex:1 1 40%; }
#geographic-search { padding:10px; border-block:1px solid #475569; }
#geographic-search input { width:100%; box-sizing:border-box; }
#geographic-search-results { display:grid; max-height:15rem; overflow:auto; }
#research-preparation { padding:10px; font-size:.8rem; }
#research-preparation output { display:block; }
#map-zoom { position:absolute; right:8px; top:65px; z-index:60; display:flex; gap:4px; }
#map-zoom button { min-width:42px; min-height:42px; background:#172554; color:white; }
button:focus-visible, input:focus-visible, select:focus-visible, summary:focus-visible, a:focus-visible, canvas:focus-visible { outline:3px solid #fbbf24; outline-offset:2px; }
input, select, textarea { max-width:100%; }
@media(max-width:768px) {
  #research-comparison { position:fixed; inset:0; }
  #research-comparison > p { font-size:.75rem; }
  .comparison-panes { display:block; }
  .comparison-mobile { display:flex; gap:8px; }
  #research-comparison:not([data-mobile-pane="1"]) [data-pane="1"], #research-comparison[data-mobile-pane="1"] [data-pane="0"] { display:none; }
  .comparison-panes canvas { height:48vh; }
}
