.molecule-viewer-container{background:#fff;border:1px solid rgba(226,232,240,.8);border-radius:16px;padding:0;margin-bottom:24px;box-shadow:0 10px 30px -10px #00000014;overflow:hidden;display:flex;flex-direction:column;height:100%}.molecule-header{display:flex;justify-content:space-between;align-items:center;padding:16px 24px;background:#fff;border-bottom:1px solid #f1f5f9;z-index:2;position:relative}.molecule-title{font-size:.95rem;font-weight:700;color:#64748b;text-transform:capitalize;letter-spacing:.05em;margin:0;display:flex;align-items:center}.molecule-title:before{content:"";display:inline-block;width:8px;height:8px;background:#3b82f6;border-radius:50%;margin-right:8px;box-shadow:0 0 0 2px #3b82f633}.molecule-controls{display:flex;gap:10px}.structure-mode-pill{display:inline-flex;align-items:center;min-height:28px;padding:4px 11px;border-radius:999px;background:#eff6ff;border:1px solid #bfdbfe;border-color:#bfdbfe;color:#2563eb;font-size:.76rem;font-weight:900;letter-spacing:.08em}.molecule-content-grid{display:grid;grid-template-columns:repeat(2,minmax(320px,1fr));align-items:stretch;gap:16px;padding:18px;background:#f8fafc}.molecule-content-grid .molecule-error{grid-column:1 / -1;margin:0}.molecule-error.subtle{color:#7c6f64;background:#f6f0e8;border-color:#dfd1c1}.molecule-pane{display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid rgba(226,232,240,.9);border-radius:14px;background:#fff;box-shadow:0 10px 24px -16px #0f172a38}.molecule-pane-heading{display:flex;justify-content:space-between;gap:12px;align-items:baseline;padding:12px 14px;border-bottom:1px solid #eef2f7;background:#fff}.molecule-pane-heading span{color:#334155;font-size:.82rem;font-weight:900;letter-spacing:.06em;text-transform:uppercase}.molecule-pane-heading small{color:#94a3b8;font-size:.74rem;font-weight:700}.molecule-3d-view,.molecule-2d-view{flex:1;min-height:430px;background-color:#f8fafc;background-image:radial-gradient(#cbd5e1 1.5px,transparent 1.5px);background-size:24px 24px;text-align:center;display:flex;justify-content:center;align-items:center;position:relative;box-shadow:inset 0 0 40px #00000005}.molecule-3d-canvas{width:100%;height:100%;min-height:430px}.molecule-3d-canvas canvas{display:block;width:100%!important;height:100%!important}.molecule-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:24px;color:#64748b;font-size:.88rem;font-weight:800;background:#f8fafcd6}.molecule-loading-error{color:#9f6f65}.molecule-2d-view{padding:24px}.smiles-visualization{border:none!important;border-radius:12px;filter:drop-shadow(0 8px 24px rgba(0,0,0,.08));max-width:90%;height:auto;background:transparent;transition:transform .3s ease}.molecule-2d-view:hover .smiles-visualization{transform:scale(1.02)}.molecule-error{margin:16px;color:#e11d48;font-size:.85rem;padding:12px;background:#fff1f2;border-radius:8px;border:1px dashed #fecdd3;text-align:center}.molecule-placeholder{width:100%;height:400px;background:#f8fafc;display:flex;align-items:center;justify-content:center;color:#94a3b8;font-style:italic;background-image:radial-gradient(#e2e8f0 1px,transparent 1px);background-size:20px 20px}@media(max-width:768px){.molecule-viewer-container{border-radius:8px}.molecule-header{padding:12px 16px}.molecule-content-grid{grid-template-columns:1fr;padding:12px}.molecule-pane-heading{flex-direction:column;gap:3px;align-items:flex-start}.molecule-3d-view,.molecule-3d-canvas,.molecule-2d-view{height:300px;min-height:300px}}.visualization-container{display:flex;flex-direction:column;width:100%}.overview-chart-wrapper{background:#fff;border:1px solid #d8d0c3;border-radius:8px;display:grid;gap:18px;min-height:430px;padding:18px}.pathogen-chart-copy{align-items:center;display:flex;gap:14px;justify-content:space-between}.chart-copy h3{color:#2f3632;font-size:17px;font-weight:800;margin:0}.pathogen-total-card{align-items:center;background:#ebe6dd;border:1px solid #d8d0c3;border-radius:8px;display:flex;flex:0 0 116px;flex-direction:column;justify-content:center;min-height:48px;padding:7px 10px;text-align:center}.pathogen-total-card span{color:#7f8782;display:block;font-size:11px;margin-bottom:2px}.pathogen-total-card strong{color:#2f3632;display:block;font-size:20px;font-variant-numeric:tabular-nums;line-height:1.1}.pathogen-display-grid{display:grid;gap:16px;grid-template-columns:minmax(0,1.38fr) minmax(270px,.72fr);min-height:344px}.pathogen-treemap-surface,.pathogen-rank-panel{background:#fbfaf6;border:1px solid #e0d7c9;border-radius:8px}.pathogen-treemap-surface{min-height:344px;overflow:hidden;padding:8px}.pathogen-treemap{height:100%;min-height:328px;width:100%}.pathogen-rank-panel{display:grid;grid-template-rows:auto 1fr;min-height:344px;padding:14px}.pathogen-rank-header{align-items:center;border-bottom:1px solid #e0d7c9;color:#7f8782;display:flex;font-size:11px;font-weight:800;justify-content:space-between;margin-bottom:10px;padding-bottom:8px}.pathogen-rank-list{display:grid;gap:10px}.pathogen-rank-row{align-items:center;display:grid;gap:6px 12px;grid-template-columns:minmax(0,1fr) auto}.pathogen-rank-main,.pathogen-rank-metrics{align-items:center;display:flex}.pathogen-rank-main{gap:8px;min-width:0}.pathogen-rank-main strong{color:#2f3632;font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pathogen-color-dot{background:var(--group-color);border-radius:999px;box-shadow:0 0 0 1px #2f36321f;flex:0 0 10px;height:10px;width:10px}.pathogen-rank-metrics{color:#59635f;font-size:12px;font-variant-numeric:tabular-nums;font-weight:700;gap:8px;justify-content:space-between}.pathogen-rank-bar{background:#ebe6dd;border-radius:999px;grid-column:1 / -1;height:6px;overflow:hidden}.pathogen-rank-bar span{background:var(--group-color);border-radius:inherit;display:block;height:100%}.visualization-placeholder{align-items:center;background:#ebe6dd;border:1px solid #d8d0c3;border-radius:8px;color:#7f8782;display:flex;font-size:14px;font-weight:700;height:260px;justify-content:center}@media(max-width:760px){.pathogen-chart-copy{flex-direction:column}.overview-chart-wrapper{padding:12px}.pathogen-total-card{flex:none;text-align:center;width:100%}.pathogen-display-grid{grid-template-columns:1fr}.pathogen-treemap-surface,.pathogen-rank-panel{min-height:auto}.pathogen-treemap{min-height:300px}}.drug-visualization-container{background:#fffdf9;border:1px solid #d8d0c3;border-radius:10px;display:grid;gap:18px;grid-template-columns:minmax(0,1.45fr) minmax(300px,.85fr);min-height:600px;padding:18px}.drug-chart-left,.drug-chart-right{background:#fff;border:1px solid #d8d0c3;border-radius:8px;min-height:560px;padding:16px}.drug-chart-surface{height:100%;min-height:inherit;width:100%}@media(max-width:1100px){.drug-visualization-container{grid-template-columns:1fr}}@media(max-width:720px){.drug-visualization-container{padding:12px}.drug-chart-left,.drug-chart-right{min-height:420px;padding:12px}}
