:root{--bg: #f6f7f9;--panel: #ffffff;--ink: #1a1d21;--muted: #6b7280;--line: #e5e7eb;--brand: #2f6f4f;--brand-ink: #ffffff;--danger: #b42318;--accent: #eef4f0}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--ink);background:var(--bg)}button{font:inherit;cursor:pointer}input,textarea{font:inherit}.app{display:flex;flex-direction:column;height:100%}.topbar{display:flex;align-items:center;gap:24px;padding:12px 20px;background:var(--panel);border-bottom:1px solid var(--line)}.brand{font-weight:700;font-size:18px}.brand.big{font-size:24px}.tabs{display:flex;gap:8px;flex:1}.tab{border:none;background:none;padding:8px 14px;border-radius:8px;color:var(--muted)}.tab.active{background:var(--accent);color:var(--brand);font-weight:600}.session{display:flex;align-items:center;gap:12px}.role{text-transform:capitalize;color:var(--muted);font-size:13px;border:1px solid var(--line);padding:2px 8px;border-radius:999px}.linkbtn{background:none;border:none;color:var(--muted);text-decoration:underline}.content{flex:1;overflow:hidden;display:flex}.login-wrap{flex:1;display:flex;align-items:center;justify-content:center}.card.login{width:340px;display:flex;flex-direction:column;gap:8px}.card.login label{font-size:13px;color:var(--muted);margin-top:6px}.card{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:18px;box-shadow:0 1px 2px #00000008}.muted{color:var(--muted)}.error{color:var(--danger);font-size:13px}input,textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:4px 0}textarea{resize:vertical}button.primary{background:var(--brand);color:var(--brand-ink);border:none;padding:10px 16px;border-radius:8px;font-weight:600}button.primary:disabled{opacity:.5;cursor:default}button.danger{background:none;color:var(--danger);border:1px solid var(--line);padding:6px 10px;border-radius:6px}.chat{flex:1;display:flex;flex-direction:column;max-width:820px;margin:0 auto;width:100%}.messages{flex:1;overflow-y:auto;padding:24px 16px;display:flex;flex-direction:column;gap:16px}.empty{color:var(--muted);text-align:center;margin:auto;max-width:420px}.msg{display:flex;flex-direction:column;gap:6px}.msg.user{align-items:flex-end}.bubble{padding:12px 16px;border-radius:14px;max-width:88%;line-height:1.5;white-space:pre-wrap}.msg.user .bubble{background:var(--brand);color:#fff;border-bottom-right-radius:4px}.msg.assistant .bubble{background:var(--panel);border:1px solid var(--line);border-bottom-left-radius:4px}.bubble.abstained{background:#fff8ec;border-color:#f2d9a8}.bubble.thinking,.bubble .thinking{color:var(--muted);font-style:italic}.caret{display:inline-block;width:7px;height:1em;background:var(--brand);margin-left:2px;vertical-align:text-bottom;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}sup.cite{color:var(--brand);font-weight:700;margin:0 1px}.sources{font-size:13px;color:var(--muted)}.sources-label{font-weight:600;text-transform:uppercase;font-size:11px;letter-spacing:.04em}.sources ol{margin:4px 0 0;padding-left:20px}.rate{display:flex;gap:6px}.rate button{background:none;border:1px solid var(--line);border-radius:6px;padding:2px 8px}.rate button.rated{background:var(--accent);border-color:var(--brand)}.composer{display:flex;gap:8px;padding:12px 16px;border-top:1px solid var(--line);background:var(--panel)}.composer input{margin:0}.admin{flex:1;overflow-y:auto;padding:20px;width:100%;max-width:1000px;margin:0 auto}.subtabs{display:flex;gap:8px;margin-bottom:16px}.subtabs button{border:1px solid var(--line);background:var(--panel);padding:8px 14px;border-radius:8px;color:var(--muted)}.subtabs button.active{background:var(--accent);color:var(--brand);font-weight:600;border-color:var(--brand)}.cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}.card.wide{max-width:none}.card h3{margin:0 0 10px}.or{text-align:center;color:var(--muted);font-size:13px;margin:10px 0}table.list{width:100%;border-collapse:collapse}table.list td{padding:8px 6px;border-bottom:1px solid var(--line);font-size:14px}.factrow,.gaprow{border-bottom:1px solid var(--line);padding:10px 0}.factq,.gapq{font-weight:600;margin-bottom:4px}.row{display:flex;gap:8px;align-items:center}.gapanswer{margin-top:6px}select{padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:#fff;margin:4px 0}form select{width:100%}.secret{margin-top:12px;padding:12px;background:var(--accent);border:1px solid var(--brand);border-radius:8px}.secret code{display:inline-block;margin:6px 0;padding:6px 10px;background:#fff;border:1px solid var(--line);border-radius:6px;font-size:15px;-webkit-user-select:all;user-select:all}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000059;display:flex;align-items:center;justify-content:center;z-index:50}.card.modal{width:360px}.card.modal label{font-size:13px;color:var(--muted);margin-top:6px;display:block}@media (max-width: 760px){.cols{grid-template-columns:1fr}}.checkrow{display:flex;align-items:center;gap:6px;font-size:13px;margin:10px 0;color:var(--fg)}.checkrow input[type=checkbox]{width:16px;height:16px;margin:0}.small{font-size:12px}.w100{width:100%;box-sizing:border-box}tr.editrow td{background:var(--bg)}tr.editrow textarea{font-family:inherit}
