/* Atlas search and inspect. The molecular viewer and landing layout are separate. */
.workspace-search-type, .workspace-type-help { display:none; }
#screen-input.disambiguation-active .input-hero {
  width:100%; max-width:none; height:100dvh; min-height:0; margin:0;
  padding:24px clamp(20px, 3vw, 54px) 52px; align-items:stretch; justify-content:center;
}
#screen-input .input-card.disambiguation-active {
  width:min(1560px, 100%); max-width:none; height:100%; max-height:100%; min-height:0; margin:0 auto; padding:0;
  grid-template-columns:minmax(0, 1fr) 250px; grid-template-rows:40px 52px auto minmax(0, 1fr);
  grid-template-areas:"logo logo" "search type" "hint hint" "panel panel"; gap:12px 16px; align-items:stretch;
}
.disambiguation-active .search-home-navigation { position:fixed; top:18px; left:22px; z-index:30; display:flex; flex-direction:row; flex-wrap:nowrap; gap:20px; align-items:center; }
.disambiguation-active .input-logo { margin:0; }
.disambiguation-active .input-logo svg { width:36px; height:36px; }
.disambiguation-active .search-home-link {
  justify-content:center; width:38px; height:38px; min-height:38px; padding:0; border:1px solid var(--dim); border-radius:8px; background:var(--raised); color:var(--t2);
}
.disambiguation-active .search-home-icon { width:18px; height:18px; background:none; color:inherit; }
.disambiguation-active .search-home-link:hover { color:var(--accent); background:var(--accent-g); border-color:var(--accent); }
#screen-input.disambiguation-active > .home-toggle { display:none; }
#screen-input.disambiguation-active > #input-user-menu-mount { left:auto; right:76px; top:18px; position:absolute; }
#screen-input.disambiguation-active #input-user-menu-mount .user-menu-dropdown { left:auto; right:0; }
#screen-input.disambiguation-active .input-box { height:52px; border-radius:8px; background:var(--base); }
#screen-input.disambiguation-active .input-field { font:400 16px 'IBM Plex Mono',monospace; padding:12px 16px; }
#screen-input.disambiguation-active .submit-btn { min-width:104px; border-radius:0 7px 7px 0; }
.disambiguation-active .workspace-search-type { grid-area:type; display:grid; gap:3px; min-width:0; }
.workspace-search-type label { color:var(--t2); font:500 11px 'DM Sans',sans-serif; }
.workspace-search-type select { width:100%; min-width:0; padding:7px 10px; color:var(--t1); border:1px solid var(--mid); border-radius:7px; background:var(--base); font:500 13px 'DM Sans',sans-serif; }
.disambiguation-active .workspace-type-help { grid-area:hint; display:block; margin:0 0 7px; color:var(--t2); font:400 12px/1.5 'DM Sans',sans-serif; }
#screen-input.disambiguation-active .input-disambiguation { width:100%; max-width:none; min-height:0; overflow:visible; }
#screen-input .input-card.disambiguation-active .atlas-search-workspace {
  display:flex; flex-direction:column; height:100%; max-height:100%; min-height:0; padding:0;
  border:0; border-radius:0; background:none; box-shadow:none; overflow:visible;
}
.atlas-search-workspace::before, .atlas-search-workspace::after { display:none; }
.workspace-columns { display:grid; grid-template-columns:154px minmax(0, 1fr) minmax(280px, 330px); gap:26px; height:100%; min-height:0; }
.workspace-species { min-width:0; overflow:auto; padding:16px 15px 0 0; border-top:1px solid var(--mid); border-right:1px solid var(--dim); }
.workspace-species summary { cursor:pointer; display:flex; align-items:center; gap:6px; list-style:none; font:600 13px/1.5 'DM Sans',sans-serif; color:var(--t1); margin:0; padding:2px 0; transition:color 160ms ease; }
.workspace-species summary::-webkit-details-marker { display:none; }
.workspace-species summary:hover { color:var(--accent); }
.workspace-species summary svg { width:13px; height:13px; flex-shrink:0; transition:transform 180ms ease; }
.workspace-species[data-expanded=true] summary svg { transform:rotate(90deg); }
.workspace-filter-content { padding-top:18px; }
.workspace-species summary [data-species-label] { display:none; }
.workspace-filter-label { display:block; font:500 11px 'IBM Plex Mono',monospace; color:var(--t2); margin-bottom:10px; }
.atlas-search-workspace .species-filter-container { display:flex; flex-direction:column; align-items:stretch; gap:4px; width:100%; padding:0; margin:0; border:0; background:none; overflow:visible; }
.atlas-search-workspace .species-filter-btn { position:relative; border:1px solid transparent; border-radius:6px; text-align:left; padding:9px 13px; color:var(--t2); font:500 12px 'DM Sans',sans-serif; transition:background-color 160ms ease, color 160ms ease, border-color 160ms ease; }
.atlas-search-workspace .species-filter-btn::before { content:''; position:absolute; left:4px; top:calc(50% - 7px); height:14px; width:2px; border-radius:2px; background:var(--accent); opacity:0; transform:scaleY(.5); transition:opacity 160ms ease,transform 160ms ease; }
.atlas-search-workspace .species-filter-btn.active::before { opacity:1; transform:scaleY(1); }
.atlas-search-workspace .species-filter-btn:hover { background:var(--raised); color:var(--t1); }
.atlas-search-workspace .species-filter-btn.active { color:var(--accent); border-color:color-mix(in srgb,var(--accent) 30%,transparent); background:var(--accent-g); }
.atlas-search-workspace .species-custom-filter { display:grid; gap:8px; padding:16px 0 0; margin:8px 0 0; width:100%; min-width:0; border:0; border-top:1px solid var(--dim); background:none; border-radius:0; }
.species-custom-filter label { font:500 11px 'DM Sans',sans-serif; color:var(--t2); }
.workspace-species-entry { display:grid; gap:6px; min-width:0; }
.atlas-search-workspace .species-custom-input { width:100%; min-width:0; border:1px solid var(--mid); background:var(--base); padding:8px; border-radius:6px; font-size:11px; }
.atlas-search-workspace .species-custom-apply, .atlas-search-workspace .species-custom-clear { padding:7px 9px; border:1px solid var(--dim); border-radius:5px; font:500 11px 'DM Sans',sans-serif; background:var(--base); color:var(--t2); }
.atlas-search-workspace .species-custom-clear[hidden] { display:none; }
.workspace-results { display:flex; flex-direction:column; min-height:0; min-width:0; border-top:1px solid var(--mid); padding-top:14px; }
.workspace-results-head { flex-shrink:0; padding-bottom:12px; }
.atlas-search-workspace .search-panel-head { align-items:flex-start; gap:8px; margin:0; }
.atlas-search-workspace .input-disambiguation-title, .workspace-heading { display:block; overflow-wrap:anywhere; font:600 22px/1.4 'DM Sans',sans-serif; margin:0; }
.atlas-search-workspace .result-count-number { color:var(--accent); font:600 14px/1.5 'DM Sans',sans-serif; white-space:normal; }
.atlas-search-workspace .input-disambiguation-copy { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 6px; font:400 12px/1.5 'DM Sans',sans-serif; color:var(--t2); margin-top:6px; }
.workspace-count-label { color:var(--accent); font-weight:500; }
.workspace-count-note { flex-basis:100%; font-size:11px; }
.workspace-count-note:empty, .workspace-count-label:empty { display:none; }
.atlas-search-workspace .search-panel-actions { gap:4px; flex-shrink:0; }
.atlas-search-workspace .search-panel-actions button { min-height:32px; padding:6px 8px; border-color:var(--dim); background:var(--base); border-radius:6px; font-size:11px; }
.atlas-search-workspace .search-panel-actions button span { display:none; }
.workspace-request-status { display:flex; gap:8px; flex-wrap:wrap; align-items:center; padding:12px; margin-bottom:10px; color:var(--t2); font:400 13px/1.5 'DM Sans',sans-serif; border-left:2px solid var(--accent); background:var(--base); }
.workspace-request-status[hidden] { display:none; }
.workspace-request-status strong { color:var(--t1); }
.workspace-request-status button, .workspace-empty button { padding:7px 10px; border:1px solid var(--mid); background:var(--base); color:var(--accent); border-radius:6px; font:500 12px 'DM Sans',sans-serif; cursor:pointer; }
.workspace-result-content { flex:1; min-height:0; display:flex; flex-direction:column; transition:opacity 160ms ease; }
.workspace-result-content[inert] { opacity:.42; }
#screen-input .atlas-search-workspace .input-disambiguation-list { display:flex; flex-direction:column; gap:0; flex:1; min-height:0; max-height:none; overflow-y:auto; overflow-x:hidden; padding:0 8px 20px 0; margin:0; scrollbar-gutter:stable; }
.workspace-notices:empty { display:none; }
.workspace-notices .search-source-note { font:400 12px/1.55 'DM Sans',sans-serif; color:var(--t2); margin:0 0 12px; }
.workspace-coverage { margin-bottom:12px; color:var(--t2); font:400 11px/1.5 'DM Sans',sans-serif; }
.workspace-coverage summary { cursor:pointer; }
.workspace-coverage .search-source-note { margin:8px 0; }
.atlas-search-workspace .search-share-feedback[data-state=error] { position:static; width:auto; height:auto; clip-path:none; white-space:normal; margin-bottom:12px; font:400 12px/1.5 'DM Sans',sans-serif; color:var(--accent); }
.atlas-search-workspace .search-share-button { position:relative; }
.search-share-link-icon { transition:opacity 140ms ease,transform 140ms ease; }
.search-share-button .search-share-check-icon { position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); opacity:0; pointer-events:none; transition:opacity 140ms ease; }
.search-share-check-icon path { stroke-dasharray:1; stroke-dashoffset:1; transition:stroke-dashoffset 240ms ease; }
.search-share-button[data-copied=true] .search-share-link-icon { opacity:0; transform:scale(.85); }
.search-share-button[data-copied=true] .search-share-check-icon { opacity:1; }
.search-share-button[data-copied=true] .search-share-check-icon path { stroke-dashoffset:0; }
.atlas-search-workspace .search-share-button[data-copied=true] { background:var(--accent-g); border-color:var(--accent); color:var(--accent); }
.atlas-search-workspace .search-spelling-notice { font-size:12px; margin:0 0 12px; }
.atlas-search-workspace .protein-result-card {
  flex-shrink:0; margin:0; padding:17px 14px; border:0; border-top:1px solid var(--dim); border-radius:0; background:color-mix(in srgb,var(--base) 91%,transparent); box-shadow:none; cursor:default;
}
.atlas-search-workspace .protein-result-card::before { display:none; }
.atlas-search-workspace .protein-result-card:hover { transform:none; border-color:var(--dim); box-shadow:none; background:color-mix(in srgb,var(--base) 96%,transparent); }
.atlas-search-workspace .protein-result-card.function-panel-active { background:color-mix(in srgb,var(--accent) 8%,var(--base)); box-shadow:inset 2px 0 var(--accent); }
.atlas-search-workspace .protein-result-card .input-disambiguation-option-header { display:flex; flex-wrap:wrap; flex-direction:row; align-items:flex-start; gap:12px; }
.atlas-search-workspace .protein-result-title-block { flex:1 1 270px; min-width:0; }
.atlas-search-workspace .protein-result-card .input-disambiguation-option-title { font:600 15px/1.45 'DM Sans',sans-serif; overflow-wrap:anywhere; }
.atlas-search-workspace .protein-result-subtitle { gap:7px; margin-top:7px; }
.atlas-search-workspace .protein-title-organism { flex-basis:100%; font:400 13px 'DM Sans',sans-serif; color:var(--t2); margin-bottom:3px; }
.atlas-search-workspace .protein-info-grid { gap:6px; margin-top:10px; }
.atlas-search-workspace .protein-info-chip { border:0; background:none; padding:2px 0; margin-right:8px; font-size:11px; }
.atlas-search-workspace .protein-status-chip { font-size:9px; }
.workspace-record-actions { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.atlas-search-workspace .card-expand-btn, .workspace-detail-button, .workspace-open, .atlas-search-workspace .search-open-structure {
  display:inline-flex; align-items:center; justify-content:center; width:auto; height:auto; min-height:32px; padding:6px 9px; margin:0; border:1px solid var(--dim); border-radius:6px; background:var(--base); color:var(--t2); font:500 12px 'DM Sans',sans-serif; cursor:pointer;
  transition:color 150ms, border-color 150ms, background-color 150ms;
}
.workspace-open, .atlas-search-workspace .search-open-structure { color:var(--accent); background:var(--accent-g); border-color:color-mix(in srgb,var(--accent) 30%,var(--dim)); }
.workspace-record-actions button:hover { border-color:var(--accent); color:var(--accent); }
.atlas-search-workspace .card-function { display:none; }
.atlas-search-workspace .card-details.expanded { padding-top:14px; }
.atlas-search-workspace .search-structure-details { margin:0; }
.atlas-search-workspace .search-structure-details > summary { display:none; }
.atlas-search-workspace .search-structure-details[open] { padding-top:14px; font-size:12px; }
.atlas-search-workspace .search-evidence { font:400 12px/1.6 'DM Sans',sans-serif; margin-top:8px; }
.atlas-search-workspace .search-evidence summary { color:var(--accent); cursor:pointer; }
.atlas-search-workspace .search-load-more { flex-shrink:0; align-self:center; margin:16px 0; padding:8px 15px; color:var(--t1); background:var(--base); border:1px solid var(--mid); border-radius:6px; font:500 12px 'DM Sans',sans-serif; }
.atlas-search-workspace.is-compact .protein-result-card { padding:11px 12px; }
.atlas-search-workspace.is-compact .protein-result-card .input-disambiguation-option-title { font-size:14px; }
.workspace-inspector { min-width:0; min-height:0; position:relative; padding-top:14px; border-top:1px solid var(--mid); }
.workspace-inspect-idle { padding:26px 20px; max-width:300px; background:color-mix(in srgb,var(--base) 88%,transparent); border-radius:8px; margin-top:35px; }
.workspace-eyebrow { font:500 10px 'IBM Plex Mono',monospace; letter-spacing:.12em; color:var(--accent); }
.workspace-inspect-idle h2 { font:600 18px/1.4 'DM Sans',sans-serif; margin:12px 0 8px; }
.workspace-inspect-idle p { font:400 13px/1.65 'DM Sans',sans-serif; color:var(--t2); margin:0; }
.workspace-inspect-content { height:100%; min-height:0; }
.atlas-search-workspace.has-inspection .workspace-inspect-idle, .workspace-no-records .workspace-inspect-idle { display:none; }
.atlas-search-workspace:not(.has-inspection) .workspace-inspect-content { height:0; }
.workspace-inspector .protein-function-panel {
  position:relative; top:auto; right:auto; z-index:1; display:none; width:100%; height:100%; padding:16px 0 0;
  border:1px solid var(--dim); border-radius:10px; box-shadow:none; background:var(--base); transform:none;
}
.workspace-inspector .protein-function-panel.is-open { display:flex; animation:workspace-inspect-enter 180ms ease-out; }
.workspace-inspector .protein-function-panel-head { padding:0 18px 16px; }
.workspace-inspector .protein-function-panel h2, .workspace-record-details h2 { font:600 17px/1.5 'DM Sans',sans-serif; margin:6px 0 0; overflow-wrap:anywhere; }
.workspace-inspector .protein-function-panel-scroll { padding:0 18px 18px; }
.workspace-inspector .protein-function-panel-copy, .workspace-inspector .protein-function-panel-detail-content { font:400 13px/1.7 'DM Sans',sans-serif; }
.workspace-record-details { display:flex; flex-direction:column; max-height:100%; background:var(--base); border:1px solid var(--dim); border-radius:10px; padding:18px; font:400 13px/1.6 'DM Sans',sans-serif; animation:workspace-inspect-enter 180ms ease-out; }
.workspace-record-details .protein-function-panel-head { padding:0 0 16px; flex-shrink:0; }
.workspace-record-copy { min-height:0; overflow:auto; }
.workspace-record-copy ul { padding-left:18px; }
.workspace-record-copy .search-structure-details { padding:0; }
.workspace-record-copy .search-assembly-list { display:flex; flex-direction:column; align-items:stretch; }
.workspace-record-copy .search-assembly-button { padding:9px; border:1px solid var(--mid); border-radius:6px; background:var(--accent-g); color:var(--accent); text-align:left; font:500 12px/1.5 'DM Sans',sans-serif; cursor:pointer; }
.workspace-record-copy .search-source-note { color:var(--t2); }
.workspace-inspector .workspace-inspect-open { margin:0 18px 16px; flex-shrink:0; align-self:flex-start; }
.workspace-empty { padding:38px 18px; max-width:480px; }
.workspace-empty h2 { margin:0 0 12px; font:600 22px/1.4 'DM Sans',sans-serif; }
.workspace-empty p { color:var(--t2); font:400 14px/1.7 'DM Sans',sans-serif; margin:0 0 18px; }
.workspace-loading { display:grid; gap:18px; padding:16px; }
.workspace-loading > div { height:82px; border-block:1px solid var(--dim); background:linear-gradient(90deg,var(--raised),transparent); border-radius:4px; }
#screen-input.disambiguation-active #dna-webgl { opacity:.4; mask-image:linear-gradient(90deg,transparent 40%,#000 80%); transition:opacity 180ms; }
#screen-input.disambiguation-active.search-no-records #dna-webgl { opacity:.64; }
.atlas-search-workspace :is(button,input,select,summary):focus-visible, .workspace-search-type select:focus-visible { outline:2px solid var(--accent); outline-offset:3px; }
.atlas-search-workspace [hidden] { display:none!important; }
@keyframes workspace-inspect-enter { from { opacity:0; transform:translateX(5px); } to { opacity:1; transform:none; } }
@media (max-width:1240px) {
  .workspace-columns { grid-template-columns:145px minmax(0,1fr); gap:20px; }
  .workspace-inspector { display:none; }
  .workspace-record-details { margin-top:14px; max-height:none; }
  .workspace-record-copy { overflow:visible; }
  #screen-input.disambiguation-active #dna-webgl { opacity:.22; }
}
@media (min-width:1241px) { .atlas-search-workspace .search-structure-details[open] { display:none; } .workspace-record-copy .search-structure-details[open] { display:block; } }
@media (min-width:721px) and (max-width:900px) {
  #screen-input.disambiguation-active .input-hero { padding:16px 18px 42px; }
  #screen-input .input-card.disambiguation-active { grid-template-columns:minmax(0,1fr); grid-template-rows:42px 48px auto auto minmax(0,1fr); grid-template-areas:"logo" "search" "type" "hint" "panel"; gap:10px; }
  .disambiguation-active .search-home-navigation { flex-direction:row; align-items:center; justify-content:space-between; gap:10px; }
  .disambiguation-active .input-logo-primary { font-size:17px; }
  .disambiguation-active .input-logo-secondary { font-size:10px; }
  .disambiguation-active .search-home-link { font-size:12px; }
  #screen-input.disambiguation-active .input-box { height:48px; }
  #screen-input.disambiguation-active .input-field { font-size:14px; }
  #screen-input.disambiguation-active .submit-btn { min-width:80px; }
  .disambiguation-active .workspace-search-type { display:flex; align-items:center; gap:12px; }
  .workspace-search-type label { white-space:nowrap; }
  .workspace-search-type select { flex:1; }
  .disambiguation-active .workspace-type-help { font-size:11px; margin:0; }
  .workspace-columns { display:flex; flex-direction:column; gap:14px; }
  .workspace-species { flex-shrink:0; border:1px solid var(--dim); border-radius:7px; padding:8px 11px; background:var(--base); overflow:visible; }
  .workspace-species summary { margin:0; font-size:12px; }
  .workspace-species summary [data-species-label] { display:block; margin-left:auto; max-width:50%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--t2); font-size:11px; }
  .workspace-filter-label { margin-top:14px; }
  .atlas-search-workspace .species-filter-container { flex-direction:row; flex-wrap:wrap; }
  .atlas-search-workspace .species-custom-filter { flex-basis:100%; }
  .workspace-species-entry { grid-template-columns:minmax(0,1fr) auto; }
  .workspace-results { flex:1; }
  .atlas-search-workspace .input-disambiguation-title { font-size:20px; }
  .atlas-search-workspace .protein-result-card { padding:14px 10px; }
  .atlas-search-workspace .protein-result-title-block { flex-basis:100%; }
  .atlas-search-workspace .search-panel-head { flex-wrap:wrap; }
  .workspace-empty { padding:28px 10px; }
  .workspace-empty h2 { font-size:20px; }
  #screen-input.disambiguation-active.search-no-records #dna-webgl { opacity:.3; }
}
@media (max-height:760px), (min-width:721px) and (max-width:900px) {
  #screen-input .input-card.disambiguation-active .atlas-search-workspace { overflow-y:auto; }
  .workspace-columns { height:auto; min-height:100%; }
  #screen-input .atlas-search-workspace .input-disambiguation-list { overflow:visible; flex:0 0 auto; }
}
@media (prefers-reduced-motion:reduce) {
  .atlas-search-workspace *, .atlas-search-workspace *::before, .atlas-search-workspace *::after, #screen-input.disambiguation-active #dna-webgl { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
/* The workspace is desktop-only. Phones stay on the existing landing notice,
   including landscape phones whose viewport is wider than the size guard. */
.atlas-desktop-required #screen-input :is(.input-box,.input-examples,.input-sub,.input-heading,.input-error,.workspace-search-type,.workspace-type-help,.input-disambiguation,.atlas-tour-landing-cta) { display:none!important; }
.atlas-desktop-required #screen-input .input-mobile-note { display:block!important; margin:0; text-align:left; }
.atlas-desktop-required #screen-input .input-hero { padding:80px 24px 60px; height:auto; min-height:100dvh; align-items:center; justify-content:center; }
.atlas-desktop-required #screen-input .input-card { width:min(560px,100%); height:auto; max-height:none; gap:24px; padding:0; }
.atlas-desktop-required #screen-input .input-logo { margin:0; }
.atlas-desktop-required .viewer-mobile-guard { display:flex; width:100%; justify-content:center; align-items:center; }
.atlas-desktop-required :is(.viewer-topbar,.pdb-title-bar,.viewer-body,.viewer-mode-overlay) { display:none!important; }

/* Source-rich cards, without the legacy fixed-height whitespace. */
#screen-input .atlas-search-workspace .protein-result-card { min-height:0; padding:16px; margin:0 0 10px; border:1px solid var(--dim); border-radius:10px; background:color-mix(in srgb,var(--base) 96%,transparent); }
#screen-input .atlas-search-workspace .protein-result-card:hover { border-color:color-mix(in srgb,var(--accent) 40%,var(--dim)); }
#screen-input .atlas-search-workspace .protein-result-card:is([role=button],[role=link]) { cursor:pointer; }
#screen-input .atlas-search-workspace .protein-result-card:is([role=button],[role=link]):is(:hover,:focus-visible) {
  border-color:var(--accent);
  background:color-mix(in srgb,var(--accent) 7%,var(--base));
  box-shadow:0 0 0 1px color-mix(in srgb,var(--accent) 16%,transparent),0 5px 18px color-mix(in srgb,var(--accent) 10%,transparent);
}
#screen-input .atlas-search-workspace .protein-result-card:focus-visible { outline:2px solid var(--accent); outline-offset:-3px; }
.atlas-search-workspace .protein-result-title-block { gap:5px; flex-basis:100%; }
.atlas-search-workspace .protein-result-card:not(.structure-search-card) .input-disambiguation-option-header { flex-wrap:nowrap; }
.atlas-search-workspace .protein-result-card:not(.structure-search-card) .protein-result-title-block { flex:1 1 0; }
.atlas-search-workspace .protein-result-card .input-disambiguation-option-title { font-size:18px; line-height:1.35; }
.atlas-search-workspace .protein-result-subtitle { margin:0; gap:7px; }
.atlas-search-workspace .protein-title-organism { font-size:13px; margin:0; flex-basis:auto; }
.atlas-search-workspace .protein-gene-chip { font-size:11px; }
.atlas-search-workspace .protein-status-chip { font-size:10px; }
.workspace-card-footer { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-top:13px; }
.workspace-card-footer .protein-info-grid { flex:1; min-width:0; margin:0; gap:5px 12px; }
.atlas-search-workspace .protein-info-chip { margin:0; font-size:12px; }
.workspace-card-footer .workspace-record-actions { flex:0 0 auto; }
.atlas-search-workspace .workspace-record-actions button { min-height:34px; padding:7px 10px; font-size:12px; }
.workspace-availability { display:flex; align-items:center; align-self:flex-start; flex:0 0 auto; gap:8px; max-width:45%; min-width:0; color:var(--t2); }
.workspace-availability > span:not(.workspace-availability-icon) { display:grid; gap:2px; }
.workspace-availability strong { font:600 13px/1.4 'DM Sans',sans-serif; color:var(--t1); }
.workspace-availability small { font:400 11px/1.5 'DM Sans',sans-serif; }
.workspace-availability-icon { display:flex; flex-shrink:0; width:28px; height:28px; border:1px solid var(--dim); border-radius:7px; padding:4px; color:var(--accent); background:var(--accent-g); }
.workspace-availability-icon svg { width:100%; height:100%; }
.workspace-availability[data-status=loading] .workspace-availability-icon { color:var(--t2); background:var(--raised); }
.workspace-count-retry { border:0; border-bottom:1px solid var(--mid); padding:2px; background:none; color:var(--accent); font:500 11px 'DM Sans',sans-serif; cursor:pointer; }
#screen-input .atlas-search-workspace.is-compact .protein-result-card { min-height:0; padding:12px 14px; }
.atlas-search-workspace.is-compact .protein-result-card .input-disambiguation-option-title { font-size:16px; }
.atlas-search-workspace.is-compact .workspace-card-footer { margin-top:9px; }
.workspace-species { padding-left:4px; padding-right:12px; }
.atlas-search-workspace .species-custom-input:focus-visible { outline:2px solid var(--accent); outline-offset:-2px; box-shadow:none; }

/* A keyboard-operable menu whose hover/selection colours match both themes. */
.disambiguation-active .workspace-search-type { position:relative; z-index:30; }
#workspace-search-type-label { color:var(--t2); font:500 11px 'DM Sans',sans-serif; }
.workspace-type-trigger { display:flex; justify-content:space-between; align-items:center; gap:9px; min-height:34px; width:100%; padding:7px 10px; color:var(--t1); background:var(--base); border:1px solid var(--mid); border-radius:7px; font:500 13px 'DM Sans',sans-serif; text-align:left; cursor:pointer; transition:border-color 150ms,background-color 150ms; }
.workspace-type-trigger svg { width:16px; height:16px; flex-shrink:0; }
.workspace-type-trigger:hover, .workspace-type-trigger[aria-expanded=true] { border-color:var(--accent); background:var(--accent-g); }
.workspace-type-trigger:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.workspace-type-options { position:absolute; top:calc(100% + 7px); right:0; width:max(100%,290px); max-width:calc(100vw - 36px); padding:5px; border:1px solid var(--mid); border-radius:10px; background:var(--base); box-shadow:0 14px 35px #0003; }
.workspace-type-options[hidden] { display:none; }
.workspace-type-options [role=option] { display:grid; gap:4px; width:100%; padding:10px 12px; border:1px solid transparent; border-radius:6px; background:none; color:var(--t1); text-align:left; cursor:pointer; }
.workspace-type-options strong { font:600 13px/1.4 'DM Sans',sans-serif; }
.workspace-type-options small { font:400 11px/1.45 'DM Sans',sans-serif; color:var(--t2); }
.workspace-type-options [role=option][aria-selected=true] { background:var(--accent-g); color:var(--accent); }
.workspace-type-options [role=option]:is(:hover,:focus-visible) { outline:none; border-color:var(--accent); background:color-mix(in srgb,var(--accent) 14%,var(--base)); }

.workspace-detail-label { color:var(--t2); font:600 10px/1.5 'IBM Plex Mono',monospace; letter-spacing:.07em; text-transform:uppercase; margin:16px 0 9px; }
.workspace-record-copy .workspace-components, .search-structure-details .workspace-components { list-style:none; margin:0; padding:0; }
.workspace-components li { padding:9px 0; border-bottom:1px solid var(--dim); overflow-wrap:anywhere; }
.workspace-components li:last-child { border:0; }
.workspace-components li > span { display:block; font:500 13px/1.5 'DM Sans',sans-serif; }
.workspace-components li > small { display:block; margin-top:3px; color:var(--t2); font:400 11px/1.5 'DM Sans',sans-serif; }
.search-assembly-list { display:grid; gap:8px; }
.search-assembly-row { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px; padding:12px; border:1px solid var(--dim); border-radius:8px; background:var(--raised); }
.search-assembly-identity { display:grid; gap:3px; min-width:0; }
.search-assembly-identity strong { font:600 13px/1.4 'DM Sans',sans-serif; }
.search-assembly-identity span { font:400 11px/1.5 'DM Sans',sans-serif; color:var(--t2); overflow-wrap:anywhere; }
.workspace-record-copy .search-assembly-button, .atlas-search-workspace .search-assembly-button { display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:8px 10px; border:1px solid color-mix(in srgb,var(--accent) 35%,var(--dim)); border-radius:6px; background:var(--accent-g); color:var(--accent); font:600 12px/1.4 'DM Sans',sans-serif; cursor:pointer; white-space:nowrap; }
.search-assembly-button:hover { border-color:var(--accent); }
.workspace-record-copy .search-source-note { font-size:12px; line-height:1.6; }
@media (prefers-reduced-motion:reduce) { .workspace-type-trigger { transition:none; } }

/* Structure results keep their source identity, with readable metadata and
   protein-linked availability separate from the selected assembly. */
.atlas-search-workspace .structure-search-card .input-disambiguation-option-header { flex-wrap:wrap; }
.atlas-search-workspace .structure-search-card .protein-result-title-block { flex:1 1 260px; }
.atlas-search-workspace .structure-search-card .input-disambiguation-option-title { font-size:20px; line-height:1.4; }
.atlas-search-workspace .structure-search-card .protein-info-chip { font-size:14px; line-height:1.5; }
.atlas-search-workspace .structure-search-card .structure-paper-date { font-size:12px; padding:6px 10px; }
.atlas-search-workspace .structure-search-card .protein-gene-chip { font-size:12px; }
.atlas-search-workspace .structure-match-status { font:500 12px/1.4 'DM Sans',sans-serif; letter-spacing:0; text-transform:none; color:var(--t2); }
.atlas-search-workspace .structure-search-card .workspace-record-actions button { font-size:13px; min-height:36px; }
.workspace-count-unmapped { align-self:flex-start; color:var(--t2); font:400 12px/1.5 'DM Sans',sans-serif; max-width:160px; }
.structure-search-card .workspace-availability { max-width:240px; }
.workspace-linked-counts { align-self:flex-start; flex:0 0 auto; min-width:0; max-width:100%; }
.workspace-linked-counts summary { cursor:pointer; color:var(--accent); font:500 13px/1.5 'DM Sans',sans-serif; padding:2px 0 2px 4px; }
.workspace-linked-counts summary small { display:block; margin-left:14px; color:var(--t2); font-size:11px; }
.workspace-linked-counts[open] { flex-basis:100%; }
.workspace-linked-count-list { margin-top:10px; border:1px solid var(--dim); border-radius:8px; padding:12px; background:var(--raised); }
.workspace-linked-count-list > p { font:400 12px/1.5 'DM Sans',sans-serif; color:var(--t2); margin:0 0 10px; }
.workspace-linked-count-item { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:10px 16px; padding:10px 0; border-top:1px solid var(--dim); }
.workspace-linked-count-item > strong { flex:1 1 200px; overflow-wrap:anywhere; font:500 13px/1.5 'DM Sans',sans-serif; }
.workspace-linked-count-item .workspace-availability { max-width:100%; }
.workspace-structure-sort { display:grid; gap:8px; border-top:1px solid var(--dim); margin-top:20px; padding-top:16px; }
.workspace-structure-sort .workspace-filter-label { margin-bottom:2px; }
.workspace-paper-sort, .workspace-relevance-sort { display:flex; align-items:center; justify-content:space-between; gap:6px; width:100%; border:1px solid var(--dim); border-radius:7px; background:var(--base); color:var(--t2); padding:9px 10px; text-align:left; cursor:pointer; font:500 12px/1.4 'DM Sans',sans-serif; transition:background-color 150ms,border-color 150ms; }
.workspace-structure-sort button[aria-pressed=true] { color:var(--accent); background:var(--accent-g); border-color:color-mix(in srgb,var(--accent) 40%,var(--dim)); }
.workspace-structure-sort button:hover { border-color:var(--accent); }
.workspace-sort-arrow { font-size:16px; line-height:1; }
.workspace-sort-direction { font:500 11px/1.3 'DM Sans',sans-serif; color:var(--t2); padding-left:10px; }
.workspace-sort-direction:empty { display:none; }
.workspace-sort-scope { color:var(--t2); font:400 11px/1.5 'DM Sans',sans-serif; }
.workspace-sort-scope:empty { display:none; }
.atlas-search-workspace.is-compact .structure-search-card .input-disambiguation-option-title { font-size:18px; }
.atlas-search-workspace.is-compact .structure-search-card .protein-info-chip { font-size:13px; }
