.project-page{padding-top:20px!important}.project-title{font-size:clamp(32px,3.8vw,50px)!important;font-weight:700!important;line-height:1.14!important;letter-spacing:-1.8px!important;margin-bottom:16px!important;overflow-wrap:normal!important}.project-nav-bar{font-size:11px;gap:12px!important}.thesis-badge{background:var(--color-bg-secondary)!important;border:0!important;border-radius:20px}.academic-context-grid{background:transparent!important;border:0!important;padding:0!important;gap:18px!important;margin:25px 0!important;grid-template-columns:1fr 1fr!important}.formal-title{margin:0 0 20px;color:var(--color-text-muted);font-size:12px;line-height:1.6}.formal-title summary{cursor:pointer;color:var(--color-accent)}.formal-title p{margin-top:12px}.overview-callout{border:0!important;background:transparent!important;padding:0!important}.overview-text{font-size:16px!important;line-height:1.85!important}.research-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:28px 0}.research-stats>div{padding:18px 15px;border-radius:14px;background:var(--color-bg-secondary);display:flex;flex-direction:column;gap:9px}.research-stats strong{font-size:26px;letter-spacing:-1px;color:var(--color-accent)}.research-stats span{font-size:11px;line-height:1.5;color:var(--color-text-secondary)}.research-takeaway{border-left:3px solid #79804e;padding:7px 0 7px 20px}.research-takeaway>span{font-size:11px;font-weight:600;color:#79804e}.research-takeaway p{font-size:15px;line-height:1.8;margin:10px 0}.research-takeaway small{font-size:11px;color:var(--color-text-muted)}.research-toc{display:flex;flex-wrap:wrap;gap:8px;padding:0 0 26px}.research-toc a{font-size:11px;padding:8px 13px;border:1px solid var(--color-border);border-radius:50px;text-decoration:none;color:var(--color-text-secondary)}.research-toc a[aria-current="location"],.research-toc a:hover{background:var(--color-accent);color:var(--color-bg);border-color:var(--color-accent)}.combined-content .content-section{grid-template-columns:minmax(0,1fr)!important;gap:20px!important;padding-top:35px!important}.section-title-wrap{flex-direction:row!important;align-items:baseline;gap:14px!important}.section-heading{font-size:25px!important;font-weight:600!important;letter-spacing:-.6px}.section-prose{min-width:0;font-size:14px!important;line-height:1.85!important}.workflow-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.workflow-card,.spec-card,.detail-block{border:0!important;border-radius:15px!important;background:var(--color-bg-secondary)!important}.workflow-card{padding:22px!important}.step-desc{line-height:1.75!important}.scientific-table th{background:var(--color-bg-secondary)!important}.table-responsive{max-width:100%;border-radius:12px;background:transparent!important}.highlight-row{background:#79804e16!important}.scientific-figure{background:var(--color-bg-secondary)!important;border:0!important;border-radius:16px!important;padding:15px!important}.scientific-figure img{cursor:zoom-in;border:0!important;border-radius:7px}.scientific-figure figcaption{font-size:12px!important;line-height:1.7!important}.figure-zoom{border:0;background:transparent;color:var(--color-accent);font-size:11px;text-align:left;cursor:zoom-in;padding:4px 0}.figures-grid{grid-template-columns:minmax(0,1fr)!important}.caution-box{background:var(--color-bg-secondary)!important;border-color:var(--color-border)!important;border-radius:12px}.references-list li{overflow-wrap:anywhere}.research-viewer{width:min(1100px,92vw);max-height:92vh;border:0;border-radius:18px;background:var(--color-bg);color:var(--color-text-primary);padding:20px;box-shadow:0 20px 80px #0003}.research-viewer::backdrop{background:#29251fe0}.viewer-bar{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.viewer-bar button{border:1px solid var(--color-border);border-radius:20px;background:var(--color-bg-secondary);color:var(--color-text-primary);padding:8px 13px;cursor:pointer}.viewer-image{display:block;max-width:100%;max-height:65vh;object-fit:contain;margin:auto;background:white}.viewer-caption{font-size:12px;line-height:1.7;margin-top:15px}.viewer-count{font-size:12px;color:var(--color-text-muted)}
@media(max-width:750px){.project-title{font-size:32px!important;letter-spacing:-1px!important}.project-header{margin-bottom:30px!important}.research-stats{gap:7px}.research-stats>div{padding:13px 9px}.research-stats strong{font-size:20px}.research-stats span{font-size:10px}.workflow-grid,.academic-context-grid{grid-template-columns:1fr!important}.section-heading{font-size:22px!important}.research-toc{gap:6px}.research-toc a{padding:7px 10px;font-size:10px}.research-viewer{padding:12px}.viewer-bar{flex-wrap:wrap}.overview-text{font-size:14px!important}.tools-spec-grid{grid-template-columns:1fr!important}}

/* Verified site audit repairs */
/* Theme-aware olive tokens and contrast fixes for research pages */
:root, html[data-theme="light"] {
  --color-olive: #545b30;
}
html[data-theme="dark"] {
  --color-olive: #a3ad72;
}
.research-takeaway {
  border-left: 3px solid var(--color-olive) !important;
}
.research-takeaway > span {
  color: var(--color-olive) !important;
}
.highlight-row {
  background: color-mix(in srgb, var(--color-olive) 14%, transparent) !important;
}

/* Dark drug page link contrast: ensure metadata links use accessible accent token */
.spec-val > .meta-link,
.spec-val a,
.meta-link {
  color: var(--color-accent) !important;
}
.spec-val > .meta-link:hover,
.spec-val a:hover,
.meta-link:hover {
  color: var(--color-accent-hover) !important;
}
.spec-val > .meta-link:focus-visible,
.meta-link:focus-visible {
  outline: 2px solid var(--color-accent) !important;
  outline-offset: 2px !important;
}

/* Touch target minimum (44px) for TOC, viewer controls, and zoom buttons */
.research-toc a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.viewer-bar button {
  min-height: 44px;
  min-width: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
}
.figure-zoom {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  box-sizing: border-box;
}

/* Visible focus styles across research elements */
.research-toc a:focus-visible,
.viewer-bar button:focus-visible,
.figure-zoom:focus-visible,
.formal-title summary:focus-visible {
  outline: 2px solid var(--color-accent) !important;
  outline-offset: 2px !important;
}

/* Static/no-JS resilience: ensure scientific figures and images remain displayed */
.scientific-figure {
  display: block !important;
}
.scientific-figure img {
  display: block !important;
  max-width: 100% !important;
  height: auto !important;
}
.research-viewer:not([open]) {
  display: none !important;
}

/* Docking affinity chart (pure SVG) */
.docking-chart{margin:28px 0 8px;grid-column:1/-1;container:docking-chart / inline-size}
.docking-chart svg{width:100%;height:auto;max-width:760px;display:block;font-family:var(--font-sans);font-size:12px}
.docking-chart .dc-tick line{stroke:var(--color-border);stroke-width:1}
.docking-chart .dc-tick text,.docking-chart .dc-axis{fill:var(--color-text-muted);font-size:11px}
.docking-chart .dc-label{fill:var(--color-text-secondary)}
.docking-chart .dc-value{fill:var(--color-text-primary);font-family:var(--font-mono);font-size:11.5px}
.docking-chart rect{fill:var(--color-accent-border)}
.docking-chart .dc-lead rect{fill:var(--color-accent)}
.docking-chart .dc-lead .dc-label{fill:var(--color-text-primary);font-weight:700}
.docking-chart .dc-parent rect{fill:var(--color-border-strong)}
.docking-chart .dc-ref rect{fill:var(--color-text-muted)}
.docking-chart figcaption{margin-top:10px;font-size:14px;color:var(--color-text-secondary);line-height:1.55}
.docking-chart-mobile{display:none}
@container docking-chart (max-width:640px){
  .docking-chart svg{display:none}
  .docking-chart-mobile{display:grid;gap:18px;list-style:none;margin:0;padding:0}
  .dcm-label{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 12px;font-size:14px;line-height:1.5;color:var(--color-text-primary)}
  .dcm-label>span:first-child{overflow-wrap:anywhere}
  .dcm-value{font-family:var(--font-mono);white-space:nowrap}
  .dcm-value small{font-family:var(--font-sans);font-size:12px;color:var(--color-text-secondary)}
  .dcm-track{height:12px;margin-top:6px;background:var(--color-surface-subtle)}
  .dcm-track>span{display:block;width:var(--bar-width);height:100%;background:var(--color-accent-border)}
  .dc-lead .dcm-track>span{background:var(--color-accent)}
  .dc-parent .dcm-track>span{background:var(--color-border-strong)}
  .dc-ref .dcm-track>span{background:var(--color-text-muted)}
  .docking-chart figcaption{margin-top:20px}
}

/* Interactive 3D docking viewer */
.mol-figure{grid-column:1/-1;margin:0;border:1px solid var(--color-border);background:var(--color-surface);padding:20px}
.mol-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:14px}
.mol-title{margin:0;font-size:18px;font-weight:700;color:var(--color-text-primary)}
.mol-controls{display:flex;flex-wrap:wrap;gap:8px}
.mol-controls[hidden],.mol-stage[hidden]{display:none}
.mol-controls button,.mol-start{min-height:var(--min-touch,44px);padding:0 16px;border:1px solid var(--color-border-strong);background:var(--color-bg);color:var(--color-text-primary);font:inherit;font-size:14px;font-weight:600;cursor:pointer;border-radius:var(--radius-sm,2px);transition:background-color .15s,border-color .15s}
.mol-controls button:hover,.mol-controls button[aria-pressed=true]{border-color:var(--color-accent);background:var(--color-accent-light)}
.mol-start{background:var(--color-accent);border-color:var(--color-accent);color:#fff}
.mol-start:hover{background:var(--color-accent-hover)}
.mol-start:disabled{opacity:.6;cursor:progress}
.mol-controls button:focus-visible,.mol-start:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}
.mol-start-wrap{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:28px 0;justify-content:center;background:var(--color-surface-subtle)}
.mol-start[hidden],.mol-start-wrap:has(.mol-start[hidden]){display:none}
.mol-note{font-size:13px;color:var(--color-text-muted)}
.mol-stage{position:relative;width:100%;height:clamp(320px,60vh,560px);touch-action:none}
.mol-status{margin:10px 0 0;font-size:13px;color:var(--color-text-muted);min-height:1em}
.mol-figure figcaption{margin-top:8px;font-size:14px;color:var(--color-text-secondary);line-height:1.55}
html[data-theme=dark] .mol-start{color:#0d1117;background:#56d4bc;border-color:#56d4bc}
