:root{--bg: #f4f7fe;--surface: #ffffff;--surface-sunken: #e9edf5;--ink: #0b1026;--text-muted: #545c70;--border: #d5dbe8;--line: #e9edf5;--primary: #f37221;--primary-hover: #c95403;--primary-soft: #ffe7d8;--on-primary: #ffffff;--link: #1743e6;--focus: #2e5bff;--success: #446002;--danger: #95034a;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 24px;--radius-pill: 999px;--shadow-sm: 0 1px 2px #0b10260f, 0 2px 8px #0b10260a;--font-sans: "Onest", system-ui, -apple-system, "Segoe UI", sans-serif;color-scheme:light}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:var(--font-sans);font-size:16px;line-height:24px;color:var(--ink);background:var(--bg);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit;color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-pill);border:2px solid transparent;background-clip:content-box}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.app{height:100dvh;max-width:760px;margin:0 auto;display:flex;flex-direction:column;background:var(--surface);border-left:1px solid var(--line);border-right:1px solid var(--line)}.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;padding-top:max(12px,env(safe-area-inset-top));border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:12px;min-width:0}.brand-name{display:flex;align-items:center;gap:8px;font-size:16px;line-height:20px;font-weight:600}.wordmark{display:block;width:104px;height:auto}.brand-sub{font-size:12px;line-height:16px;color:var(--text-muted)}.avatar{display:inline-block;flex:none;border-radius:50%;overflow:hidden;background:#f5b52e}.avatar img{width:100%;height:100%;object-fit:cover;transform:scale(1.08);display:block}.feed{flex:1;overflow-y:auto;padding:24px 16px 8px;display:flex;flex-direction:column;gap:12px}.hello{margin:auto 0;padding:24px 8px;text-align:center}.hello h1{margin:16px 0 8px;font-size:28px;line-height:36px;font-weight:600}.hello p{margin:0 auto 24px;max-width:520px;color:var(--text-muted)}.chips{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}.chip{border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-pill);padding:8px 16px;font-size:14px;line-height:20px;cursor:pointer;transition:border-color .15s,background .15s}.chip:hover{border-color:var(--primary);background:var(--primary-soft)}.msg{max-width:85%;padding:12px 16px;border-radius:20px;overflow-wrap:anywhere}.msg-user{align-self:flex-end;background:var(--primary-soft);border-bottom-right-radius:4px;white-space:pre-wrap}.bot-row{display:flex;align-items:flex-end;gap:8px;max-width:92%}.bot-row .msg{max-width:100%}.avatar-gap{width:32px;flex:none}.msg-bot{background:var(--bg);border:1px solid var(--line);border-bottom-left-radius:4px}.msg-card{align-self:stretch;padding-left:40px}.note{align-self:center;display:inline-flex;align-items:center;gap:4px;font-size:12px;line-height:16px;color:var(--text-muted);background:var(--surface-sunken);padding:4px 12px;border-radius:var(--radius-pill);text-align:center}.md p{margin:0 0 8px}.md p:last-child,.md ul:last-child,.md ol:last-child{margin-bottom:0}.md ul,.md ol{margin:0 0 8px;padding-left:24px}.md li+li{margin-top:4px}.md strong{font-weight:600}.md a{color:var(--link)}.md code{font-size:14px;background:var(--surface-sunken);padding:0 4px;border-radius:4px}.typing{color:var(--text-muted);font-size:14px;line-height:20px}.dots{display:inline-flex;gap:4px;padding:2px 0}.dots i{width:8px;height:8px;border-radius:50%;background:var(--text-muted);animation:blink 1.2s infinite ease-in-out}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}@keyframes blink{0%,80%,to{opacity:.3}40%{opacity:1}}.composer{display:flex;align-items:flex-end;gap:8px;padding:12px 16px;padding-bottom:max(12px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.composer textarea{flex:1;resize:none;overflow-y:hidden;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px 16px;background:var(--surface);max-height:160px}.composer textarea:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.send{width:48px;height:48px;flex:none;border:0;border-radius:var(--radius-md);background:var(--primary);color:var(--on-primary);display:grid;place-items:center;cursor:pointer}.send:hover:not(:disabled){background:var(--primary-hover)}.send:disabled{background:var(--surface-sunken);color:var(--text-muted);cursor:default}.card{border:1px solid var(--line);border-radius:var(--radius-md);padding:16px;background:var(--surface);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;gap:12px;max-width:560px}.card-done{background:var(--bg);box-shadow:none}.card-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:20px;line-height:28px}.card-done .card-title{font-size:16px;line-height:24px}.card-done .card-title svg{color:var(--success)}.site-link{color:var(--link);font-weight:600;word-break:break-all}.muted{margin:0;color:var(--text-muted)}.small{font-size:14px;line-height:20px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:520px){.grid2{grid-template-columns:1fr}.msg{max-width:92%}.msg-card{padding-left:0}.wordmark{width:96px}}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span:first-child{font-size:14px;line-height:20px;font-weight:600}.field input,.field select,.field textarea,.code-input{width:100%;min-height:48px;border:1px solid var(--border);border-radius:var(--radius-md);padding:12px;background:var(--surface)}.field textarea{resize:vertical}.field input:focus,.field select:focus,.field textarea:focus,.code-input:focus{outline:none;border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.has-error input,.has-error select{border-color:var(--danger)}.field-error,.form-error{font-size:14px;line-height:20px;color:var(--danger)}.code-input{font-size:24px;line-height:32px;letter-spacing:.4em;text-align:center;max-width:240px}.check{display:flex;align-items:flex-start;gap:8px;font-size:14px;line-height:20px;cursor:pointer}.check input{width:20px;height:20px;margin:0;flex:none;accent-color:var(--primary)}.row{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.btn{align-self:stretch;min-height:48px;border:0;border-radius:var(--radius-md);padding:12px 24px;background:var(--primary);color:var(--on-primary);font-size:16px;line-height:24px;font-weight:600;cursor:pointer}.row .btn{align-self:auto}.btn:hover:not(:disabled){background:var(--primary-hover)}.btn:disabled{opacity:.6;cursor:default}.btn-ghost{min-height:40px;border:1px solid var(--border);background:var(--surface);border-radius:var(--radius-md);padding:8px 16px;font-size:14px;line-height:20px;font-weight:600;cursor:pointer}.btn-ghost:hover:not(:disabled){background:var(--bg)}.btn-ghost:disabled{opacity:.5;cursor:default}.link-btn{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;border:0;background:none;padding:0;color:var(--link);cursor:pointer;font-size:14px;line-height:20px;font-weight:600}.dropzone{display:flex;flex-direction:column;align-items:center;gap:8px;border:1px dashed var(--border);border-radius:var(--radius-md);padding:24px 16px;text-align:center;color:var(--text-muted);font-size:14px;line-height:20px;cursor:pointer;background:var(--bg)}.dropzone:hover{border-color:var(--primary)}.file-row{display:flex;align-items:center;gap:8px;color:var(--ink)}.progress{height:8px;border-radius:var(--radius-pill);background:var(--surface-sunken);overflow:hidden}.progress-bar{height:100%;background:var(--primary);transition:width .4s}.progress-bar.indeterminate{width:35%;animation:slide 1.4s infinite ease-in-out}@keyframes slide{0%{transform:translate(-100%)}to{transform:translate(300%)}}.credentials{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:12px;border:1px solid var(--line);border-radius:var(--radius-md);background:var(--surface)}.password{font-weight:600;letter-spacing:.04em;word-break:break-all}.btn-ghost{display:inline-flex;align-items:center;gap:4px}
