/* Keep Bootstrap modals from making body a new scroll ancestor for sticky sidebars. */
body.satellite-topic-page.modal-open{overflow:clip}
body.satellite-topic-page .modal{overscroll-behavior:contain}
.topic-page{--topic-accent:#2563eb;--topic-ink:#1e293b;--topic-muted:#64748b;--primary:#0f172a;--accent:#2563eb;--accent-light:#eff6ff;--border:#cbd5e1;--text-muted:#64748b;--text-main:#334155;--accent-hover:#bfdbfe;--accent-border:#bfdbfe;--th-bg:#f0f7ff;--th-text:#1e40af;--success:#059669;--danger:#dc2626;--bg:#f8fafc;--card-bg:#ffffff;--btn-orange:#ea580c;--btn-orange-hover:#c2410c;--brand-deep-blue:#003b7a;--brand-deep-blue-hover:#002c5c;--brand-sky-blue:#0085d0;}
.section-card{background: #fff;border-radius: 12px;border: 1px solid #cbd5e1;padding: 0 24px;margin-bottom: 20px;box-shadow: 0 1px 3px rgba(0,0,0,0.02);}
/* Shared satellite topic layout. Keep all rules scoped away from the site header. */
.topic-wrapper#wrapper{width:100%;min-width:0}


.topic-page *{box-sizing:border-box}.topic-page a{color:#0b3d91;text-decoration:none}.topic-page a:hover{text-decoration:underline}.topic-page :focus-visible{outline:2px solid var(--topic-accent);outline-offset:4px}
.topic-page h1{font-size:30px;line-height:1.35;margin:0 0 12px}

.topic-page h3{font-size:18px;line-height:1.5;margin:22px 0 12px}
/*.topic-page p{margin:12px 0}*/
.topic-page ul,.topic-page ol{padding-left:24px}.topic-page li{margin:8px 0}.topic-header p{color:var(--topic-muted)}
.topic-layout{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:28px;align-items:start}.topic-paper{min-width:0;padding:22px 28px;background:white;border:1px solid #e2e8f0;border-radius:8px}.topic-toc{position:sticky;top:20px;max-height:calc(100vh - 40px);overflow:auto;border:1px solid #e2e8f0;border-radius:8px;background:white;padding:20px}.topic-toc a{display:block;padding:7px 10px;border-left:2px solid transparent;font-size:14px;line-height:1.5}.topic-toc a[aria-current]{border-color:var(--topic-accent);background:#eff6ff;color:var(--topic-accent)}.topic-toc .topic-toc-child{padding-left:24px;font-size:13px;color:var(--topic-muted)}.topic-topbar{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:20px;font-size:14px}.topic-badge{display:inline-flex;align-items:center;gap:7px;background:#f1f5f9;color:#475569;padding:4px 12px;border:1px solid #cbd5e1;border-radius:20px;font-size:12px;font-weight:600;cursor:default}.category-tag-icon{flex-shrink:0}
.topic-section{margin:30px 0}.topic-content{overflow-wrap:anywhere}.topic-content [id],.topic-page section[id],.topic-content[id]{scroll-margin-top:28px}.topic-content :target{background:#fef3c7}.topic-section-summary .topic-content{background:#eff6ff;border:1px solid #bfdbfe;border-left:4px solid var(--topic-accent);border-radius:8px;padding:16px 20px}.topic-content-quick-row{display:flex;gap:16px}.topic-content-quick-row+.topic-content-quick-row{border-top:1px dashed #bfdbfe;padding-top:12px}.topic-content-quick-label{flex:0 0 155px;font-weight:700}.topic-content-quick-correct{color:#047857}.topic-content-quick-wrong{color:#b45309}
.topic-content-table{overflow-x:auto;max-width:100%;border-radius: 8px;}.topic-content table{width:100%;border-collapse:collapse;font-size:14px;line-height:1.6}.topic-content th{background:#eaf1fb;text-align:left;color:#0b3d91}.topic-content td,.topic-content th{padding:12px 14px;border:1px solid #e2e8f0;vertical-align:top;min-width:120px}.topic-content-table-desc{font-size:13px;color:var(--topic-muted);margin-top:8px}.topic-content img{max-width:100%;height:auto}.topic-content pre{max-width:100%;overflow:auto}.topic-content sup{font-size:11px}
.navigation-page .topic-header{margin-bottom:12px}
.topic-group{margin:28px 0}.topic-count{font-size:12px;color:var(--topic-muted);font-weight:400}.topic-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topic-card,.topic-jump .cs-outline a{min-width:0;border:1px solid #e2e8f0;background:white;border-radius:8px;padding:18px 20px}.topic-card h3{font-size:16px;margin:0;line-height:1.6}.topic-card h3 a{display:flex;gap:12px;align-items:baseline}.topic-number{color:var(--topic-accent);font-size:13px;flex-shrink:0}.topic-card p{color:var(--topic-muted);font-size:13px;margin-bottom:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.topic-question .topic-card{background:#f8fafc}
@media(max-width:960px){.topic-layout{grid-template-columns:minmax(0,1fr)}.topic-toc{display:none}.topic-paper{padding:20px}}
@media(max-width:560px){.topic-card-grid{grid-template-columns:1fr}
.topic-paper{padding:18px 16px}.topic-content-quick-row{display:block}.topic-content-quick-label{display:block;margin-bottom:8px}.topic-card{padding:16px}}

/* Common satellite breadcrumb, matching the MOA layout across both topics. */
.satellite-breadcrumb{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 20px;font-size:14px;font-weight:400;line-height:1.5;color:#64748b;overflow-wrap:anywhere}
.satellite-breadcrumb a{color:#0b3d91;text-decoration:none}.satellite-breadcrumb a:hover{text-decoration:underline}
.satellite-breadcrumb-detail{flex-wrap:nowrap;white-space:nowrap;overflow:hidden}
.satellite-breadcrumb-detail>:not(.satellite-breadcrumb-current){flex-shrink:0}
.satellite-breadcrumb-current{flex:1 1 0;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:960px){.satellite-breadcrumb{display:none}}

/* Reusable page frame. Shared by navigation, review, article and question pages. */
.page-shell{box-sizing:border-box;width:100%;max-width:none;margin:0 auto;padding:12px 24px 64px;background:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;color:#1e293b;line-height:1.7}
@media(max-width:960px){.page-shell{padding:20px 16px 40px}}

/* Shared product call to action, matching the storage module. */
.page-shell .product-cta-card { margin: 20px 0; padding: 10px 20px; text-align: center; background: #fff; border: 1px solid #cbd5e1; border-radius: 12px; box-shadow: 0 1px 3px rgba(0,0,0,.02); }
.page-shell .product-cta-card .product-box { display: inline-flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 8px; }
.page-shell .product-cta-card .cta-text { font-size: 14px; line-height: 1.5; color: #64748b; font-weight: 500; }
.page-shell .product-cta-card .product-link { display: inline-flex; align-items: center; justify-content: center; max-width: 100%; padding: 6px 10px; font-size: 14px; font-weight: 600; letter-spacing: .02em; color: #fff; text-decoration: none; background: linear-gradient(135deg,#ff7a45,#e65100); border-radius: 20px; border: 1px solid rgba(255,255,255,.15); box-shadow: 0 4px 14px rgba(230,81,0,.28); overflow-wrap: anywhere; transition: background .2s,box-shadow .2s,transform .2s; }
.page-shell .product-cta-card .product-link:hover { background: linear-gradient(135deg,#ff8c5a,#f4511e); box-shadow: 0 6px 20px rgba(230,81,0,.38); transform: translateY(-1.5px); text-decoration: none; }
.page-shell .product-cta-card .product-link:active { transform: translateY(.5px); }

/* References use the same typography and IF badge as MOA articles. */
.page-shell .reference-list{margin:0;padding:0;list-style:none;font-size:14px}
.page-shell .reference-list li{margin:0 0 8px;padding:0;border-radius:6px;line-height:1.6;scroll-margin-top:40px}
.page-shell .reference-list li:target{background:#fef3c7}
.page-shell .reference-list a{color:#0f172a}.page-shell .reference-list a:hover{color:#2563eb}
.page-shell .reference-if{display:inline-block;margin-left:4px;padding:1px 6px;border-radius:4px;background:#eff6ff;color:#1d4ed8;font-weight:700;white-space:nowrap}

/* Generic experiment and publication components for all satellite topics. */
.topic-page .topic-filters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.topic-page label{display:block;font-weight:600}.topic-page input,.topic-page select,.topic-page textarea{box-sizing:border-box;display:block;width:100%;padding:10px;margin:6px 0;border:1px solid #cbd5e1;border-radius:6px;background:#fff;color:#1e293b}.topic-page button{padding:9px 14px;margin:6px 8px 6px 0;border:1px solid #cbd5e1;border-radius:6px;color:#174a80;background-color:#fff;cursor:pointer}.topic-page button:hover{background-color:#eff6ff}.topic-page [hidden]{display:none!important}.topic-experiment-card{padding:22px;background:#fff;border:1px solid #dbe3ec;border-radius:10px;margin:18px 0}.topic-field-grid{display:grid;grid-template-columns:180px minmax(0,1fr);gap:8px 18px}.topic-field-grid dt{text-transform:capitalize;font-weight:600;color:#64748b}.topic-field-grid dd{margin:0;white-space:pre-line;overflow-wrap:anywhere}.topic-data-exp-card{border:1px solid #dbe3ec;padding:18px;margin:18px 0;border-radius:8px}.topic-data-exp-field,.topic-data-exp-dose-row{margin:12px 0}.topic-data-exp-field-label,.topic-data-exp-dose-k{display:block;font-weight:600;color:#64748b}.topic-data-exp-figs{display:flex;flex-wrap:wrap;gap:20px}.topic-data-exp-fig{flex:1 1 260px;min-width:0;margin:12px 0}.topic-data-exp-fig-cap,.topic-data-exp-fig-kd{font-size:14px;margin:10px 0}.topic-data-trouble-grid,.topic-data-lit-meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.topic-data-trouble-label{font-weight:700}.topic-page output{display:block;margin:12px 0}.topic-image-dialog{max-width:90vw;max-height:90vh;border:0;border-radius:10px}.topic-image-dialog img{display:block;max-width:82vw;max-height:72vh;object-fit:contain}.topic-image-dialog::backdrop{background:#000a}.topic-page #topic-compare label{font-weight:400;margin:10px 0}.topic-page #topic-compare input[type=checkbox]{display:inline;width:auto;margin-right:10px}
@media(max-width:1100px){.topic-page .topic-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.topic-page .topic-filters,.topic-field-grid,.topic-data-trouble-grid,.topic-data-lit-meta-grid{grid-template-columns:minmax(0,1fr)}.topic-field-grid dd{margin-bottom:12px}}

/* Searchable topic facets and paired experiment records, matching the published hub. */
.topic-navigation .topic-header h1{margin:0 0 20px;font-size:30px;letter-spacing:-.3px;color:#0f172a}
.topic-browser{color:#334155;font-size:12.5px;line-height:1.45}
.topic-browser .topic-filter-panel{border:1px solid #cbd5e1;background:#f8fafc;border-radius:4px;padding:14px 16px 10px;margin-bottom:16px}
.topic-browser .topic-filter-groups{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.topic-browser .topic-filter-group{min-width:0}
.topic-browser .topic-filter-label{display:block;font-size:13px;font-weight:600;color:#1e40af;margin:0 0 6px}
.topic-browser .topic-filter-search{position:relative}
.topic-page .topic-browser input[type=search]{width:100%;height:34px;margin:0;padding:8px 28px 8px 30px;border:1px solid #cbd5e1;border-radius:4px;font-family:inherit;font-size:12.5px;line-height:1.4;font-weight:400;color:#1e293b;background-color:#fff;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='m20 20-3.2-3.2'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:9px center;appearance:none}
.topic-browser input[type=search]::-webkit-search-cancel-button{appearance:none}
.topic-browser input[type=search]:focus{border-color:#1e40af;box-shadow:0 0 0 3px #1e40af1f;outline:0}
.topic-page .topic-browser .topic-filter-clear{position:absolute;right:6px;top:50%;transform:translateY(-50%);padding:2px;margin:0;border:0;background:none;color:#64748b;font-size:18px;line-height:1}
.topic-browser .topic-filter-options{margin-top:6px;max-height:160px;overflow-y:auto;background:#fff;border:1px solid #cbd5e1;border-radius:4px;scrollbar-width:thin}
.topic-page .topic-browser .topic-filter-option{display:flex;align-items:center;gap:9px;width:100%;min-height:32px;margin:0;padding:5px 10px;border:0;border-radius:0;text-align:left;background:#fff;color:#1e293b;font-family:inherit;font-size:12.5px;line-height:1.3;font-weight:400}
.topic-page .topic-browser .topic-filter-option:hover,.topic-page .topic-browser .topic-filter-option[aria-pressed=true]{background:#eff6ff}
.topic-browser .topic-filter-check{flex:0 0 13px;width:13px;height:13px;box-sizing:border-box;border:1.5px solid #94a3b8;border-radius:3px;color:#1e40af;font-size:10px;line-height:10px;text-align:center;font-weight:700;background:#fff}
.topic-browser [aria-pressed=true] .topic-filter-check{border-color:#1e40af;background:#eff6ff}
.topic-browser [aria-pressed=true] .topic-filter-name{color:#1e40af;font-weight:600}
.topic-browser .topic-filter-name{min-width:0;flex:1;overflow-wrap:anywhere}
.topic-browser .topic-filter-count{font-size:11px;color:#64748b;white-space:nowrap}
.topic-browser .topic-filter-empty{padding:7px 12px;color:#94a3b8}
.topic-browser .topic-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.topic-browser .topic-filter-chips:empty{display:none}
.topic-browser .topic-filter-chip{display:inline-flex;align-items:center;gap:7px;background:#eff6ff;border:1px solid #93c5fd;color:#1e40af;border-radius:12px;padding:3px 6px 3px 12px;font-size:12px;font-weight:600}
.topic-browser .topic-chip-label{color:#64748b;font-weight:500}
.topic-page .topic-browser .topic-filter-chip button{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;margin:0;padding:0;border:0;border-radius:50%;background:#c7ddf5;color:#1e40af;font-size:11px;line-height:1}
.topic-browser .topic-filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:22px;margin-bottom:12px}
.topic-browser .topic-filter-toolbar p{margin:0;color:#64748b;font-size:12px}
.topic-browser .topic-filter-toolbar b{color:#1e40af;font-size:14px}
.topic-page .topic-browser [data-topic-reset]{margin:0;padding:0;border:0;background:none;color:#1e40af;font-size:12px;text-decoration:underline}
.topic-browser .topic-record-cards{display:flex;flex-direction:column;gap:10px;margin-top:18px;scroll-margin-top:20px}
.topic-browser .topic-record-card{background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:14px 16px 16px;overflow:hidden}
.topic-browser .topic-record-card:hover{border-color:#bfdbfe;box-shadow:0 2px 8px #1e40af14}
.topic-browser .topic-record-head{display:flex;align-items:center;gap:10px;margin-bottom:10px;padding-bottom:10px;border-bottom:2px solid #dbeafe}
.topic-browser .topic-record-number{flex:0 0 auto;min-width:26px;height:22px;padding:0 8px;border-radius:11px;background:#1e40af;color:#fff;font-size:12px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.topic-page .topic-browser .topic-record-title{flex:1;min-width:0;margin:0;font-size:13px;line-height:1.45;font-weight:700;color:#1e3a8a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.topic-browser .topic-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border:1px solid #dbeafe;border-radius:6px;overflow:hidden}
.topic-browser .topic-record-row{display:flex;align-items:flex-start;gap:8px;min-width:0;padding:8px 12px;box-shadow:1px 0 0 #eef2f7,0 1px 0 #eef2f7;font-size:12.5px;line-height:1.45}
.topic-browser .topic-record-label{flex:0 0 118px;white-space:normal;color:#64748b;font-weight:700;font-size:10.5px;line-height:1.5;letter-spacing:.03em;text-transform:uppercase}
.topic-browser .topic-record-value{flex:1;min-width:0;color:#334155;white-space:pre-line;word-break:break-word;overflow-wrap:anywhere}
.topic-browser .is-empty .topic-record-value{color:#9ca3af}
.topic-browser .is-selected .topic-record-value{color:#1e40af;font-weight:600}
.topic-browser .topic-record-row:hover .topic-record-value{background:#eff6ff}
.topic-page .topic-browser .topic-record-link{display:inline-flex;align-items:center;gap:7px;margin:4px 0 4px 6px;padding:6px 12px;border:1px solid #1d4ed8;border-radius:6px;background:linear-gradient(135deg,#2563eb,#1e40af);color:#fff;font-size:12px;font-weight:600;line-height:1.4;text-decoration:none;white-space:nowrap;box-shadow:0 2px 5px #1e40af24;vertical-align:middle;transition:background .15s,box-shadow .15s}
.topic-page .topic-browser .topic-record-link:hover{background:linear-gradient(135deg,#1d4ed8,#1e3a8a);color:#fff;text-decoration:none;box-shadow:0 3px 8px #1e40af40}
.topic-page .topic-browser .topic-record-link:focus-visible{outline:2px solid #2563eb;outline-offset:3px}
.topic-browser .topic-record-more{display:flex;justify-content:center;margin-top:14px}
.topic-page .topic-browser [data-topic-more]{min-width:280px;max-width:100%;padding:10px 18px;margin:0;border:1px solid #cbd5e1;border-radius:8px;background:#fff;color:#1e40af;font-size:13px;font-weight:600}
.topic-page .topic-browser [data-topic-more]:hover{border-color:#1f6feb;color:#1f6feb;background:#f8fbff}
.topic-browser .topic-record-empty{padding:28px;text-align:center;background:#fff;border:1px solid #cbd5e1;border-radius:8px;color:#64748b}
@media(max-width:1100px){.topic-browser .topic-filter-groups{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){.topic-browser .topic-record-grid{grid-template-columns:1fr}}
@media(max-width:640px){.topic-browser .topic-filter-groups{grid-template-columns:1fr}.topic-browser .topic-filter-panel{padding:12px}.topic-navigation .topic-header h1{font-size:24px}}
@media(max-width:560px){.topic-browser .topic-record-row{flex-direction:column;gap:2px}.topic-browser .topic-record-label{flex:0 0 auto}.topic-browser .topic-record-card{padding:12px}.topic-page .topic-browser [data-topic-more]{min-width:0;width:100%}}

/* Published article components: scope to the right paper; keep the existing TOC. */
.topic-detail .topic-paper{padding:0;background:transparent;border:0;border-radius:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}
.topic-detail .topic-paper>.topic-header h1{font-size:28px;line-height:1.35;color:#0f172a;margin:0 0 20px}
.topic-detail .topic-paper>.topic-section{margin:20px 0;padding:24px 28px;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 3px #0f172a08}

.topic-detail .topic-paper .topic-section-subtitle,.topic-detail .topic-data-section-subtitle{font-size:12.5px;color:#64748b;margin:0 0 18px}
.topic-detail .topic-paper .topic-content p{line-height:1.75}
.topic-core-finding{background:linear-gradient(135deg,#eff6ff,#fff);border:1px solid #dbeafe;border-left:4px solid #0b3d91;border-radius:12px;padding:14px 18px;margin-bottom:20px}
.topic-core-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.topic-core-head>strong{font-size:12px;font-weight:800;color:#0b3d91;text-transform:uppercase;letter-spacing:.5px}
.topic-core-finding p{font-size:17px;line-height:1.6;color:#1e293b;margin:8px 0 0}
.topic-tag-list{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;flex:1;min-width:240px}
.topic-tag{background:#eff6ff;border:1px solid #dbeafe;color:#0b3d91;border-radius:999px;padding:3px 12px;font-size:12px;font-weight:600;line-height:1.5}
.topic-tag-role{background:#0d9488;border-color:#0d9488;color:#fff;font-weight:800}
.topic-detail .topic-data-section-title-row{display:flex;justify-content:flex-end;margin-top:-32px;margin-bottom:10px;min-height:24px}
.page-shell .button-primary-small,.topic-detail .topic-data-lit-view-article,.topic-detail .topic-data-rp-go.topic-data-lit-view-article{padding:4px 10px;background:#0b3d91;color:white;border-radius:6px;font-size:11.5px;font-weight:600;line-height:1.3;white-space:nowrap}
.topic-detail .topic-data-lit-title{font:700 17px/1.5 Georgia,Cambria,serif;color:#0b3d91;margin:0 0 6px}
.topic-detail .topic-data-lit-title-authors{font:400 13px/1.5 "Segoe UI",Arial,sans-serif;color:#64748b}
.topic-detail .topic-data-lit-meta-grid{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 18px}
.topic-detail .topic-data-lit-meta-item{display:flex;align-items:baseline;gap:5px;min-width:0;max-width:100%}
.topic-detail .topic-data-lit-meta-label{font-size:12px;font-weight:700;color:#64748b;text-transform:uppercase;letter-spacing:.3px}
.topic-detail .topic-data-lit-meta-value{font-size:13px;font-weight:600;color:#1e293b;line-height:1.5;overflow-wrap:anywhere}
.topic-detail .topic-data-mono{font-family:ui-monospace,Consolas,monospace}
.topic-detail .topic-data-exp-cards{display:grid;gap:20px}
.topic-detail .topic-data-exp-card{margin:0;padding:0;border:1px solid #e2e8f0;border-radius:14px;overflow:hidden;box-shadow:0 1px 3px #0f172a08}
.topic-detail .topic-data-exp-card-head{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(135deg,#eff6ff,#fff);border-bottom:1px solid #dbeafe}
.topic-detail .topic-data-exp-num{flex:0 0 28px;width:28px;height:28px;border-radius:7px;background:#0b3d91;color:#fff;font-weight:800;font-size:13px;display:flex;align-items:center;justify-content:center}
.topic-detail .topic-data-exp-head-main{display:flex;align-items:center;flex-wrap:wrap;gap:5px 12px;flex:1;min-width:0}
.topic-detail .topic-data-exp-direction{margin:0;font-size:15.5px;font-weight:800;color:#0b3d91;line-height:1.4}
.topic-detail .topic-data-exp-app-tag{display:inline-block;background:#0d9488;color:#fff;font-size:11px;font-weight:700;border-radius:999px;padding:2px 9px;line-height:1.5}
.topic-detail .topic-data-exp-card-body{padding:18px 20px;display:grid;gap:14px}
.topic-detail .topic-data-exp-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:14px}
.topic-detail .topic-data-exp-field{min-width:0;margin:0}.topic-detail .topic-data-exp-field-wide{grid-column:1/-1}
/* Keep sample, assay and culture metadata compact within each experiment. */
.topic-detail .topic-data-exp-grid>.topic-data-exp-field-wide{grid-column:auto}
.topic-detail .topic-data-exp-field-label{display:block;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#0d9488;margin-bottom:5px}
.topic-detail .topic-data-exp-field-value{font-size:13.5px;color:#334155;line-height:1.65}
.topic-detail .topic-data-exp-method-body{display:grid;gap:10px}
.topic-detail .topic-data-exp-dose{border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}
.topic-detail .topic-data-exp-dose-row{display:grid;grid-template-columns:minmax(150px,205px) minmax(0,1fr);margin:0}
.topic-detail .topic-data-exp-dose-row+.topic-data-exp-dose-row{border-top:1px solid #e2e8f0}
.topic-detail .topic-data-exp-dose-k{background:#f8fafc;padding:8px 12px;font-size:12.5px;font-weight:700;color:#0b3d91;align-self:stretch}
.topic-detail .topic-data-exp-dose-v{padding:8px 12px;font-size:12.5px;color:#334155;line-height:1.6;overflow-wrap:anywhere}
.topic-detail .topic-data-exp-dose-row-multi .topic-data-exp-dose-v{line-height:1.85}
.topic-detail .topic-data-exp-figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px;align-items:stretch;margin-top:10px}
.topic-detail .topic-data-exp-fig{margin:0;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#f8fafc;display:flex;flex-direction:column;min-width:0;height:100%}
.topic-detail .topic-data-exp-fig:only-child{grid-column:1/-1;max-width:none;width:100%;justify-self:stretch}
.topic-detail .topic-data-exp-fig-media{display:flex;align-items:center;justify-content:center;background:white;border:1px solid #f1f5f9;border-radius:6px;padding:8px;height:300px}
.topic-detail .topic-data-exp-fig-media img{display:block;max-width:100%;max-height:284px;width:auto;height:auto;object-fit:contain;border-radius:4px;cursor:zoom-in}
.topic-detail .topic-data-exp-fig-cap{margin-top:8px;font-size:12.5px;line-height:1.6;color:#334155;flex:1}
.topic-detail .topic-data-exp-fig-kd{margin:8px 0 0;padding:8px 10px;border-left:3px solid #0d9488;background:#f0fdfa;border-radius:4px;font-size:12px;line-height:1.55;color:#475569}
.topic-detail .topic-data-interp-para{font-size:14px;color:#334155;line-height:1.75;margin:0 0 14px}
.topic-detail .topic-data-trouble-section-title{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.4px;color:#0b3d91;margin:4px 0 10px;padding-bottom:6px;border-bottom:2px solid #dbeafe}
.topic-detail .topic-data-trouble-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.topic-detail .topic-data-trouble-grid.topic-data-corpus{grid-template-columns:repeat(3,minmax(0,1fr))}
.topic-detail .topic-data-trouble-item{background:#fff;border:1px solid #e2e8f0;border-left:3px solid #d97706;border-radius:10px;padding:12px 14px}
.topic-detail .topic-data-corpus .topic-data-trouble-item{border-left-color:#0d9488}
.topic-detail .topic-data-trouble-label{font-size:12.5px;font-weight:800;color:#1e293b;margin-bottom:4px}
.topic-detail .topic-data-trouble-desc{font-size:12.5px;color:#475569;line-height:1.55}
.topic-related-tabs{display:flex;gap:8px;overflow-x:auto;margin-bottom:14px;padding-bottom:4px}
.topic-detail .topic-related-tabs button{flex:0 0 auto;padding:8px 16px;margin:0;border:1px solid #e2e8f0;background:white;color:#475569;font-size:13px;font-weight:600;border-radius:999px;white-space:nowrap}
.topic-detail .topic-related-tabs button[aria-selected=true]{background:#0b3d91;color:#fff;border-color:#0b3d91}
.topic-detail .topic-data-rel-group{display:grid;gap:8px}
.topic-detail .topic-data-rel-tab-hint{font-size:12.5px;color:#64748b;margin:0 0 10px}
.topic-detail .topic-data-rp-item{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;padding:9px 12px;margin-bottom:8px;background:#f8fafc;border-left:3px solid #0d9488;border-radius:8px;font-size:12.5px}
.topic-detail .topic-data-rp-title{color:#1e293b;font-weight:600}
.topic-detail .topic-data-rp-extra{color:#64748b;font-size:11.5px}
.topic-detail .topic-data-rp-go{margin-left:auto;color:#0b3d91;font-size:11.5px;font-weight:600;white-space:nowrap}
.topic-detail .topic-data-related-pub-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.topic-detail .topic-data-related-pub{min-width:0;border:1px solid #e2e8f0;border-radius:10px;padding:12px;background:#f8fafc;display:flex;flex-direction:column;gap:8px}
.topic-detail .topic-data-rp-thumb{display:block;width:100%;height:180px;object-fit:contain;background:#fff;border-radius:6px}
.topic-detail .topic-data-rp-journal-row{display:flex;flex-wrap:wrap;gap:8px;font-size:11px;color:#64748b}
.topic-detail .topic-data-related-pub-title{font-size:13px;font-weight:600;line-height:1.5;margin:0;flex:1}
.topic-detail .topic-data-view-link{font-size:12px;font-weight:700}
.topic-compare-toolbar{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.topic-detail .topic-compare-toolbar button{margin:0;font-size:12.5px}
.topic-detail .topic-button-primary{background:#0b3d91;color:#fff;border-color:#0b3d91}
.topic-detail .topic-button-primary:hover{background:#072e70;color:#fff}
.topic-compare-pool{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:10px;padding:10px;background:#f8fafc;margin-bottom:16px}
.topic-detail #topic-compare .topic-compare-item{display:flex;align-items:flex-start;gap:8px;padding:8px 10px;margin:0;border-radius:8px;background:white;border:1px solid #e2e8f0;cursor:pointer;font-size:12.5px;color:#334155;font-weight:400}
.topic-compare-item strong{font-weight:600}.topic-compare-item small{display:block;color:#64748b;margin-top:3px}
.topic-detail #topic-compare input[type=checkbox]{flex-shrink:0;margin:4px 0;accent-color:#0b3d91}
.topic-compare-output table{width:100%;border-collapse:collapse;font-size:12.5px}.topic-compare-output th,.topic-compare-output td{padding:10px;border:1px solid #e2e8f0;min-width:110px;vertical-align:top}.topic-compare-output th{background:#eff6ff;color:#0b3d91;text-align:left}
.topic-detail [hidden]{display:none!important}
@media(max-width:1200px){.topic-detail .topic-data-trouble-grid.topic-data-corpus,.topic-detail .topic-data-related-pub-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.topic-detail .topic-paper>.topic-section{padding:18px 16px}.topic-detail .topic-data-exp-card-head{padding:10px 12px}.topic-detail .topic-data-exp-card-body{padding:14px}.topic-detail .topic-data-exp-dose-row{grid-template-columns:minmax(0,1fr)}.topic-detail .topic-data-trouble-grid,.topic-detail .topic-data-trouble-grid.topic-data-corpus,.topic-detail .topic-data-related-pub-list{grid-template-columns:minmax(0,1fr)}.topic-tag-list{justify-content:flex-start;min-width:0}.topic-detail .topic-data-section-title-row{margin-top:0;justify-content:flex-start}.topic-detail .topic-paper>.topic-header h1{font-size:24px}}

.topic-core-finding .hl{color:#c2410c;font-weight:800}

/* Related-figure sizing: ID scope wins over generic image rules. */
.topic-detail #section-related-figs .topic-data-related-pub-list{gap:20px;align-items:stretch}
.topic-detail #section-related-figs .topic-data-related-pub{display:flex;flex-direction:column;min-width:0;border:1px solid #e2e8f0;border-radius:12px;padding:14px;background:#fff;gap:0}
.topic-detail #section-related-figs .topic-data-rp-thumb{display:block;width:100%;height:200px;max-height:none;object-fit:contain;background:#fff;border:1px solid #f1f5f9;border-radius:8px;padding:8px;box-sizing:border-box}
.topic-detail #section-related-figs .topic-data-rp-journal-row{display:flex;gap:8px;align-items:baseline;margin-top:10px;flex-wrap:wrap}
.topic-detail #section-related-figs .topic-data-rp-journal{font-size:12px;font-weight:700;color:#0d9488}.topic-detail #section-related-figs .topic-data-rp-pmid{font-size:11.5px;color:#94a3b8;margin-left:auto}
.topic-detail #section-related-figs .topic-data-related-pub-title{font-size:13.5px;font-weight:700;color:#0b3d91;line-height:1.55;margin:8px 0;word-break:break-word;overflow-wrap:anywhere}
.topic-detail #section-related-figs .topic-data-view-link{margin-top:auto}

/* Experiment subsections follow their parent entry in the article TOC. */
.topic-detail .topic-toc-children{margin:0 0 8px 12px;border-left:1px solid #dbeafe;padding-left:4px}
.topic-detail .topic-toc .topic-toc-children .topic-toc-child{padding:5px 10px 5px 12px;font-size:12.5px;line-height:1.5}

.topic-detail .topic-content .topic-data-exp-card:target{background:#f8fafc}

/* Restore native controls after the site's global input appearance reset. */
.topic-detail #topic-compare .topic-compare-item input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;display:inline-block;position:static;flex:0 0 16px;width:16px;height:16px;min-width:16px;padding:0;margin:3px 0 0;opacity:1;visibility:visible;accent-color:#0b3d91;cursor:pointer;box-shadow:none}
.topic-detail #topic-compare .topic-compare-item:hover{border-color:#bfdbfe;background:#f8fbff}
.topic-detail #topic-compare .topic-compare-item.is-selected{border-color:#93c5fd;background:#eff6ff}

.topic-detail .topic-compare-output .topic-comparison-table{width:100%;border-collapse:collapse;font-size:13px}
.topic-detail .topic-compare-output .topic-comparison-table th,.topic-detail .topic-compare-output .topic-comparison-table td{border:1px solid #e2e8f0;padding:9px 12px;text-align:left;vertical-align:top}
.topic-detail .topic-compare-output .topic-comparison-table th{background:#0b3d91;color:#fff;font-weight:600;white-space:nowrap}
.topic-detail .topic-compare-output .topic-comparison-table td{color:#334155}
.topic-detail .topic-compare-output .topic-comparison-table tbody tr:nth-child(even){background:#f8fafc}
.topic-comparison-title{font-weight:600;color:#1e293b}

.topic-detail .topic-compare-output .topic-comparison-table th,.topic-detail .topic-compare-output .topic-comparison-table th *{color:#fff!important}

.page-shell .button-primary-small:hover,.topic-detail .topic-data-lit-view-article:hover{background:#072e70;color:#fff;text-decoration:none}

.topic-related-more-actions{display:flex;align-items:center;gap:12px;margin-top:12px}
.topic-detail .topic-related-more{margin:0;padding:6px 14px;border:1px solid #0b3d91;border-radius:6px;background:white;color:#0b3d91;font-size:12.5px;font-weight:600}
.topic-detail .topic-related-more:hover{background:#eff6ff}.topic-related-count{font-size:12px;color:#64748b}

.topic-detail .topic-section-title{display:flex;align-items:center;gap:10px}
.topic-section-icon{display:inline-flex;align-items:center;justify-content:center;flex:0 0 24px;width:24px;height:24px;color:#0b3d91}
.topic-section-icon svg{display:block;width:18px;height:18px}

.topic-page .topic-browser .topic-record-head>.topic-record-link{flex:0 0 auto;margin:0 0 0 auto}
.topic-page .topic-browser .topic-record-reference{color:#0b3d91;font-weight:600}

.topic-browser .topic-record-label{transition:color .18s ease}
.topic-browser .topic-record-card.is-reading .topic-record-label{color:#1e40af}
@media(prefers-reduced-motion:reduce){.topic-browser .topic-record-label{transition:none}}

/* Optional ordering/evidence column beside the shared topic page. */
.topic-layout-order{grid-template-columns:minmax(0,1fr) 280px}
.topic-layout-order .main-content{min-width:0}
.topic-layout-order .topic-group:first-child{margin-top:0}

.topic-page .nav-sidebar{min-width:0;display:flex;flex-direction:column;gap:20px;text-align:left;position:sticky;top:24px;align-self:start;max-height:calc(100vh - 48px);overflow-y:auto;scrollbar-width:thin}
.topic-page .sidebar-order-card,.topic-page .literature-card{display:flex;flex-direction:column;gap:14px}
.topic-page .sidebar-order-title,.topic-page .literature-title{display:flex;align-items:center;gap:8px;margin:0;padding-bottom:10px;border-bottom:1px solid #e2e8f0;color:#0b3d91}

.topic-page .mini-order-table{width:100%;border:1px solid #dbeafe;border-collapse:separate;border-spacing:0;border-radius:8px;overflow:hidden;font-size:12px}
.topic-page .mini-order-table th{padding:7px 10px;background:#f0f7ff;color:#1e40af;text-align:left;font-size:11px}
.topic-page .mini-order-table td{padding:0px 10px;border-bottom:1px solid #e2e8f0}
.topic-page .mini-size-title,.topic-page .mini-price-box{white-space:nowrap;font-weight:600}
.topic-page .qty-options{width:auto;overflow:visible;border:0}
.topic-page .info-select{appearance:auto;-webkit-appearance:menulist;width:42px;min-width:42px;height:24px;max-width:100%;padding:2px 4px;border:1px solid #cbd5e1;border-radius:4px;background:white;line-height:normal}
.topic-page .sidebar-order-actions{display:flex;gap:6px}
.topic-page .btn-mini-add-cart,.topic-page .btn-mini-bulk{display:flex;align-items:center;justify-content:center;gap:4px;flex:1;padding:7px 4px;border:1px solid #cbd5e1;border-radius:5px;background:white;color:#475569;font-size:11px;cursor:pointer;white-space:nowrap}
.topic-page .btn-mini-add-cart:hover,.topic-page .btn-mini-bulk:hover{color:var(--topic-accent);border-color:var(--topic-accent)}
.topic-page .order-purity{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:14px;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:1px solid #bfdbfe;border-radius:8px}
.topic-page .order-purity-label{font-size:12px;font-weight:700;color:#1e40af}
.topic-page .order-purity-value{font-size:20px;color:#1e3a8a}
.topic-page .order-purity-batch{font-size:11px;font-weight:600;color:var(--topic-muted);background:#f1f5f9;padding:2px 7px;border-radius:4px}
.topic-page .literature-list{list-style:none;margin:0;padding:0}
.topic-page .literature-list li{margin:0;border-bottom:1px dashed #e2e8f0;font-size:12px;min-width:0}
.topic-page .literature-list em{color:var(--topic-accent)}
.topic-page .view-more-citations{align-self:flex-start;padding:4px 12px;border:1px solid #dbeafe;border-radius:999px;background:#f0f7ff;font-size:12px;font-weight:600}
.topic-page .citation-figures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 8px}
.topic-page .citation-fig{width:100%;padding:0;text-align:left;align-items:stretch;cursor:pointer;font:inherit;color:inherit;display:flex;flex-direction:column;overflow:hidden;border:1px solid #e2e8f0;border-radius:6px;background:white}
.topic-page .citation-fig img{width:100%;aspect-ratio:4/3;object-fit:contain}
.topic-page .citation-fig-caption{padding:5px 8px;font-size:11px;color:var(--topic-muted);overflow-wrap:anywhere}
.topic-page .list-controls{display:flex;justify-content:center;gap:12px;margin:16px 0}
.topic-page .list-action{padding:8px 18px;border:1px solid #bfdbfe;border-radius:6px;background:white;color:#1e40af;cursor:pointer}
.topic-page [hidden]{display:none!important}
@media(max-width:992px){.topic-layout-order{grid-template-columns:minmax(0,1fr)}.topic-page .nav-sidebar{display:none}}

/* Keep the existing breadcrumb and header responsive in the optional-column frame. */
.topic-page .breadcrumb>label{display:inline-block}
.responsive-page .nav-header,.responsive-page #main-nav-box{width:100%;max-width:1346px}
.responsive-page .nav-header{flex-wrap:wrap}
.responsive-page #searchContainer{flex:1;min-width:0}
.responsive-page #searchForm,.responsive-page .search-input{width:100%}
.responsive-page #main-nav-box ul{height:auto;display:flex;flex-wrap:wrap}
.topic-page .citation-fig-caption em{color:var(--topic-accent)}
@media(max-width:560px){.responsive-page #searchContainer{order:3;flex-basis:100%}}

/* Product evidence reuses the site image dialog and delegated click handlers. */
.topic-page .sidebar-order-header{display:flex;flex-direction:column;gap:8px}
.topic-page .order-stock-status{display:flex;align-items:center;gap:5px;color:#059669;font-size:12px;font-weight:700}
.topic-page .stock-dot{width:9px;height:9px;flex-shrink:0;background:#059669;border-radius:50%}
.topic-page .mini-order-table td:last-child{text-align:center}
.topic-page .literature-list .click_dialogue{display:block;width:100%;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin:6px 0;padding:0;border:0;background:none;color:#0b3d91;font:inherit;text-align:left;line-height:inherit;cursor:pointer}
.topic-page .literature-list .click_dialogue:hover{text-decoration:underline}
#dialogueModal .modal-dialog{max-width:calc(100% - 32px)}
#dialogueModal #imgModal{max-width:100%;height:auto;max-height:calc(100vh - 160px);object-fit:contain}

/* Related satellite links reuse the topic card grid and heading marker. */
.topic-jump{padding-bottom:24px}

.topic-jump .cs-outline{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,max(240px,calc((100% - 36px)/4))),1fr));gap:10px 12px;list-style:none;margin:0;padding:0}
.topic-jump .cs-outline li{margin:0;min-width:0;display:flex}
.topic-jump .cs-outline a{padding:10px 20px;display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;font-size:13px;line-height:1.6;overflow-wrap:anywhere;transition:background .15s,border-color .15s}
.topic-jump .cs-outline a::after{content:"›";flex-shrink:0;color:var(--topic-accent);font-size:20px}
.topic-jump .cs-outline a:hover,.topic-jump .cs-outline a:focus-visible{background:#eff6ff;border-color:#bfdbfe}

/* Shared overview cards for product comparisons. */
.topic-page .tech-grid{display: grid;
        grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
        gap: 16px;
        margin-bottom: 0;}
.topic-page .tech-card{background: linear-gradient(135deg, #eff6ff 0%, #f0fdf4 100%);
        border: 1px solid #bfdbfe;
        border-left: 4px solid #2563eb;
        border-radius: 10px;
        padding: 10px 14px;
        display: flex;
        flex-direction: row;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 4px 12px;
        box-shadow: 0 2px 8px rgba(37, 99, 235, 0.08);
        transition: transform 0.2s ease, box-shadow 0.2s ease;}
.topic-page .tech-card:hover{transform: translateY(-3px);
        box-shadow: 0 8px 20px rgba(37, 99, 235, 0.15);}
.topic-page .tech-card.card-green{border-left-color: #059669;
        background: linear-gradient(135deg, #f0fdf4 0%, #ecfeff 100%);
        border-color: #a7f3d0;
        box-shadow: 0 2px 8px rgba(5, 150, 105, 0.08);}
.topic-page .tech-card.card-green:hover{box-shadow: 0 8px 20px rgba(5, 150, 105, 0.15);}
.topic-page .tech-card.card-orange{border-left-color: #ea580c;
        background: linear-gradient(135deg, #fff7ed 0%, #fffbeb 100%);
        border-color: #fed7aa;
        box-shadow: 0 2px 8px rgba(234, 88, 12, 0.08);}
.topic-page .tech-card.card-orange:hover{box-shadow: 0 8px 20px rgba(234, 88, 12, 0.15);}
.topic-page .tech-card-title{font-size: 13px;
        font-weight: 700;
        color: var(--primary);
        display: flex;
        align-items: center;
        gap: 6px;}
.topic-page .tech-card-value{font-size: 19px;
        font-weight: 800;
        color: #1d4ed8;
        line-height: 1.1;
        letter-spacing: -0.5px;}
.topic-page .tech-card.card-green .tech-card-value{color: #047857;}
.topic-page .tech-card.card-orange .tech-card-value{color: #c2410c;}
.topic-page .tech-card-symbol{font-size: 17px;
        line-height: 1;
        color: #059669;}
.topic-page .tech-card.card-green .tech-card-symbol{color: #059669;}
.topic-page .tech-card.card-orange .tech-card-symbol{color: #ea580c;}
.topic-page .tech-card-desc{font-size: 12.5px;
        color: var(--text-muted);
        margin: 0;
        line-height: 1.55;
        flex-basis: 100%;}
.topic-page .why-grid{display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 16px;}
.topic-page .why-card{background: #ffffff;
        border: 1px solid var(--border);
        border-radius: 10px;
        padding: 18px;
        display: flex;
        flex-direction: column;
        transition: transform 0.2s ease, box-shadow 0.2s ease;}
.topic-page .why-card:hover{transform: translateY(-3px);
        box-shadow: 0 8px 20px rgba(15, 23, 42, 0.08);}
.topic-page .why-card-head{display: flex;
        align-items: center;
        gap: 10px;
        margin-bottom: 8px;}
.topic-page .why-card-no{display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 32px;
        height: 32px;
        background: var(--accent-light);
        color: var(--accent);
        font-size: 12px;
        font-weight: 800;
        border-radius: 9px;
        flex-shrink: 0;}
.topic-page .why-card h3{font-size: 14.5px;
        font-weight: 700;
        color: var(--primary);
        line-height: 1.4;}
.topic-page .why-card p{font-size: 12.5px;
        color: var(--text-muted);
        line-height: 1.6;
        margin-bottom: 12px;}
.topic-page .why-card .text-link{margin-top: auto;
        font-size: 12.5px;
        font-weight: 700;
        color: var(--accent);
        text-decoration: none;}
.topic-page .why-card .text-link:hover{text-decoration: underline;}

.topic-page .paper-item{border: 1px solid var(--border);
        border-left: 4px solid var(--accent);
        border-radius: 10px;
        padding: 16px 20px;
        margin-bottom: 14px;
        background: #ffffff;
        transition: box-shadow 0.2s ease, transform 0.2s ease;}
.topic-page .paper-item:last-child{margin-bottom: 0;}
.topic-page .paper-item:hover{box-shadow: 0 6px 18px rgba(37, 99, 235, 0.12);
        transform: translateY(-2px);}
.topic-page .paper-journal{font-size: 12.5px;
        font-weight: 700;
        color: #1d4ed8;
        margin-bottom: 6px;}
.topic-page .paper-title{font-size: 15px;
        font-weight: 700;
        color: var(--primary);
        line-height: 1.45;
        margin-bottom: 6px;}
.topic-page .paper-cite{font-size: 12.5px;
        color: var(--text-muted);
        line-height: 1.6;
        margin-bottom: 8px;}
.topic-page .paper-cite a{color: var(--accent);
        text-decoration: none;
        font-weight: 600;}
.topic-page .paper-cite a:hover{text-decoration: underline;}
.topic-page .paper-use{font-size: 12.5px;
        color: var(--text-main);
        line-height: 1.6;
        background: var(--accent-light);
        border-radius: 6px;
        padding: 8px 12px;}
.topic-page .paper-use strong{color: #1d4ed8; font-weight: 700;}

/* Competitor comparison uses the supplied design within the shared two-column shell. */

.topic-content-compact>.section-card{padding:18px 24px;margin:0 0 20px}

.topic-page .tech-card h3{margin:0;line-height:1.5}
.topic-page .tech-card-value{margin:0;overflow-wrap:anywhere}
.comparison-table-scroll{border:1px solid #cbd5e1;border-radius:8px;background:#fff}
.comparison-table{width:100%;font-size:13px;border-collapse:collapse;table-layout:fixed}
.comparison-table th,.comparison-table td{padding:12px 16px;border:1px solid #cbd5e1;vertical-align:middle;color:#000;font-weight:400;overflow-wrap:anywhere}
.comparison-table thead th{background:#f0f7ff;color:#1e40af;border-color:#dbeafe;font-weight:700}
.comparison-table thead th:first-child{width:22%}
.comparison-table thead th:not(:first-child){width:39%}
.comparison-table tbody th{background:transparent;white-space:nowrap}
.comparison-table tbody tr:nth-child(even)>*{background:#f8fafc}
.comparison-table tbody tr:hover>*{background:#eff6ff}
.topic-content-compact .topic-section-subtitle{font-size:12.5px;color:#64748b;line-height:1.55;margin:14px 0 0}

.topic-page .product-cta-card.cta-stacked .product-box{flex-direction:column;gap:14px}
.topic-page .product-cta-card.cta-stacked .cta-text{font-size:16px;font-weight:700;color:#0f172a}
.topic-page .cta-buttons{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.topic-page .product-cta-card.cta-stacked .product-link{padding:6px 12px;font-size:15px;border-radius:22px}
.topic-page .product-cta-card.cta-stacked .product-link.secondary{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 14px rgba(37,99,235,.28)}
.topic-page .paper-item .click_dialogue{font-size:12.5px;color:#2563eb;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;padding:6px 10px;cursor:pointer}
@media(max-width:992px){.topic-page .why-grid{grid-template-columns:1fr}}
@media(max-width:560px){.topic-content-compact>.section-card{padding:18px 16px}.comparison-table{min-width:580px}}

.topic-page .why-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.topic-page .why-card h3{margin:0}
.topic-page .why-card p{margin:0 0 12px}
.topic-page .why-card>a{margin-top:auto;font-size:12.5px;font-weight:600;color:#2563eb;text-decoration:none}

.comparison-table-scroll{padding:0}
.topic-page .paper-item .paper-title{margin:0 0 6px}
.topic-page .paper-item .paper-journal{margin:0 0 6px}
@media(max-width:992px){.topic-page .why-grid{grid-template-columns:1fr}}

/* Shared animal formulation calculator and dosing controls. */
.topic-page .calc-inputs-flex{display:flex;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;margin-bottom:12px}
.topic-page .calc-input-item{display:flex;align-items:center;gap:6px;flex:1;min-width:140px}
.topic-page .calc-input-item label,.topic-page .calc-input-item span{white-space:nowrap}
.topic-page .calc-input-item input{min-width:45px;text-align:center;padding:6px 8px}
.topic-page .calc-submit-btn{background:#2563eb;color:#fff}
.topic-page #othersAnimalTable2{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0}
.topic-page #othersAnimalTable2 li{cursor:pointer;padding:4px 10px;border:1px solid #cbd5e1;border-radius:4px}
.topic-page #othersAnimalTable2 li.active{background:#eff6ff;color:#1e40af}
.topic-page #inVivoResult{font-size:13px;line-height:1.6}


/* Separate batch formulations from literature records; preserve layout.css inline steps. */
.topic-page #section-formulation>.col1-grid{margin-bottom:20px}
.topic-page .plan label{display:inline-block;font-weight:inherit}

/* Reused detail-page components; legacy stylesheets remain unchanged. */

.topic-page .order-stock-status{display: flex;
    align-items: center;
    gap: 4px;
    font-size: 11px;
    font-weight: 700;
    color: #059669;}
.topic-page .btn-hero-action{width: 100%;
    height: 38px;
    background-color: #ffffff;
    color: var(--accent-light);
    border: 1px solid var(--border);
    padding: 0 12px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    transition: all 0.2s ease;
    cursor: pointer;
    white-space: nowrap;}
.topic-page .btn-hero-action:hover{background-color: var(--accent-light);
    color: var(--accent-hover);
    border-color: var(--accent-border);}
.topic-page #section-structure{scroll-margin-top: 80px;}
.topic-page .section-split-container{display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    position: relative;}
.topic-page .right-display,.topic-page .left-display{flex: 1;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    position: relative;
    color: var(--primary);
    line-height: 1.3;}
.topic-page .caption-note{font-size: 13px;
    font-weight: bold;
    color: var(--text-muted);
    text-align: center;}
.topic-page .btn-copy-icon,.topic-page .btn-download-minimal{background: transparent;
    border: none;
    color: #94a3b8;
    cursor: pointer;
    padding: 4px 6px;
    border-radius: 6px;
    display: inline-flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    font-weight: 600;
    transition: all 0.2s;

    white-space: nowrap;}
.topic-page .btn-copy-icon span::after,.topic-page .btn-download-minimal span::after{content: '';
    display: inline-block;
    width: 14px;
    height: 14px;

    flex-shrink: 0;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    margin-left: 5px;}
.topic-page .btn-copy-icon span::after{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'%3E%3C/path%3E%3C/svg%3E");}
.topic-page .btn-download-minimal span::after{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");}
.topic-page .btn-copy-icon:hover,.topic-page .btn-download-minimal:hover{color: var(--accent);
    background: var(--accent-light);}
.topic-page .btn-copy-icon:hover span::after{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23007bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'%3E%3C/path%3E%3C/svg%3E");}
.topic-page .btn-download-minimal:hover span::after{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='13' viewBox='0 0 24 24' fill='none' stroke='%23007bff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");}
.topic-page .btn-copy-icon.copied{color: var(--success);}
.topic-page .btn-copy-icon.copied span::after{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2310b981' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='9' width='13' height='13' rx='2' ry='2'%3E%3C/rect%3E%3Cpath d='M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1'%3E%3C/path%3E%3C/svg%3E");}
.topic-page .icon-download{display: inline-flex;
    align-items: center;
    gap: 6px;}
.topic-page .icon-download::after{content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'%3E%3C/path%3E%3Cpolyline points='7 10 12 15 17 10'%3E%3C/polyline%3E%3Cline x1='12' y1='15' x2='12' y2='3'%3E%3C/line%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;}
.topic-page .click-btn{display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 14px;
    background: var(--accent-light);
    color: var(--accent);
    border: 1px solid var(--accent-border);
    border-radius: 6px;
    text-decoration: none;
    font-size: 13px;
    font-weight: 700;
    transition: all 0.15s ease;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.03);}
.topic-page .flex-column{display: flex;
    flex-direction: column;
    gap: 10px;
    justify-content: center;
    height: 100%;}
.topic-page .vis-card{background: #ffffff;
    min-width: 0;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    width: 100%;}
.topic-page .vis-img-box{width: 100%;
    height: auto;
    background: transparent;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;}
.topic-page .vis-download-corner{display: flex;
    gap: 4px;
    justify-content: center;}
.topic-page .stock-prep-grid{display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    gap: 16px;}
@media (max-width: 768px){.topic-page .stock-prep-grid{grid-template-columns: 1fr;}
.topic-page .section-split-container{flex-direction: column;}}
.topic-page .calc-widget{background: linear-gradient(135deg, #f8fafc 0%, #f0f7ff 100%);
    border: 1px solid #cbd5e1;
    border-radius: 8px;
    padding: 10px 15px;}
.topic-page .calc-widget-title{font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 10px;
    display: flex;
    align-items: center;
    gap: 6px;}
.topic-page .calc-form-group{display: flex;
    flex-direction: column;
    gap: 5px;
    margin-bottom: 10px;}
.topic-page .calc-row{display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 12px;}
.topic-page .calc-row input{width: 85px;
    padding: 4px 6px;
    border: 1px solid var(--border);
    border-radius: 6px;
    font-size: 12px;
    text-align: center;
    background: #ffffff;}
.topic-page .calc-submit-btn{background: var(--accent);
    color: white;
    border: none;
    padding: 6px 14px;
    border-radius: 6px;
    font-size: 12px;
    font-weight: 700;
    cursor: pointer;
    transition: all 0.2s;
    white-space: nowrap;}
.topic-page .calc-submit-btn:hover{background: var(--accent-hover);}
.topic-page .data-disclaimer-text{font-size: 13.5px;
    color: #1e293b;
    font-weight: 600;
    line-height: 1.45;}
.topic-page .solubility-faq-grid{display: grid;
    grid-template-columns: 0.95fr 1.05fr;
    gap: 18px;
    align-items: stretch;}
.topic-page .f13-label{font-size: 13px;
    font-weight: 700;
    color: var(--primary);
    margin-bottom: 8px;}
.topic-page .col1-grid{display: grid;
    gap: 18px;
    align-items: stretch;}
.topic-page .flex-align-items{align-items: flex-start !important;}
@media (max-width: 900px){.topic-page .solubility-faq-grid{grid-template-columns: 1fr;}}
.topic-page .solubility-table-box{display: flex;
    flex-direction: column;
    height: 100%;}
.topic-page .solubility-table-box .table-responsive{height: 100%;}
.topic-page .solubility-table-box table{width: 100%;
    height: 100%;}
.topic-page .faq-panel-card{background: #ffffff;
    border: 1px solid var(--border);
    border-radius: 6px;
    overflow: hidden;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.02);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;}
.topic-page .faq-header-bar{background: var(--th-bg);
    color: var(--th-text);
    font-size: 13.5px;
    font-weight: 700;
    padding: 10px 14px;
    border-bottom: 2px solid #dbeafe;}
.topic-page .faq-body-content{padding: 14px 16px;
    flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;}
.topic-page .faq-q-title{font-size: 13.5px;
    font-weight: 800;
    color: #0f172a;
    line-height: 1.45;
    margin-bottom: 6px;}
.topic-page .faq-answer-summary{font-size: 13px;
    color: #1e293b;
    line-height: 1.45;
    margin-bottom: 10px;}
.topic-page .faq-fix-list{list-style: disc;
    padding-left: 18px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 5px;}
.topic-page .faq-fix-item{font-size: 13px;
    color: #1e293b;
    margin: 0 !important;
    line-height: 1.45;}
.topic-page .aliquot-service-wrapper{display: flex;
    align-items: center;
    gap: 28px;}
.topic-page .aliquot-graphic-card{flex: 0 0 42%;
    background: #eef6ff;
    border-radius: 6px;
    padding: 12px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;}
.topic-page .aliquot-info-side{flex: 1;
    font-size: 13.5px;
    line-height: 1.6;
    color: #334155;}
.topic-page .aliquot-info-side p{margin: 0 0 10px 0;}
.topic-page .aliquot-info-side p:last-child{margin-bottom: 0;}
.topic-page .aliquot-info-side a{color: #0070f3;
    text-decoration: none;}
.topic-page .aliquot-info-side a:hover{text-decoration: underline;}
.topic-page .satellite-link-list{display: grid;
    gap: 10px;
    grid-template-columns: repeat(4, 1fr);}
.topic-page .satellite-product-list{display: grid;
    gap: 10px;
    grid-template-columns: repeat(5, 1fr);}
.topic-page .link-item,.topic-page .product-item{background: var(--card-bg);
    border: 1px solid var(--accent-border);
    border-radius: 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;}
.topic-page .link-item:hover,.topic-page .product-item:hover{transform: translateY(-3px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);}
.topic-page .link-item-img,.topic-page .product-item-img{width: 100%;
    height: 5rem;
    object-fit: cover;
    background-color: #e2e8f0;}
.topic-page .link-text,.topic-page .product-text{padding: 16px;
    display: flex;
    flex-direction: column;
    flex: 1;
    color: var(--text-muted);}
.topic-page #bio-widget-animal,.topic-page #bio-widget-cell{font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size: 13px; color: #333; line-height: 1.4; border-radius: 4px; background: #fff; overflow: hidden;display: flex; flex-direction: column;}
.topic-page #bio-widget-animal .bio-step-title,.topic-page #bio-widget-cell .bio-step-title{flex: 1; margin: 0; min-width: 280px; color: #333;}
.topic-page #bio-widget-animal .bio-tabs-header,.topic-page #bio-widget-cell .bio-tabs-header{border-bottom: 1px solid #ddd; padding: 8px 12px;display: flex; flex-wrap: wrap; gap: 8px; flex-shrink: 0;}
.topic-page #bio-widget-animal .bio-tab,.topic-page #bio-widget-cell .bio-tab{padding: 4px 12px; font-weight: 600; color: #555; cursor: pointer;border: 1px solid #ddd; border-radius: 15px; background: #fff;transition: all 0.2s; display: inline-flex; align-items: center; gap: 6px;font-size: 12px; user-select: none;}
.topic-page #bio-widget-animal .bio-tab:hover,.topic-page #bio-widget-cell .bio-tab:hover{border-color: #999; color: #000;}
.topic-page #bio-widget-animal .bio-tab.active,.topic-page #bio-widget-cell .bio-tab.active{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-tab-count,.topic-page #bio-widget-cell .bio-tab-count{background: rgba(0,0,0,0.1); color: inherit; border-radius: 10px; padding: 0 5px; font-size: 10px;}
.topic-page #bio-widget-animal .bio-subtabs-header,.topic-page #bio-widget-cell .bio-subtabs-header{background: #fff; border-bottom: 1px solid #eee; padding: 8px 15px;display: flex; flex-wrap: wrap; gap: 8px;flex-shrink: 0; align-items: center;}
.topic-page #bio-widget-animal .bio-subtab,.topic-page #bio-widget-cell .bio-subtab{padding: 3px 10px; font-weight: 500; color: #555; cursor: pointer;border: 1px solid #ddd; border-radius: 12px; background: #f9f9f9;transition: all 0.2s; font-size: 12px; user-select: none;}
.topic-page #bio-widget-animal .bio-subtab:hover,.topic-page #bio-widget-cell .bio-subtab:hover{border-color: #007bff; color: #007bff;}
.topic-page #bio-widget-animal .bio-subtab.active,.topic-page #bio-widget-cell .bio-subtab.active{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-search-wrapper,.topic-page #bio-widget-cell .bio-search-wrapper{flex: none; display: flex; gap: 0; align-items: center;margin-left: 8px;}
.topic-page #bio-widget-animal .bio-search-input,.topic-page #bio-widget-cell .bio-search-input{width: 150px;padding: 5px 8px; border: 1px solid #ddd;border-radius: 3px; font-size: 13px;}
.topic-page #bio-widget-animal .bio-btn,.topic-page #bio-widget-cell .bio-btn{padding: 7px 12px; background: #f8f9fa; border: 1px solid #ddd;border-top-right-radius: 3px; border-bottom-right-radius: 3px;cursor: pointer; color: #333; font-weight: 600; font-size: 12px;}
.topic-page #bio-widget-animal .bio-btn:hover,.topic-page #bio-widget-cell .bio-btn:hover{background-color: #e9ecef;}
.topic-page #bio-widget-animal .bio-content-area,.topic-page #bio-widget-cell .bio-content-area,.topic-page #bio-search-result-cell .bio-content-area{background: #fff; border-bottom: 1px solid #eee;flex-grow: 1;overflow-y: auto; max-height: 600px; padding: 10px 15px;}
.topic-page #bio-widget-animal .bio-content-area::-webkit-scrollbar,.topic-page #bio-widget-cell .bio-content-area::-webkit-scrollbar{width: 6px;}
.topic-page #bio-widget-animal .bio-content-area::-webkit-scrollbar-thumb,.topic-page #bio-widget-cell .bio-content-area::-webkit-scrollbar-thumb{background: #ccc; border-radius: 3px;}
.topic-page #bio-widget-animal .bio-badges,.topic-page #bio-widget-cell .bio-badges{display: flex; gap: 5px; font-size: 10px; margin-bottom: 10px;}
.topic-page #bio-widget-animal .bio-badge,.topic-page #bio-widget-cell .bio-badge{padding: 1px 5px; border-radius: 3px; background: #e7f5ff; color: #007bff; border: 1px solid #d0ebff;}
.topic-page #bio-widget-animal .bio-badge.high,.topic-page #bio-widget-cell .bio-badge.high{background: #fff9db; color: #e67700; border-color: #ffec99;}
.topic-page #bio-widget-animal .bio-detail-sort-bar,.topic-page #bio-widget-cell .bio-detail-sort-bar{display: flex; justify-content: flex-start;gap: 5px; margin-bottom: 8px; font-size: 11px; color: #666; align-items: center;}
.topic-page #bio-widget-animal .bio-mini-btn,.topic-page #bio-widget-cell .bio-mini-btn{border: 1px solid #ced4da; background: #fff; padding: 1px 6px; border-radius: 3px; cursor: pointer; color: #555;display: flex; align-items: center; gap: 3px;}
.topic-page #bio-widget-animal .bio-mini-btn.active,.topic-page #bio-widget-cell .bio-mini-btn.active{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-sort-arrow,.topic-page #bio-widget-cell .bio-sort-arrow{font-size: 9px;}
.topic-page #bio-widget-animal .bio-tag,.topic-page #bio-widget-cell .bio-tag{font-size: 10px; padding: 0 5px; border-radius: 3px; border: 1px solid #ddd;background: #f1f3f5; color: #555; height: 18px; line-height: 16px; white-space: nowrap;}
.topic-page #bio-widget-animal .bio-tag.concentration-tag,.topic-page #bio-widget-cell .bio-tag.concentration-tag{color: #856404; font-weight: bold;}
.topic-page #bio-widget-animal .bio-tag.duration-tag,.topic-page #bio-widget-cell .bio-tag.duration-tag{color: #099268; font-weight: bold;}
.topic-page #bio-widget-animal .bio-tag.if-tag.active-sort,.topic-page #bio-widget-cell .bio-tag.if-tag.active-sort{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-tag.citation-tag.active-sort,.topic-page #bio-widget-cell .bio-tag.citation-tag.active-sort{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-tag.date-tag.active-sort,.topic-page #bio-widget-cell .bio-tag.date-tag.active-sort{background: #007bff; color: #fff; border-color: #007bff;}
.topic-page #bio-widget-animal .bio-thumb-img,.topic-page #bio-widget-cell .bio-thumb-img{width: 24px; height: 32px; border: 1px solid #ccc; border-radius: 2px;object-fit: cover; cursor: pointer; transition: transform 0.2s, box-shadow 0.2s;background: #fff;}
.topic-page #bio-widget-animal .bio-thumb-img:hover,.topic-page #bio-widget-cell .bio-thumb-img:hover{transform: scale(1.5); box-shadow: 0 2px 5px rgba(0,0,0,0.2); z-index: 10;border-color: #007bff;}
.topic-page #bio-widget-animal .bio-sub-model-title,.topic-page #bio-widget-cell .bio-sub-model-title{font-weight: 700; font-size: 13px; margin: 12px 0 6px 0; color: #007bff;}
.topic-page .bio-global-search{flex: 0 0 320px; max-width: 100%;margin-left: 15px;}
.topic-page .bio-step-header-inline{display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap;}
.topic-page .PMC-link-wrapper{display:flex; gap:8px;flex-direction: column-reverse;}
.topic-page .img-modal{display: none; position: fixed; z-index: 9999;left: 0; top: 0; width: 100vw; height: 100vh; background-color: rgba(0, 0, 0, 0.85);}
.topic-page .img-modal-content{position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);max-width: 90vw; max-height: 90vh; border-radius: 8px; box-shadow: 0 4px 20px rgba(0,0,0,0.5);object-fit: contain; animation: zoomInCenter 0.3s forwards;}
.topic-page .img-modal-close{position: absolute; top: 20px; right: 40px; color: #fff; font-size: 40px; font-weight: bold;transition: 0.3s; cursor: pointer; z-index: 10000;}
.topic-page .img-modal-close:hover{color: #bbb; text-decoration: none;}
@media (max-width: 868px){.topic-page .aliquot-service-wrapper{flex-direction: column;
        gap: 16px;}
.topic-page .aliquot-graphic-card{width: 100%;}}
.topic-page .empty-message{padding: 24px;
    text-align: center;
    color: #64748b;}
.topic-page .calculators-grid{display: flex;
        flex-direction: column;
        gap: 10px;
        margin-top: 10px;}
.topic-page .pcalc-card{background: linear-gradient(135deg, #ffffff 0%, #f8fbff 100%);
        border: 1px solid #e2e8f0;
        border-radius: 8px;
        padding: 10px 14px;
        box-shadow: 0 1px 2px rgba(0,0,0,0.03);}
.topic-page .pcalc-head{display: flex;
        align-items: center;
        gap: 6px;
        margin-bottom: 8px;}
.topic-page .pcalc-icon{font-size: 13px; line-height: 1;}
.topic-page .pcalc-title{font-size: 13.5px;
        font-weight: 800;
        color: var(--primary);}
.topic-page .pcalc-row{display: flex;
        align-items: center;
        flex-wrap: wrap;
        gap: 8px 7px;
        font-size: 13px;}
.topic-page .pcalc-field{display: flex;
        align-items: center;
        gap: 4px;
        min-width: 0;}
.topic-page .pcalc-field > label{white-space: nowrap;
        font-weight: 600;
        color: var(--primary);}
.topic-page .pcalc-field input{width: 74px;
        padding: 5px 7px;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        font-size: 13px;
        text-align: left;
        background: #ffffff;
        outline: none;
        box-sizing: border-box;}
.topic-page .pcalc-field input:focus{border-color: var(--accent);}
.topic-page .pcalc-field select{padding: 5px 4px;
        border: 1px solid #cbd5e1;
        border-radius: 6px;
        font-size: 12px;
        background: #ffffff;
        color: #334155;
        cursor: pointer;}
.topic-page .pcalc-unit{font-size: 12px;
        color: #334155;
        white-space: nowrap;}
.topic-page .pcalc-op{color: #64748b;
        font-weight: 700;
        padding: 0 1px;}
.topic-page .pcalc-btn{background: #f97316;
        color: #ffffff;
        border: none;
        padding: 6px 15px;
        border-radius: 6px;
        font-size: 13px;
        font-weight: 700;
        cursor: pointer;
        white-space: nowrap;
        transition: background 0.2s;}
.topic-page .pcalc-btn:hover{background: #ea580c;}
.topic-page .pcalc-result{margin-top: 8px;
        font-size: 12.5px;
        color: #334155;
        line-height: 1.5;}
.topic-page #serial-result{color: #7c3aed;
        font-weight: 700;}
.topic-page #serial-result .pcalc-result-label{color: #7c3aed;}
.topic-page .calc-inputs-flex{display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
            font-size: 13px;
            width: 100%;}
.topic-page .calc-input-item{display: flex;
            align-items: center;
            gap: 6px;
            flex: 1;
            min-width: 125px;}
.topic-page .calc-input-item label{white-space: nowrap;
            font-weight: 600;}
.topic-page .calc-input-item span{white-space: nowrap;
            color: var(--text-muted);}
.topic-page .calc-inputs-flex .calc-input-item input[type="number"]{flex: 1;
            min-width: 50px;
            padding: 6px 8px;
            border: 1px solid var(--border);
            border-radius: 6px;
            font-size: 13px;
            text-align: center;
            background: #ffffff;
            outline: none;}
.topic-page .calc-submit-btn{background: var(--accent);
            color: white;
            border: none;
            padding: 7px 16px;
            border-radius: 6px;
            font-size: 13px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;}
.topic-page .calc-submit-btn:hover{background: var(--accent-hover);}
.topic-page #othersAnimalTable2{display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 12px;}
.topic-page #othersAnimalTable2 li{background: #ffffff;
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 5px 12px;
            font-size: 13px;
            color: var(--text-main);
            cursor: pointer;
            transition: all 0.15s ease;}
.topic-page #othersAnimalTable2 li:hover{border-color: var(--accent-border);
            background: var(--accent-light);
            color: var(--accent);}
.topic-page #othersAnimalTable2 li.active{background: #0070f3;
            border-color: #0070f3;
            color: #ffffff;
            font-weight: 600;}
.topic-page .calc-inputs-flex{display: flex;
            flex-wrap: wrap;
            align-items: center;
            gap: 10px;
            font-size: 13px;
            width: 100%;}
.topic-page .calc-input-item{display: flex;
            align-items: center;
            gap: 6px;
            flex: 1;
            min-width: 125px;}
.topic-page .calc-input-item label{white-space: nowrap;
            font-weight: 600;}
.topic-page .calc-input-item span{white-space: nowrap;
            color: var(--text-muted);}
.topic-page .calc-inputs-flex .calc-input-item input[type="number"]{flex: 1;
            min-width: 50px;
            padding: 6px 8px;
            border: 1px solid var(--border);
            border-radius: 6px;
            font-size: 13px;
            text-align: center;
            background: #ffffff;
            outline: none;}
.topic-page .calc-submit-btn{background: var(--accent);
            color: white;
            border: none;
            padding: 7px 16px;
            border-radius: 6px;
            font-size: 13px;
            font-weight: 700;
            cursor: pointer;
            transition: all 0.2s;
            white-space: nowrap;}
.topic-page .calc-submit-btn:hover{background: var(--accent-hover);}
.topic-page #othersAnimalTable2{display: flex;
            flex-wrap: wrap;
            gap: 6px;
            margin-bottom: 12px;}
.topic-page #othersAnimalTable2 li{background: #ffffff;
            border: 1px solid var(--border);
            border-radius: 4px;
            padding: 5px 12px;
            font-size: 13px;
            color: var(--text-main);
            cursor: pointer;
            transition: all 0.15s ease;}
.topic-page #othersAnimalTable2 li:hover{border-color: var(--accent-border);
            background: var(--accent-light);
            color: var(--accent);}
.topic-page #othersAnimalTable2 li.active{background: #0070f3;
            border-color: #0070f3;
            color: #ffffff;
            font-weight: 600;}
.topic-page #mol3d-container{position: relative;
            width: 100%;
            height: 480px;
            background: #ffffff;
            border-radius: 8px;
            overflow: hidden;}
.topic-page #mol3d{width: 100%;
            height: 100%;}
.topic-page #mol3d-loading,.topic-page #mol2d-loading{display: none;
            position: absolute;
            inset: 0;
            background: rgba(255, 255, 255, 0.75);
            align-items: center;
            justify-content: center;
            font-size: 14px;
            color: #475569;
            z-index: 5;}
.topic-page #mol3d-tooltip{position: absolute;
            display: none;
            padding: 4px 8px;
            background: rgba(15, 23, 42, 0.85);
            color: #ffffff;
            font-size: 12px;
            border-radius: 4px;
            pointer-events: none;
            z-index: 20;}
.topic-page #mol3d-legend{position: absolute;
            left: 10px;
            bottom: 10px;
            display: none;
            flex-wrap: wrap;
            gap: 6px 10px;
            padding: 6px 12px;
            background: rgba(255, 255, 255, 0.88);
            backdrop-filter: blur(4px);
            border: 1px solid #e2e8f0;
            border-radius: 6px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
            z-index: 10;
            max-width: 80%;
            pointer-events: none;}
.topic-page #mol2d-container{display: flex; align-items: center; justify-content: center;height: 480px;}
.topic-page #mol2d-img{max-width: 90%; max-height: 90%; object-fit: contain; display: none;}
.topic-page .section-card{padding:18px 24px;margin:0 0 20px}
.topic-page .table-responsive{overflow-x:auto;max-width:100%}
.topic-page .section-split-container{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:start}
.topic-page .left-display,.topic-page .right-display{width:auto;min-width:0;max-width:100%}
.topic-page .pcalc-field input,.topic-page .pcalc-field select{width:auto;min-width:0}
@media(max-width:936px){.topic-page .section-split-container{grid-template-columns:1fr}}
@media(max-width:560px){.topic-page .section-card{padding:18px 16px}}


/* Shared aliquot-service component, independent of the containing satellite page. */
.aliquot-row{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,3fr);gap:24px;align-items:stretch}
.aliquot-row .aliquot-img{position:relative;min-width:0;min-height:0}
.aliquot-row .aliquot-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;border-radius:6px;cursor:default}
.aliquot-row .aliquot-text{min-width:0}
.aliquot-row .aliquot-text p{font-size:13.5px;color:#1e293b;line-height:1.6;margin:0 0 8px}
.aliquot-row .aliquot-text p:first-child{font-weight:600}
@media(max-width:560px){.aliquot-row{grid-template-columns:minmax(0,1fr)}.aliquot-row .aliquot-img img{position:static;height:auto}}

/* One batch selector component for in vitro, in vivo and purity modules. */
.topic-page .batch-row-inline{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin:12px 0 14px}
.topic-page .batch-tag-prominent{display:inline-flex;align-items:center;flex-shrink:0;gap:8px;padding:5px 12px;border:1px solid var(--border);border-radius:6px;background:#f1f5f9;color:var(--primary);font-size:13px;font-weight:700;white-space:nowrap}
.topic-page .batch-select{box-sizing:border-box;display:inline-block;width:120px;min-width:120px;max-width:100%;height:32px;margin:0;padding:4px 8px;border:1px solid var(--border);border-radius:4px;background:#fff;color:var(--primary);font-family:inherit;font-size:13px;font-weight:700;line-height:normal;appearance:auto;-webkit-appearance:menulist}

/* Satellite h2 typography and marker: shared baseline from the competitor template. */
.topic-page h2{display:block;position:relative;box-sizing:border-box;margin:0 0 10px;padding:0 0 0 12px;border-left:0;color:#0f172a;font-size:15px;font-weight:700;line-height:1.5}
.topic-page h2::before{content:"";position:absolute;left:0;top:calc(.75em - 8px);display:block;width:4px;height:16px;border-radius:2px;background:var(--topic-accent)}
.topic-page h2 sub{position:relative;bottom:-.25em;vertical-align:baseline;font-size:75%;line-height:0}

/* Keep layout.css search sprites and absolute positioning on compact icon buttons. */
.topic-page button.search-sm{top:50%;transform:translateY(-50%);padding:0;margin:0;border:0;border-radius:0}

/* Screenshot triggers reuse the shared evidence dialog and its existing styles. */
.topic-page .screenshot-preview{display:inline-flex;align-items:center;gap:5px;padding:0;margin:0;border:0;background:none;font:inherit;color:inherit}
.topic-page .screenshot-preview:hover{background:none}
.topic-page .screenshot-preview img{width:24px;height:24px}

/* Shared image-dialog close control. */
#dialogueModal .modal-content{position:relative}
#dialogueModal button.close{position:absolute;top:12px;right:12px;z-index:1;display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0;padding:0;border:0;background:transparent;color:#334155;font-size:32px;font-weight:400;line-height:1;cursor:pointer;opacity:1}
#dialogueModal button.close:hover{color:#0f172a}

/* Optional compact table density for short identifier/value rows. */
.topic-content .table-compact td,.topic-content .table-compact th{padding-top:6px;padding-bottom:6px;vertical-align:revert}

.topic-page .self-center{align-self:center}

/* Clinical compliance footnotes. */

    .topic-page .footnote-block {
        padding: 12px 16px;
        background: #f8fafc;
        border: 1px solid var(--border);
        border-radius: 8px;
        font-size: 12.5px;
        line-height: 1.55;
        color: var(--text-main);
    }
    .topic-page .footnote-block p { margin: 0 0 6px 0; }
    .topic-page .footnote-block p:last-child { margin-bottom: 0; }

.topic-page .tech-tag{background: var(--accent-light);
    color: var(--accent);
    font-size: 11px;
    font-weight: 700;
    padding: 2px 8px;
    border-radius: 4px;
    white-space: nowrap;}

.topic-page .pmc-ref-link{color: var(--accent);
    font-size: 11px;
    font-weight: 700;
    text-decoration: underline;
    align-self: center;
    margin-left: 2px;
    white-space: nowrap;}

.topic-page .pmc-ref-link:hover{color: var(--accent-hover);}

/* A single scroll container keeps table headers attached during internal scrolling. */
.topic-page .table-scroll{max-height:450px;overflow:auto}
.topic-page .table-scroll thead th{position:sticky;top:0;z-index:2;background:#eaf1fb}

.topic-page .nowrap{white-space:nowrap}

.topic-page .cs-table-wrapper{ margin: 5px 0 15px 0; overflow-x: auto; }

.topic-page .cs-table-wrapper .default-hidden-row{display: none;}

.topic-page .cs-sci-table th,.topic-page .cs-sci-table2 th,.topic-page .bio-concl-table th{ background-color: #f4f7f9; color: #44546a; padding: 10px; font-weight: bold; border: 1px solid #e0e0e0; text-align:center;line-height: 1.5;font-size: 14px;}

.topic-page .cs-sci-table td,.topic-page .cs-sci-table2 td,.topic-page .bio-concl-table td{ padding: 12px; border: 1px solid #e0e0e0; text-align: center; color: #555;font-size: 13px; line-height: 1.5;}

.topic-page .cs-sci-table tr:nth-child(even),.topic-page .cs-sci-table2 tr:nth-child(even),.topic-page .bio-concl-table tr:nth-child(even){ background-color: #fafbfc; }

.topic-page .cs-sci-table tr:hover,.topic-page .cs-sci-table2 tr:hover,.topic-page .bio-concl-table tr:hover{ background-color: #f1f7ff; }

.topic-page .cs-sci-table2 th,.topic-page .cs-sci-table2 td{ text-align:left !important;}

.topic-page #cc-widget-multiple{font-family: "Segoe UI", Roboto, Helvetica, Arial, sans-serif;font-size: 13px; color: #333; line-height: 1.4;border: 1px solid #ddd; border-radius: 4px; background: #fff;box-shadow: 0 2px 5px rgba(0,0,0,0.05); overflow: hidden;}

.topic-page #cc-widget-multiple .pw-header-title{background: #f8f9fa;padding: 15px 15px 10px;font-size: 18px;font-weight: 600;color: #333;border-bottom: 1px solid #eee;}

.topic-page #cc-widget-multiple .pw-tabs-header{background: #f8f9fa;border-bottom: 1px solid #ddd;padding: 10px 15px 15px;display: flex; flex-wrap: wrap; gap: 8px; align-items: center;}

.topic-page #cc-widget-multiple .pw-tab{padding: 4px 12px; font-weight: 600; color: #555; cursor: pointer;border: 1px solid #ddd; border-radius: 15px; background: #fff;transition: all 0.2s; display: inline-flex; align-items: center; gap: 6px;font-size: 12px; user-select: none;}

.topic-page #cc-widget-multiple .pw-tab:hover{ border-color: #999; color: #000; transform: translateY(-1px); }

.topic-page #cc-widget-multiple .pw-tab.active{background: #28a745; color: #fff; border-color: #28a745;}

.topic-page #cc-widget-multiple .pw-tab-count{background: rgba(0,0,0,0.1); color: inherit; border-radius: 10px; padding: 0 5px; font-size: 10px;}

.topic-page #cc-widget-multiple .pw-sub-tabs{padding: 8px 15px; background: #fff; border-bottom: 1px solid #eee;display: flex; gap: 8px; flex-wrap: wrap;}

.topic-page #cc-widget-multiple .pw-sub-tab{padding: 5px 14px; border: 1px solid #ddd; border-radius: 4px;cursor: pointer; font-size: 13px; font-weight: 500; background: #f8f9fa;transition: all 0.2s;}

.topic-page #cc-widget-multiple .pw-sub-tab.active{background: #007bff; color: #fff; border-color: #007bff;}

.topic-page #cc-widget-multiple .pw-sub-tab:hover{ border-color: #007bff; }

.topic-page #cc-widget-multiple .pw-data-sort-bar{padding: 8px 15px; display: flex; align-items: center; gap: 8px;font-size: 12px; color: #666; border-bottom: 1px solid #eee;}

.topic-page #cc-widget-multiple .pw-mini-btn{padding: 5px 14px; border: 1px solid #ddd; border-radius: 4px;cursor: pointer; font-size: 13px; font-weight: 500; background: #f8f9fa;transition: all 0.2s; display: inline-flex; align-items: center; gap: 3px;}

.topic-page #cc-widget-multiple .pw-mini-btn.active{background: #007bff; color: #fff; border-color: #007bff;}

.topic-page #cc-widget-multiple .pw-mini-btn:hover{ border-color: #007bff; }

.topic-page #cc-widget-multiple .pw-content-area{max-height: 680px; overflow-y: auto; background: #fff;padding: 0 15px 10px 15px;}

.topic-page #cc-widget-multiple .pw-card{background: #fff; border: 1px solid #ddd; border-left: 3px solid #28a745;border-radius: 6px; padding: 12px 90px 12px 15px;margin-bottom: 8px; position: relative; box-shadow: 0 1px 3px rgba(0,0,0,0.04);transition: transform 0.2s, border-left-color 0.2s;}

.topic-page #cc-widget-multiple .pw-card:hover{ border-left-color: #00838f; }

.topic-page #cc-widget-multiple .pw-card-meta{display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 8px; align-items: center;}

.topic-page #cc-widget-multiple .pw-tag{font-size: 11px; padding: 2px 6px; border-radius: 4px; border: 1px solid #ddd;background: #f1f3f5; color: #555; white-space: nowrap; font-family: "Segoe UI", sans-serif;}

.topic-page #cc-widget-multiple .pw-tag.highlight-sort{background: #007bff;color: #fff;border-color: #007bff;font-weight: 600;}

.topic-page #cc-widget-multiple .pw-tag.model-name.selected-compound{background: #28a745;color: #fff;border-color: #28a745;font-weight: 600;}

.topic-page #cc-widget-multiple .pw-card-actions{position: absolute; top: 7px; right: 15px;}

.topic-page #cc-widget-multiple .pw-concl{ font-size: 13px; color: #212529; margin-top: 4px; line-height: 1.5; font-weight: 500; }

.topic-page #cc-widget-multiple .pw-protocol-box{background: #f8f9fa; border: 1px solid #e9ecef; border-radius: 6px;padding: 12px 15px; margin-top: 12px; position: relative;}

.topic-page #cc-widget-multiple .pw-protocol-label{position: absolute; top: -9px; left: 12px; background: #fff; padding: 0 6px;font-size: 11px; color: #999; font-weight: 600; border: 1px solid #e9ecef; border-radius: 4px;}

.topic-page #cc-widget-multiple .pw-protocol-text{font-family: Consolas, monospace; font-size: 12px; color: #444; white-space: pre-wrap; margin-top: 4px;}

.topic-page .responsive-page .table-responsive,.topic-page .responsive-page .cs-table-wrapper{
    max-width: 100%;
    overflow-x: auto;
}

.topic-page .cs-table-wrapper{overflow-x:auto;max-width:100%}

/* Reference cards share a two-column metadata/actions layout. */
.topic-page .bio-card2{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:12px;padding:10px;border:1px solid #eee;border-left:3px solid #28a745;border-radius:4px;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.02)}
.topic-page .bio-card2>div{min-width:0}
.topic-page .bio-card2 .bio-card-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;text-align:left}
.topic-page .bio-card2 .bio-card-actions{grid-column:2;grid-row:1;display:flex;align-items:center;gap:2px;align-self:center;flex-direction:column-reverse;min-width:84px}
.topic-page .cs-sci-table th:last-child,.topic-page .cs-sci-table td:last-child{min-width:360px}

.topic-page .bio-card-actions .bio-screenshot{display:flex;flex-direction:column;align-items:center;gap:0;border:1px solid #dee2e6;padding:5px;border-radius:3px}
.topic-page .bio-card-actions .bio-thumb-img{width:30px;height:40px;border:1px solid #ccc;border-radius:2px;object-fit:cover;background:#fff}

/* Compact reference text applies to data cells only; headers retain table typography. */
.topic-page td.reference-column{font-size:12px}
.topic-page td.reference-column a{font-size:inherit}
