*,:after,:before{box-sizing:border-box}body,html{margin:0;height:100%}body{font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;background:#f4f5f7;color:#1c1f26}.cw-root{--cw-bg:#ffffff;--cw-surface:#f5f6f8;--cw-fg:#1c1f26;--cw-muted:#5d6573;--cw-border:#e3e6eb;--cw-bot-bg:#ffffff;--cw-bot-fg:#1c1f26;--cw-error-bg:#fdecee;--cw-error-fg:#a30d27;display:flex;flex-direction:column;height:100%;min-height:0;background:var(--cw-bg);color:var(--cw-fg);font-size:14px;line-height:1.45}.cw-root[data-theme=dark]{--cw-bg:#161a21;--cw-surface:#1d222b;--cw-fg:#eceff4;--cw-muted:#a3acba;--cw-border:#2c333f;--cw-bot-bg:#262c37;--cw-bot-fg:#eceff4;--cw-error-bg:#3a1a20;--cw-error-fg:#ffb3bf}:where(.cw-root button,.cw-root textarea){font:inherit;color:inherit}.cw-root :focus-visible{outline:2px solid var(--cw-brand);outline-offset:2px}.cw-head{display:flex;align-items:center;gap:10px;padding:8px 8px 8px 14px;background:var(--cw-brand);color:var(--cw-on-brand)}.cw-head :focus-visible{outline-color:var(--cw-on-brand)}.cw-avatar{display:grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:color-mix(in srgb,var(--cw-on-brand) 18%,transparent)}.cw-head-text{flex:1 1;min-width:0}.cw-title{margin:0;font-size:14.5px;font-weight:600;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cw-status{display:flex;align-items:center;gap:6px;margin:1px 0 0;font-size:12px;opacity:.9}.cw-dot{width:8px;height:8px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 2px color-mix(in srgb,var(--cw-on-brand) 35%,transparent)}.cw-icon-btn{display:grid;place-items:center;flex:none;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer;transition:background .15s}.cw-icon-btn:hover:not(:disabled){background:color-mix(in srgb,var(--cw-on-brand) 16%,transparent)}.cw-icon-btn:disabled{opacity:.55;cursor:default}.cw-list{flex:1 1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;gap:8px;padding:12px;background:var(--cw-surface)}.cw-list,.cw-row{display:flex;flex-direction:column}.cw-row{max-width:85%;animation:cw-in .18s ease-out}.cw-row.cw-user{align-self:flex-end;align-items:flex-end}.cw-row.cw-bot{align-self:flex-start;align-items:flex-start}.cw-bubble{padding:8px 12px;border-radius:15px;white-space:pre-wrap;overflow-wrap:anywhere}.cw-bot .cw-bubble{border-bottom-left-radius:5px;background:var(--cw-bot-bg);color:var(--cw-bot-fg);border:1px solid var(--cw-border)}.cw-user .cw-bubble{border-bottom-right-radius:5px;background:var(--cw-brand);color:var(--cw-on-brand)}.cw-bubble a{color:inherit;text-decoration:underline;text-underline-offset:2px}.cw-system{align-self:center;max-width:90%;margin:4px 0;padding:6px 12px;border-radius:12px;background:color-mix(in srgb,var(--cw-muted) 14%,transparent);color:var(--cw-muted);font-size:13px;text-align:center}.cw-retry{margin-top:4px;padding:4px 2px;border:0;background:none;font-size:13px;font-weight:600;text-decoration:underline;cursor:pointer}.cw-error,.cw-retry{color:var(--cw-error-fg)}.cw-error{align-self:stretch;margin:0;padding:8px 12px;border-radius:10px;background:var(--cw-error-bg);font-size:13.5px}.cw-typing{display:flex;gap:4px;align-items:center;height:38px}.cw-typing i{width:7px;height:7px;border-radius:50%;background:var(--cw-muted);animation:cw-bounce 1.2s ease-in-out infinite}.cw-typing i:nth-child(2){animation-delay:.15s}.cw-typing i:nth-child(3){animation-delay:.3s}.cw-foot{display:flex;align-items:flex-end;gap:8px;padding:8px 10px calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--cw-border);background:var(--cw-bg)}.cw-ended{justify-content:center}.cw-input{flex:1 1;min-height:38px;max-height:100px;padding:9px 14px;border:1px solid var(--cw-border);border-radius:20px;background:var(--cw-surface);color:var(--cw-fg);resize:none;overflow-y:hidden;scrollbar-width:thin;font-size:14.5px;line-height:1.35}@media (pointer:coarse){.cw-input{font-size:16px}}.cw-input::placeholder{color:var(--cw-muted)}.cw-input:focus{outline:none;border-color:var(--cw-brand);box-shadow:0 0 0 3px color-mix(in srgb,var(--cw-brand) 25%,transparent)}.cw-send{display:grid;place-items:center;flex:none;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:var(--cw-brand);color:var(--cw-on-brand);cursor:pointer;transition:opacity .15s,transform .1s}.cw-send:disabled{background:color-mix(in srgb,var(--cw-brand) 40%,var(--cw-bg));color:var(--cw-on-brand);cursor:default}.cw-send:active:not(:disabled){transform:scale(.94)}.cw-primary{padding:11px 18px;border:0;border-radius:21px;background:var(--cw-brand);color:var(--cw-on-brand);font-weight:600;cursor:pointer}@keyframes cw-in{0%{opacity:0;transform:translateY(6px)}}@keyframes cw-bounce{0%,60%,to{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}@media (prefers-reduced-motion:reduce){.cw-row,.cw-typing i{animation:none}.cw-icon-btn,.cw-send{transition:none}}.demo{max-width:1080px;margin:0 auto;padding:32px 16px 48px}.demo h1{margin:0 0 6px;font-size:26px}.demo-lead{margin:0 0 24px;color:#5d6573}.demo-grid{display:grid;grid-template-columns:minmax(0,420px) minmax(0,1fr);grid-gap:24px;gap:24px;align-items:start}.demo-chat{height:min(680px,calc(100dvh - 48px));overflow:hidden;box-shadow:0 10px 40px rgba(20,24,40,.14)}.demo-card,.demo-chat{border-radius:16px;background:#fff}.demo-card{padding:20px;box-shadow:0 1px 3px rgba(20,24,40,.08)}.demo-card h2{margin:0 0 8px;font-size:17px}.demo-card h2:not(:first-child){margin-top:22px}.demo-card p{margin:0 0 10px}.demo-code{position:relative;margin:0 0 4px;padding:14px 16px;overflow-x:auto;border-radius:10px;background:#151922;color:#e6e9ef;font:13px/1.55 ui-monospace,SFMono-Regular,Menlo,monospace}.demo-copy{margin:0 0 6px;padding:6px 12px;border:1px solid #d5d9e0;border-radius:8px;background:#fff;font:inherit;font-size:13px;cursor:pointer}.demo-table{width:100%;border-collapse:collapse;font-size:14px}.demo-table td,.demo-table th{padding:7px 8px;border-bottom:1px solid #e6e8ee;text-align:left;vertical-align:top}.demo-card code,.demo-table code{font:13px ui-monospace,SFMono-Regular,Menlo,monospace;background:#eef0f4;padding:1px 5px;border-radius:4px}.demo-code code{background:none;padding:0}@media (max-width:860px){.demo-grid{grid-template-columns:minmax(0,1fr)}}.cw-notice{display:grid;place-items:center;height:100dvh;padding:24px;text-align:center;color:#5d6573;background:#fff}