/* Shared classic scientific-blue palette. Loaded last, including in the editor frame. */
:root{--bg:#F5F6F8;--paper:#FFFFFF;--soft:#F1F3F5;--ink:#20242A;--mut:#60666E;--rule:#D8DDE3;--line:#D8DDE3;--teal:#24568A;--teal2:#24568A;--accent:#24568A;--accent-hover:#1B456F;--selected:#EBF1F8;--selected-border:#B8CBE0;--header:#223B53}
body{color:var(--ink);background:var(--bg)}
a{color:var(--accent);border-bottom-color:#B8CBE0}a:hover{border-bottom-color:var(--accent)}
header{background:var(--header);border-bottom-color:var(--header)}
header .brand,header .brand:hover,header .brand svg{color:#FFFFFF}
header .brand span{color:#D6DFE9}
header nav a{color:#D6DFE9;border-bottom-color:transparent}
header nav a:hover{color:#FFFFFF;border-bottom-color:#90AED0}
header nav a.on{color:#FFFFFF;border-bottom-color:#FFFFFF}


header :focus-visible{outline-color:#C8D6E4}
.primary-button{background:var(--accent);border-color:var(--accent);color:#FFFFFF}
.primary-button:hover{background:var(--accent-hover);border-color:var(--accent-hover)}
.secondary-button,.quiet-button,.text-button,.file-identity>svg{color:var(--ink)}
.text-button:hover,.secondary-button:hover{color:var(--accent)}
.secondary-button:hover,.quiet-button:hover,.view-tabs button[aria-selected=true]{background:var(--selected)}
:is(input,textarea)::placeholder{color:var(--mut)}
p.body,.lede,.input-feedback,.data-source-notes p,.observed-label,.observed-cell[data-label='0']{color:var(--mut)}
.panel-heading,.canvas-caption,.molecule-meta,.view-tabs,.batch-file-panel .batch-file-preview th,.record-table th,.data-page #data-table th,.data-page #data-table thead,.batch-page .batch-table th,.batch-page .batch-table thead,.validation-main table.b thead th,table.b th{background:#F4F5F7;color:var(--mut)}
.panel-heading h2{color:var(--ink)}
.workbench-page .score-number strong,.reference-score,.data-page .reference-score,.batch-page .batch-score,.data-reference #detail-score,.data-reference strong,.validation-metrics>div:first-child dd,.validation-metrics>div:last-child dd{color:var(--ink)}
.inspector-view-tools .view-icon[aria-pressed=true],.batch-page .chip.on,.batch-selection-bar,.data-example-row.is-current td,.batch-page .batch-row.is-inspected td,.validation-main table.b tr.best :is(th,td),table.b tr.best td{background:var(--selected);color:var(--ink)}
.inspector-view-tools .view-icon[aria-pressed=true],.batch-page .chip.on{border-color:var(--selected-border);color:var(--accent)}
.data-example-row:hover td,.batch-page .batch-row:hover td,.validation-main table.b tr:hover :is(th,td),table.b tr:hover td{background:#F5F6F8}
.validation-main table.b tr.best:hover :is(th,td){background:#E4ECF6}
.data-page .icon-button:hover,.batch-page .icon-button:hover,.batch-import.over{background:var(--selected)}
.inspector-resizer::after,.data-inspector-resizer::after{background:#9BA9B9}
.inspector-resizer:hover,.inspector-resizer:focus-visible,.inspector-resizer.is-dragging,.data-inspector-resizer:hover,.data-inspector-resizer:focus-visible,.data-inspector-resizer.is-dragging{background:#24568A18}
.data-space-row>div{background:#ECEFF2}.data-space-row i,.data-distribution-legend span::before{background:#ABB4BE}
.batch-job progress::-webkit-progress-bar{background:#ECEFF2}
.canvas-dock,.canvas-popover{color:var(--ink);border-color:var(--rule)}
.canvas-dock button:hover,.canvas-dock button[aria-expanded=true]{background:#F0F2F5}
.canvas-dock button[aria-pressed=true]{background:var(--selected);color:var(--accent)}
.canvas-dock #zoom-level,.canvas-dock #viewer-zoom-level,.canvas-popover .popover-title,.canvas-popover #graph-count{color:var(--mut)}
.surface-tooltip{background:#202C3B}
.ap-reading i{background:linear-gradient(to right,#AEB8C3 var(--ap),#ECEFF2 var(--ap))}
.best .ap-reading i{background:linear-gradient(to right,var(--accent) var(--ap),#D7E1ED var(--ap))}
.distribution-neg,.distribution-legend>span::before{background:#C8CDD4}
.distribution-legend .legend-positive::before{background:var(--accent)}
.distribution-legend .legend-threshold::before{background:none}
.validation-page .distribution-bin:hover,.validation-page .distribution-bin:focus-visible{background:#24568A0D}
.lg .pr-ours{border-color:var(--accent)}.lg .pr-baseline{border-color:#8A96A5}
#pr path[stroke='#164E59']{stroke:var(--accent)}#pr path[stroke='#718C94']{stroke:#8A96A5}
/* Keep molecular canvases white and chemical element / error colours unchanged. */
body.editor-theme{background:#FFFFFF}
.editor-theme .toolbar,.editor-theme .element-rail{background:#F4F5F7}
.editor-theme button:hover,.editor-theme .view-tools button:disabled:hover{background:#EBEEF3}
.editor-theme button.active,.editor-theme .toolbar button.active{background:var(--selected);border-color:var(--selected-border);color:var(--accent)}
.editor-theme .bond-line{stroke:var(--ink)}
.editor-theme .atom-selected{fill:#E4EDF8;stroke:#7C9DC3}
.editor-theme #selection-box{fill:#24568A1A;stroke:var(--accent)}
.editor-theme .preview-bond,.editor-theme .ring-preview,.editor-theme .hover-bond{stroke:var(--accent)}
.editor-theme .hover-atom,.editor-theme .snap-target{fill:#24568A15;stroke:var(--accent)}
.editor-theme .preview-endpoint{fill:var(--accent)}
.editor-theme #empty-hint b,.editor-theme #help-panel{color:var(--mut)}
.editor-theme .atom-index{fill:var(--mut)}
.editor-theme .editor-status #atom-numbers[aria-pressed=true]{background:var(--selected);color:var(--accent)}
/* Numeric readings are neutral; colour is reserved for state and interaction. */
.data-page #data-table .reference-score,.data-reference-score strong,.score-number strong,.batch-page .batch-table .batch-score{color:var(--ink)}
.editor-height-handle::after{background:#9BA9B9}

.workbench-page #result-panel{scroll-margin-top:16px}
