:root{--bg: #0a0a0a;--fg: #fafafa;--muted: #8a8a8a;--accent: #6cf;--border: #2a2a2a;--panel: #161616;--ok: #5bd66b;--err: #ff6b6b}*{box-sizing:border-box}html,body{margin:0;background:var(--bg);color:var(--fg);font-family:ui-monospace,SF Mono,Cascadia Code,Menlo,monospace;font-size:14px;line-height:1.55}main{max-width:880px;margin:0 auto;padding:3em 1.5em 4em}header h1{font-size:1.6em;margin:0;letter-spacing:-.01em}header h1 .muted{color:var(--muted);font-weight:400}header .lede{color:#ccc;margin:.4em 0 2.5em}.muted{color:var(--muted)}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}code{background:#1c1c1c;padding:.1em .35em;border-radius:3px;font-size:.9em}section{margin-bottom:2.5em}section h2{font-size:1em;color:var(--muted);margin:0 0 .7em;font-weight:400;text-transform:uppercase;letter-spacing:.05em}label{display:block;font-size:.85em;color:var(--muted);margin-bottom:.4em}.row{display:flex;gap:.5em}input[type=text]{flex:1;background:var(--panel);border:1px solid var(--border);color:var(--fg);padding:.65em .85em;border-radius:6px;font:inherit;font-size:.95em}input[type=text]:focus{outline:none;border-color:var(--accent)}button{background:var(--fg);color:var(--bg);border:none;padding:.65em 1.4em;border-radius:6px;font:inherit;font-weight:600;cursor:pointer}button:hover{background:#fff}button:disabled{opacity:.5;cursor:progress}.hint{color:var(--muted);font-size:.85em;margin-top:.6em}ul#tool-list{list-style:none;padding:0;margin:0}ul#tool-list li{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:.9em 1em;margin-bottom:.5em}.tool-name{color:var(--accent);font-weight:600}.tool-desc{color:#ccc;margin:.25em 0 .5em}.tool-run{display:inline-block;background:transparent;color:var(--accent);border:1px solid var(--accent);padding:.35em .9em;font-size:.85em;border-radius:4px}.tool-run:hover{background:var(--accent);color:var(--bg)}.tool-result{margin-top:.7em;padding:.65em .85em;background:#0d1419;border-left:2px solid var(--accent);border-radius:0 4px 4px 0;white-space:pre-wrap;word-break:break-word;font-size:.9em}.tool-result.err{border-color:var(--err);background:#1a0d0d;color:var(--err)}.messages{background:var(--panel);border:1px solid var(--border);border-radius:6px;padding:1em;margin-bottom:.8em;min-height:6em;max-height:22em;overflow-y:auto}.messages:empty:before{content:"Conversation will appear here.";color:var(--muted);font-style:italic}.msg{margin-bottom:1em}.msg:last-child{margin-bottom:0}.msg-role{display:inline-block;font-size:.75em;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:.25em}.msg-role.user{color:var(--accent)}.msg-role.assistant{color:var(--ok)}.msg-role.tool{color:#c79}.msg-content{white-space:pre-wrap;word-break:break-word}.msg-tool-call{background:#0d1419;padding:.5em .75em;border-left:2px solid var(--accent);margin:.4em 0;font-size:.85em;border-radius:0 4px 4px 0}.chat-form{display:flex;gap:.5em}.chat-form input{flex:1}#llm-status{display:flex;align-items:center;gap:1em;flex-wrap:wrap}#llm-status-text{font-size:.85em}pre#log{background:var(--panel);border:1px solid var(--border);padding:1em;border-radius:6px;max-height:24em;overflow-y:auto;white-space:pre-wrap;font-size:.85em;margin:0;line-height:1.6}pre#log .ok{color:var(--ok)}pre#log .err{color:var(--err)}pre#log .dim{color:var(--muted)}footer{margin-top:4em;padding-top:1.5em;border-top:1px solid var(--border)}footer p{font-size:.85em;margin:0}
