@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@400;600&family=IBM+Plex+Sans:wght@400;500;600&family=Source+Serif+4:opsz,wght@8..60,500;8..60,600&display=swap";:root{--bg0:#0b1016;--bg1:#121a24;--bg2:#1a2432;--text:#e8eef7;--muted:#9aa8bc;--accent:#5eb0a8;--accent-2:#c4a35a;--danger:#e07070;--border:#e8eef71f;--font:"Source Serif 4", "Iowan Old Style", Georgia, serif;--font-ui:"IBM Plex Sans", "Segoe UI", sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}body{font-family:var(--font-ui);color:var(--text);background:radial-gradient(1200px 600px at 10% -10%, #5eb0a82e, transparent 55%), radial-gradient(900px 500px at 100% 0%, #c4a35a1f, transparent 50%), linear-gradient(165deg, var(--bg0), var(--bg1) 45%, #0e1620)}.sr-only{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app{flex-direction:column;gap:.85rem;max-width:1200px;min-height:100vh;margin:0 auto;padding:1.25rem 1.25rem 2.5rem;display:flex}.top{gap:1rem;display:grid}@media (width>=840px){.top{grid-template-columns:1.2fr 1fr;align-items:end}}.brand .orator{font-family:var(--font-ui);letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-size:.75rem;text-decoration:none}.brand h1{font-family:var(--font);letter-spacing:-.02em;margin:.35rem 0 .4rem;font-size:clamp(1.8rem,4vw,2.6rem);font-weight:600}.tagline{color:var(--muted);max-width:36rem;margin:0;font-size:.95rem;line-height:1.45}.search{gap:.5rem;display:flex}.search input{border:1px solid var(--border);color:var(--text);font:inherit;background:#0f1419a6;border-radius:10px;flex:1;padding:.75rem .9rem}.search button,.meta-actions button,.modes button{border:1px solid var(--border);background:var(--bg2);color:var(--text);font:inherit;cursor:pointer;border-radius:10px;padding:.7rem .95rem;transition:border-color .15s,background .15s,transform .15s}.search button:hover,.meta-actions button:hover,.modes button:hover{border-color:#5eb0a88c}.search button:disabled,.meta-actions button:disabled,.modes button:disabled{opacity:.45;cursor:not-allowed}.hits{gap:.4rem;margin:0;padding:0;list-style:none;display:grid}.hits button{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;font:inherit;background:#121a24d9;border-radius:10px;gap:.75rem;padding:.65rem .8rem;display:flex}.hits .id{font-family:var(--font-mono);color:var(--accent);min-width:3.5rem}.hits .title{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.meta{color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;font-size:.92rem;display:flex}.meta strong{color:var(--text);font-family:var(--font-mono)}.sep{opacity:.5;margin:0 .4rem}.meta-actions{flex-wrap:wrap;gap:.4rem;display:flex}.meta-actions .active,.modes .active{background:#5eb0a82e;border-color:#5eb0a8a6}.esp-btn{border-color:#c4a35a73!important}.status-row{color:var(--muted);flex-wrap:wrap;gap:.75rem;font-size:.85rem;display:flex}.status-row .error{color:var(--danger)}.modes{flex-wrap:wrap;gap:.4rem;display:flex}.legend .legend-note{color:var(--muted);flex:100%;font-size:.8rem}.legend .legend-note a{color:var(--accent)}.legend{color:var(--muted);flex-wrap:wrap;gap:.85rem;margin:0;padding:0;font-size:.8rem;list-style:none;display:flex}.legend .swatch,.ligand-legend .swatch{vertical-align:-1px;border:1px solid #ffffff26;border-radius:2px;width:.75rem;height:.75rem;margin-right:.35rem;display:inline-block}.viewer-host{border:1px solid var(--border);background:#0f1419;border-radius:14px;flex:1;min-height:min(62vh,640px);position:relative;overflow:hidden}.viewer-host canvas{outline:none}.ligand-panel{border:1px solid var(--border);background:#121a24b3;border-radius:14px;padding:1rem}.ligand-note{color:var(--muted);margin:0 0 .75rem;font-size:.85rem}.ligand-card{margin:0 0 1rem}.ligand-card figcaption{margin-bottom:.35rem;font-size:.9rem}.ligand-card svg{background:#0b101699;border-radius:10px;width:min(100%,360px);height:auto}.ligand-legend{color:var(--muted);flex-wrap:wrap;gap:.75rem;margin:0;padding:0;font-size:.78rem;list-style:none;display:flex}.ligand-empty{border:1px dashed var(--border);color:var(--muted);text-align:center;border-radius:14px;padding:2rem}.ligand-empty .hint{font-size:.85rem}.ligand-empty code{font-family:var(--font-mono);color:var(--accent)}.foot{color:var(--muted);margin-top:auto;padding-top:.5rem;font-size:.78rem}.foot a{color:var(--accent)}
