:root{--bg:#05070f;--panel:#0c1322;--border:#7dd3fc29;--text:#eef7ff;--muted:#d2e8ff9e;--cyan:#67e8f9;--violet:#a78bfa}*{box-sizing:border-box;margin:0;padding:0}body{min-height:100vh;color:var(--text);background:radial-gradient(circle at 20% 10%, #10539640, transparent 40%), radial-gradient(circle at 80% 20%, #46267738, transparent 42%), var(--bg);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Microsoft YaHei,sans-serif}.wrap{flex-direction:column;max-width:760px;min-height:100vh;margin:0 auto;padding:20px 18px 24px;display:flex}header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding-bottom:14px;display:flex}header h1{letter-spacing:.02em;font-size:18px}.back{color:var(--cyan);font-size:13px;text-decoration:none}.back:hover{text-decoration:underline}.chat{flex-direction:column;flex:1;gap:14px;padding:18px 0;display:flex}.msg{flex-direction:column;display:flex}.msg.user{align-items:flex-end}.msg.assistant{align-items:flex-start}.text{word-break:break-word;border-radius:14px;max-width:82%;padding:11px 14px;font-size:14px;line-height:1.7}.msg.user .text{background:linear-gradient(135deg,#0e7490,#7c3aed)}.msg.assistant .text{background:var(--panel);border:1px solid var(--border)}.text strong{font-weight:700}.text h1,.text h2,.text h3,.text h4{margin:6px 0 4px;line-height:1.4}.text h2{font-size:15px}.text h3{font-size:14px}.text p{margin:4px 0}.text ul,.text ol{margin:4px 0;padding-left:20px}.text li{margin:2px 0}.text a{color:var(--cyan);text-decoration:none}.text a:hover{text-decoration:underline}.text code{background:#7dd3fc1f;border-radius:5px;padding:1px 5px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:12.5px}.text pre{border:1px solid var(--border);background:#00000059;border-radius:8px;margin:6px 0;padding:10px;overflow-x:auto}.text pre code{background:0 0;padding:0}.text blockquote{border-left:3px solid var(--cyan);color:var(--muted);margin:6px 0;padding-left:10px}.text table{border-collapse:collapse;width:100%;margin:6px 0;font-size:12.5px}.text th,.text td{border:1px solid var(--border);text-align:left;padding:4px 8px}.text th{background:#67e8f91a}.typing{color:var(--muted)}.dot{animation:1s infinite blink;display:inline-block}@keyframes blink{50%{opacity:.2}}.tool{color:var(--cyan);background:#67e8f914;border:1px solid #67e8f952;border-radius:999px;align-items:center;gap:6px;margin:4px 0;padding:7px 12px;font-size:12px;display:inline-flex}.tool-icon{font-size:12px}.tool-q{color:var(--violet)}.tool-state{color:var(--muted)}.refs{flex-direction:column;gap:3px;margin-top:6px;display:flex}.refs a{color:var(--cyan);font-size:12px;text-decoration:none}.refs a:hover{text-decoration:underline}.error{color:#fecaca;background:#fb71851f;border:1px solid #fb71854d;border-radius:10px;align-items:center;gap:10px;padding:10px 12px;font-size:13px;display:flex}.error button{margin-left:auto}.quick{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.quick button{border:1px solid var(--border);background:var(--panel);color:var(--muted);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:12px}.quick button:hover:not(:disabled){color:var(--cyan);border-color:var(--cyan)}.quick button:disabled{opacity:.5;cursor:not-allowed}.input-row{gap:10px;display:flex}.input-row input{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:12px;outline:none;flex:1;padding:12px 14px;font-size:14px}.input-row input:focus{border-color:var(--cyan)}.input-row button{color:#fff;cursor:pointer;background:linear-gradient(135deg,#0e7490,#7c3aed);border:none;border-radius:12px;padding:0 20px;font-size:14px}.input-row button:disabled{opacity:.5;cursor:not-allowed}.mol-card{background:var(--panel);border:1px solid #67e8f940;border-radius:14px;max-width:82%;padding:12px 14px;font-size:13px;line-height:1.6}.mol-note{color:var(--violet);margin-bottom:6px;font-size:12px}.mol-head{margin-bottom:8px;font-size:14px}.mol-3d{background:#f4f8fb;border-radius:10px;width:100%;height:220px;margin-bottom:8px;position:relative;overflow:hidden}.mol-3d img{object-fit:contain;width:100%;height:100%}.mol-3d-loading{color:#5b7a9a;justify-content:center;align-items:center;font-size:13px;display:flex;position:absolute;inset:0}.mol-props{flex-direction:column;gap:4px;margin:0;display:flex}.mol-props>div{gap:8px;display:flex}.mol-props dt{color:var(--muted);flex:none}.mol-props dd{word-break:break-all}.mol-smiles{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:11.5px}
