:root{--ink:#1c2735;--muted:#58697e;--line:#e4e9f0;--blue:#1f5fbf;--pale:#f6f8fb;--max:1380px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{font-size:15px;line-height:1.6;letter-spacing:-.006em}a{text-decoration:none}a:hover{text-decoration:underline}
#quarto-content{padding-top:0!important}.quarto-title-block{display:none!important}.navbar{border-bottom:1px solid var(--line);box-shadow:none!important;min-height:64px}.navbar-brand{font-weight:760;font-size:22px;letter-spacing:-.055em}.navbar .nav-link{font-size:13px;font-weight:520}.navbar-container{max-width:var(--max)!important;padding-left:24px!important;padding-right:24px!important}
main.content{padding:0!important;max-width:none!important;margin:0!important}.page-columns{display:block!important}.page-full{grid-column:1/-1!important}.container-wide{max-width:var(--max);padding:0 32px;margin:auto}.eyebrow{font-size:11px;letter-spacing:.13em;font-weight:750;color:var(--blue);text-transform:uppercase;margin-bottom:19px}.hero{padding:58px 0 50px;border-bottom:1px solid var(--line)}.hero-grid{display:grid;grid-template-columns:minmax(350px,.88fr) minmax(530px,1.12fr);gap:60px;align-items:center}.hero h1{font-size:clamp(42px,4.25vw,68px);line-height:1.095;letter-spacing:-.055em;font-weight:640;max-width:700px;margin:0 0 22px}.hero h1 em{font-style:normal;color:var(--blue)}.lead{font-size:17px;line-height:1.75;color:var(--muted);max-width:560px}.actions{display:flex;flex-wrap:wrap;gap:11px;margin:28px 0 54px}.action{display:inline-flex;align-items:center;justify-content:center;padding:11px 18px;border-radius:5px;border:1px solid #d6dee9;color:var(--ink);font-size:13px;font-weight:650;background:#fff}.action.primary{background:var(--blue);color:white;border-color:var(--blue)}.action:hover{text-decoration:none;filter:brightness(.95)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.step-num{color:var(--blue);font-size:12px;font-weight:650}.steps strong{display:block;font-size:14px;font-weight:600;margin:5px 0}.steps p{color:var(--muted);font-size:12px;line-height:1.5;margin:0}.viewer-shell{border:1px solid #dfe6ef;border-radius:8px;overflow:hidden;background:#f9fbfe;box-shadow:0 12px 34px rgba(25,50,84,.055)}.viewer-toolbar{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:9px 12px;border-bottom:1px solid var(--line);background:#fbfcfe}.viewer-tabs{display:flex;gap:5px;align-items:center}.tab{border:1px solid transparent;background:transparent;padding:6px 11px;font-size:12px;border-radius:4px;color:#4a5a70;cursor:pointer}.tab.active{color:var(--blue);background:#e8f0fd;border-color:#c5d9f8}.viewer-label{font-size:11px;color:#69788a;white-space:nowrap}.viewer-stage{position:relative;height:460px;background:#f8fafd}.viewer-stage iframe{width:100%;height:100%;border:0;display:block;background:#fff}.viewer-static{width:100%;height:100%;object-fit:contain;padding:25px;display:none}.viewer-stage.is-static iframe{display:none}.viewer-stage.is-static .viewer-static{display:block}.viewer-foot{padding:9px 13px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-top:1px solid var(--line);color:#63758a;font-size:11px;background:#fff}.viewer-foot a{white-space:nowrap}.section{padding:56px 0}.section.alt{background:#fafbfd;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:end;margin-bottom:25px}.section h2{font-size:clamp(25px,2.3vw,35px);line-height:1.2;letter-spacing:-.035em;font-weight:650;margin:0}.section-head p{color:var(--muted);max-width:570px;margin:0}.tool-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.tool-card{padding:24px 20px;border:1px solid var(--line);border-radius:5px;background:#fff;min-height:185px}.tool-card .card-index{color:var(--blue);font-size:12px;font-weight:700}.tool-card h3{font-size:16px;font-weight:650;letter-spacing:-.025em;margin:17px 0 9px}.tool-card p{font-size:13px;color:var(--muted);line-height:1.6;margin:0}.example-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:18px;align-items:start}.example-grid figure{margin:0}.example-visual{height:220px;border:1px solid var(--line);border-radius:5px;background:white;display:flex;align-items:center;justify-content:center;overflow:hidden}.example-visual img{max-width:100%;max-height:100%;object-fit:contain}.example-grid figcaption{color:#536276;font-size:12px;padding-top:10px}.data-table{font-size:12px;width:100%;border-collapse:collapse}.data-table td,.data-table th{border-bottom:1px solid #e4e9f0;padding:10px 8px;text-align:left}.data-table th{background:#f5f7fa;color:#5c6b7b;font-weight:600}.note{font-size:12px;color:#6b7787;margin-top:20px}.interior{max-width:970px;margin:0 auto;padding:66px 30px 100px}.interior h1{font-size:clamp(35px,4vw,54px);letter-spacing:-.04em;font-weight:650}.interior h2{margin-top:45px;font-size:24px}.interior p,.interior li{color:#4e5f70;line-height:1.8}.interior .eyebrow{margin-bottom:10px}.site-footer{border-top:1px solid var(--line)}.nav-footer{font-size:12px!important;color:#738095!important}
@media(max-width:1100px){.hero-grid{grid-template-columns:1fr;gap:35px}.hero{padding-top:44px}.viewer-stage{height:440px}.tool-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:650px){.container-wide{padding:0 20px}.hero h1{font-size:43px}.lead{font-size:15px}.actions{margin-bottom:32px}.steps{gap:10px}.steps p{font-size:11px}.viewer-stage{height:340px}.viewer-label{font-size:10px}.section-head{grid-template-columns:1fr;gap:12px}.tool-grid,.example-grid{grid-template-columns:1fr}.example-visual{height:210px}.viewer-tabs{gap:1px}.tab{padding:5px 8px}}

/* v0.3: viewer always shows a real locally generated molecule, even offline */
.viewer-stage{background:#f8fafc}.viewer-static{display:block;position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:12px;z-index:1}.viewer-stage #ligand-viewer{position:absolute;inset:0;display:none;z-index:2}.viewer-stage.viewer-ready[data-mode="ligand"] #ligand-viewer{display:block}.viewer-stage[data-mode="protein"] .viewer-static,.viewer-stage[data-mode="protein"] #ligand-viewer{display:none}.viewer-stage iframe{position:absolute;inset:0;display:none;width:100%;height:100%;z-index:3}.viewer-stage[data-mode="protein"] iframe{display:block}.viewer-stage[data-mode="static"] #ligand-viewer,.viewer-stage[data-mode="static"] iframe{display:none}.viewer-notice{position:absolute;bottom:12px;left:12px;right:12px;background:rgba(255,255,255,.9);color:#526276;padding:7px 10px;border-radius:4px;font-size:11px;z-index:4}.viewer-notice[hidden]{display:none}

/* v0.4: single scientifically consistent experimental complex */
.viewer-stage{background:#fff;position:relative}
.viewer-stage #molstar-frame{display:block;position:absolute;inset:0;width:100%;height:100%;border:0;z-index:2}
.viewer-stage .structure-summary{display:none;position:absolute;inset:0;padding:34px 42px;overflow:auto;background:#f8fafc;z-index:3}
.viewer-stage[data-mode="static"] #molstar-frame{display:none}
.viewer-stage[data-mode="static"] .structure-summary{display:block}
.summary-kicker{font-size:11px;letter-spacing:.13em;color:#1f5fbf;font-weight:750}
.structure-summary h3{font-size:27px;margin:12px 0 10px;color:#1c2735}
.structure-summary p{max-width:520px;color:#536276;font-size:14px}
.structure-summary dl{display:grid;grid-template-columns:1fr 1fr;gap:14px 24px;margin:23px 0}
.structure-summary dt{font-size:11px;text-transform:uppercase;color:#66788c;letter-spacing:.07em}
.structure-summary dd{margin:3px 0 0;font-size:13px;color:#1c2735;font-weight:600}
.structure-summary a,.reference-panel a{font-size:13px;color:#1f5fbf}
.reference-panel{min-height:235px;border:1px solid var(--line);background:white;border-radius:5px;padding:22px}
.reference-panel h3{font-size:17px;margin:17px 0 9px;color:#1c2735}
.reference-panel p{font-size:13px;color:#58697e;line-height:1.65}
.example-grid-reference{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:650px){.viewer-stage .structure-summary{padding:20px}.structure-summary h3{font-size:21px}.structure-summary dl{gap:10px}.example-grid-reference{grid-template-columns:1fr}}

/* v0.5: wider desktop grid and restrained embedded viewer */
:root{--max:1480px}
@media(min-width:1150px){.hero-grid{grid-template-columns:minmax(380px,.78fr) minmax(600px,1.22fr);gap:54px}.viewer-stage{height:510px}.hero{padding-top:64px}}
.viewer-loading,.viewer-error{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;background:#f8fafc;color:#66788c;font-size:13px;z-index:4}
.viewer-loading[hidden],.viewer-error[hidden]{display:none}
.viewer-error p{max-width:270px;text-align:center}
.viewer-error button{border:1px solid #d5deea;border-radius:4px;padding:9px 14px;background:white;color:#1f5fbf;cursor:pointer}
.viewer-stage[data-mode="static"] .viewer-loading,.viewer-stage[data-mode="static"] .viewer-error{display:none}
@media(max-width:650px){.viewer-stage{height:360px}.viewer-toolbar{flex-wrap:wrap}.viewer-label{white-space:normal}}
