:root{--paper:#f7f8fa;--ink:#1b1f2a;--ink-2:#5a6478;--ink-3:#8d96a8;--rule:#dce0e8;--rule-2:#ebeef3;--surface:#fff;--focus:#2b5fd9;--f-physics:#3e6fb0;--f-cs:#7a5ac4;--f-math:#2e8b7a;--f-qbio:#c08a2e;--f-stat:#c25a78;--f-econ:#8a6a4f;--f-other:#8d96a8;--sans:"IBM Plex Sans", system-ui, sans-serif;--mono:"IBM Plex Mono", ui-monospace, monospace;--serif:"Newsreader", Georgia, serif}*{box-sizing:border-box}html,body{margin:0;padding:0}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.5}#root{min-height:100svh}button,input{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:2px}.wrap{max-width:1240px;margin:0 auto;padding:0 24px}header{border-bottom:1px solid var(--rule);background:var(--surface)}.head{align-items:baseline;gap:16px;padding:18px 0;display:flex}.mark{font-family:var(--serif);letter-spacing:-.01em;font-size:23px;font-weight:600}.mark-sub{color:var(--ink-2);font-size:13px}.conn{font-family:var(--mono);color:var(--ink-3);align-items:center;gap:7px;margin-left:auto;font-size:11.5px;display:flex}.dot{background:var(--ink-3);border-radius:50%;width:6px;height:6px}.conn[data-state=live] .dot{background:#2e8b7a}.conn[data-state=live]{color:#2e8b7a}.conn[data-state=idle] .dot{background:var(--f-qbio)}.conn[data-state=error] .dot{background:var(--f-stat)}.conn[data-state=error]{color:var(--f-stat)}.query{border-bottom:1px solid var(--rule);background:var(--surface);padding:34px 0 26px}.qrow{align-items:stretch;gap:10px;display:flex}.q-input{background:var(--paper);border:1px solid var(--rule);font-size:16.5px;font-family:var(--serif);border-radius:3px;flex:1;padding:13px 15px}.q-input::placeholder{color:var(--ink-3);font-style:italic}.btn{border:1px solid var(--ink);background:var(--ink);color:var(--paper);cursor:pointer;border-radius:3px;padding:0 22px;font-size:14.5px;font-weight:500}.btn:hover{background:#2a3040}.btn.ghost{color:var(--ink-2);border-color:var(--rule);background:0 0}.btn.ghost:hover{background:var(--rule-2);color:var(--ink)}.btn:disabled{opacity:.4;cursor:not-allowed}.sliders{grid-template-columns:repeat(3,1fr);gap:26px;max-width:760px;margin-top:22px;display:grid}.sl label{color:var(--ink-2);justify-content:space-between;margin-bottom:7px;font-size:13px;display:flex}.sl b{font-family:var(--mono);color:var(--ink);font-size:12.5px;font-weight:500}.sl input{width:100%;accent-color:var(--ink);margin:0}.sl .hint{color:var(--ink-3);margin-top:5px;font-size:11.5px;line-height:1.35}.diverge{border-bottom:1px solid var(--rule);background:var(--surface);padding:20px 0 22px;display:none}.diverge.on{display:block}.dv-top{align-items:baseline;gap:10px;margin-bottom:11px;display:flex}.dv-n{font-family:var(--serif);font-size:32px;font-weight:600;line-height:1}.dv-lab{color:var(--ink-2);font-size:13.5px}.dv-meta{font-family:var(--mono);color:var(--ink-3);margin-left:auto;font-size:11.5px}.dv-bar{background:var(--rule-2);border-radius:2px;height:9px;display:flex;overflow:hidden}.dv-seg{transition:flex-grow .45s cubic-bezier(.2,.7,.3,1)}.dv-keys{flex-wrap:wrap;gap:14px;margin-top:11px;display:flex}.dv-key{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;display:flex}.dv-swatch{border-radius:2px;width:9px;height:9px}.dv-key span{font-family:var(--mono);color:var(--ink-3);font-size:11px}.cols{grid-template-columns:1fr 1.05fr;align-items:start;gap:48px;padding:32px 0 80px;display:grid}.colhead{color:var(--ink-2);border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;margin-bottom:18px;padding-bottom:9px;font-size:12.5px;display:flex}.colhead em{font-family:var(--mono);color:var(--ink-3);font-size:11px;font-style:normal}.answer{font-family:var(--serif);max-width:62ch;font-size:16.5px;line-height:1.62}.answer p{margin:0 0 1em}.answer strong{font-weight:600}.cite{font-family:var(--mono);background:var(--rule-2);color:var(--ink-2);vertical-align:1px;cursor:pointer;border-radius:2px;padding:1px 5px;font-size:11.5px;text-decoration:none;display:inline-block}.cite:hover{background:var(--ink);color:var(--paper)}.caret{background:var(--ink);vertical-align:-3px;width:7px;height:16px;animation:1.1s steps(2,start) infinite blink;display:inline-block}@keyframes blink{to{visibility:hidden}}.hit{border-bottom:1px solid var(--rule-2);padding:17px 0}.hit:first-child{padding-top:0}.hit.flash{background:linear-gradient(90deg, var(--rule-2), transparent);animation:.7s ease-out forwards settle}@keyframes settle{to{background:0 0}}.hit-top{align-items:center;gap:9px;margin-bottom:6px;display:flex}.field{font-family:var(--mono);color:#fff;letter-spacing:.02em;border-radius:2px;padding:2px 6px;font-size:10.5px}.field.unclassified{background:var(--rule);color:var(--ink-3)}.pid{font-family:var(--mono);color:var(--ink-3);font-size:11.5px;text-decoration:none}a.pid:hover,a.pdf:hover{color:var(--ink)}.pdf{font-family:var(--mono);color:var(--ink-3);font-size:11.5px;text-decoration:none}.status{font-family:var(--mono);color:var(--ink-3);margin-left:auto;font-size:10.5px}.hit h3{font-family:var(--serif);max-width:56ch;margin:0 0 7px;font-size:17px;font-weight:500;line-height:1.32}.hit h3 a{color:inherit;border-bottom:1px solid var(--rule);text-decoration:none}.hit h3 a:hover{border-color:var(--ink)}.blurb{color:var(--ink-2);max-width:64ch;margin:0;font-size:13.5px;line-height:1.5}.blurb+.blurb{margin-top:6px}.blurb.sig{color:var(--ink-3)}.empty{color:var(--ink-3);max-width:46ch;padding:10px 0;font-size:14px;line-height:1.55}.err{border-left:2px solid var(--f-stat);background:var(--surface);color:var(--ink);margin-bottom:16px;padding:11px 14px;font-size:13.5px}.err code{font-family:var(--mono);color:var(--ink-2);font-size:12px}.stale{background:#fff8e8;border:1px solid #e8d5a8;border-radius:3px;align-items:center;gap:12px;margin-bottom:18px;padding:10px 14px;font-size:13px;display:flex}.stale button{cursor:pointer;background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}@media (width<=900px){.cols{grid-template-columns:1fr;gap:36px}.sliders{grid-template-columns:1fr;gap:16px}.qrow{flex-wrap:wrap}.q-input{flex-basis:100%}}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
