:root{--bg:#0f1113;--panel:#16191c;--line:#23272b;--text:#e6e8ea;--muted:#8b9299;--accent:#d97757;--radius:10px;--font:ui-sans-serif,system-ui,-apple-system,"Segoe UI",Helvetica,Arial,sans-serif}*{box-sizing:border-box}body,html{margin:0;height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.6}.shell{height:100dvh;max-width:780px;margin:0 auto;display:grid;grid-template-rows:auto minmax(0,1fr) auto}.bar{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line)}.bar h1{font-size:15px;font-weight:600;margin:0;letter-spacing:-.01em}.mark{width:8px;height:8px;border-radius:2px;background:var(--accent)}.tag{margin-left:auto;font-size:11px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:2px 9px}.scroll{overflow-y:auto;padding:20px}.thread{display:flex;flex-direction:column;gap:22px}.msg{display:grid;grid-gap:4px;gap:4px}.who{font-size:12px;color:var(--muted)}.body{white-space:pre-wrap;word-break:break-word}.msg.user .body{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px}.msg-actions{display:flex;align-items:center;gap:10px;margin-top:2px}.copy-btn{font:inherit;font-size:12px;color:var(--muted);background:none;border:0;padding:0;cursor:pointer}.copy-btn:hover{color:var(--accent)}.tokens{font-size:11px;color:var(--muted)}.dots{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);animation:pulse 1.1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}.empty{padding:48px 4px}.empty h2{font-size:19px;font-weight:600;margin:0 0 18px;letter-spacing:-.01em}.suggestions{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.suggestion{font:inherit;font-size:14px;color:var(--text);text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:9px 13px;cursor:pointer}.suggestion:hover{border-color:var(--accent)}.composer{display:flex;gap:8px;padding:14px 20px 20px;border-top:1px solid var(--line)}.composer input{flex:1 1;font:inherit;color:var(--text);background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:10px 13px}.composer input:focus{outline:none;border-color:var(--accent)}.composer input::placeholder{color:var(--muted)}.composer button{font:inherit;font-weight:500;color:#17120f;background:var(--accent);border:0;border-radius:var(--radius);padding:10px 18px;cursor:pointer}.composer button:disabled{opacity:.4;cursor:not-allowed}