*{box-sizing:border-box}body,html{height:100%}body{margin:0;background:#fff;color:#111;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px;line-height:1.5}button{font:inherit;background:#111;color:#fff;border:none;border-radius:6px;padding:6px 12px;cursor:pointer}button.secondary{background:#fff;color:#111;border:1px solid #ccc}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #111;outline-offset:2px}input,select,textarea{font:inherit;border:1px solid #ccc;border-radius:6px;padding:6px 10px;background:#fff;color:#111}.spinner{width:22px;height:22px;border:2.5px solid #e5e5e5;border-top-color:#111;border-radius:50%;animation:spin .7s linear infinite}.spinner.center{margin:40px auto}@keyframes spin{to{transform:rotate(1turn)}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.spinner{border-top-color:#e5e5e5;opacity:.4}}.layout{display:flex;height:100vh}.sidebar{width:300px;min-width:260px;border-right:1px solid #e5e5e5;padding:16px;overflow-y:auto;display:flex;flex-direction:column;gap:16px}.main{flex:1 1;display:flex;flex-direction:column;min-width:0}.section h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:#666}.doc{display:flex;justify-content:space-between;gap:8px;padding:6px 8px;border-radius:6px;font-size:13px}.doc.locked{color:#999}.doc.highlight{background:#fff3c4}.badge{font-size:11px;color:#666;border:1px solid #ddd;border-radius:4px;padding:0 5px;white-space:nowrap}.chat{flex:1 1;overflow-y:auto;padding:24px;display:flex;flex-direction:column;gap:12px}.msg{max-width:70ch;padding:10px 14px;border-radius:10px;white-space:pre-wrap}.msg.user{align-self:flex-end;background:#111;color:#fff}.msg.assistant{align-self:flex-start;background:#f4f4f4}.msg.refusal{align-self:flex-start;background:#fff;border:1px dashed #ccc;color:#555}.tool-card{align-self:flex-start;border:1px solid #ddd;border-radius:10px;padding:12px 14px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;background:#fafafa;max-width:70ch}.tool-card .tool-name{font-weight:700;margin-bottom:6px}.tool-card .real{color:#0a7a2f}.tool-card .demo{color:#b46900}.citations{display:flex;gap:6px;flex-wrap:wrap}.chip{font-size:12px;border:1px solid #ccc;border-radius:999px;padding:2px 10px;background:#fff;color:#111;cursor:pointer}.composer{display:flex;gap:8px;padding:16px 24px;border-top:1px solid #e5e5e5}.composer input{flex:1 1}.suggested{display:flex;gap:8px;flex-wrap:wrap;padding:0 24px 12px}.hint{color:#888;font-size:13px;padding:0 24px 8px}.error-text{color:#b00020;font-size:13px}.login{max-width:420px;margin:15vh auto;padding:0 16px;display:flex;flex-direction:column;gap:12px}@media (max-width:720px){.layout{flex-direction:column}.sidebar{width:100%;min-width:0;max-height:45vh;border-right:none;border-bottom:1px solid #e5e5e5}}