:root{--bg:#faf7f2;--surface:#fff;--surface-2:#f4ede1;--surface-3:#ede2c8;--ink:#2a2118;--ink-soft:#6e6354;--accent:#c25d2f;--accent-soft:#f3d8c8;--accent-bg:#fbe9dd;--border:#e3d9c4;--border-strong:#c8b994;--ok:#2f7a3c;--info:#2563a8;--warn:#b87a00;--danger:#b03a2e;color:var(--ink);background:var(--bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}.app[data-user=alice]{--accent:#c25d2f;--accent-soft:#f3d8c8;--accent-bg:#fbe9dd;--bg:#faf7f2;--surface:#fff;--surface-2:#f4ede1;--border:#e3d9c4}.app[data-user=bob]{--accent:#3a78c2;--accent-soft:#d6e3f5;--accent-bg:#ecf2fb;--bg:#f4f7fb;--surface:#fff;--surface-2:#e6eef8;--border:#d2dcec}.app[data-user=charlie]{--accent:#4a7d3a;--accent-soft:#d8e7ce;--accent-bg:#eaf3e2;--bg:#f4f8f1;--surface:#fff;--surface-2:#e7efde;--border:#d2dec5}.user-avatar{color:#fff;border-radius:50%;flex:none;justify-content:center;align-items:center;width:34px;height:34px;font-size:14px;font-weight:700;display:inline-flex}.user-avatar.avatar-sm{width:22px;height:22px;font-size:11px}.avatar-alice{background:#c25d2f}.avatar-bob{background:#3a78c2}.avatar-charlie{background:#4a7d3a}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{-webkit-font-smoothing:antialiased}.boot{height:100%;color:var(--ink-soft);justify-content:center;align-items:center;display:flex}.app{grid-template-columns:260px 1fr;height:100%;min-height:100vh;display:grid}.main{grid-template-rows:1fr auto;gap:10px;width:100%;max-width:880px;height:100%;margin:0 auto;padding:16px 20px;display:grid;overflow:hidden}.sidebar{background:var(--surface-2);border-right:1px solid var(--border);flex-direction:column;gap:12px;padding:12px 12px 16px;display:flex;overflow:hidden}.sidebar-brand{border-bottom:1px solid var(--border);align-items:center;gap:10px;padding:4px 4px 8px;display:flex}.brand-emoji{font-size:26px;line-height:1}.brand-title{letter-spacing:-.01em;font-size:15px;font-weight:700}.brand-sub{color:var(--ink-soft);margin-top:-1px;font-size:11px}.user-card{background:var(--surface);border:1px solid var(--border);border-radius:10px;flex-direction:column;gap:8px;padding:10px 12px;display:flex}.user-row{align-items:center;gap:10px;display:flex}.user-info{flex:1;min-width:0}.user-name{white-space:nowrap;text-overflow:ellipsis;font-size:14.5px;font-weight:600;overflow:hidden}.user-email{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.switcher summary{cursor:pointer;color:var(--info);-webkit-user-select:none;user-select:none;padding:4px 0;font-size:12.5px;list-style:none}.switcher summary::-webkit-details-marker{display:none}.switcher-menu{flex-direction:column;gap:3px;padding:4px 0 0;display:flex}.switcher-pick{cursor:pointer;text-align:left;font:inherit;color:inherit;background:0 0;border:1px solid #0000;border-radius:6px;grid-template-columns:auto 1fr;align-items:center;gap:0 8px;padding:5px 8px;display:grid}.switcher-pick:hover{background:var(--surface-2);border-color:var(--border)}.switcher-pick .user-avatar.avatar-sm{grid-row:1/span 2}.switcher-name{grid-column:2;font-size:12.5px;font-weight:500}.switcher-meta{color:var(--ink-soft);grid-column:2;font-size:10px}.btn{cursor:pointer;font-size:12.5px;font:inherit;border:1px solid #0000;border-radius:6px;padding:6px 10px;font-size:12.5px;font-weight:500}.btn-ghost{border-color:var(--border);color:var(--ink);background:0 0}.btn-ghost:hover{background:var(--surface)}.btn-primary-sm{background:var(--accent);border-color:var(--accent);color:#fff;padding:4px 9px;font-size:11.5px}.btn-primary-sm:hover{filter:brightness(.95)}.btn-sm{padding:4px 9px;font-size:11.5px}.btn-danger-ghost{border-color:var(--border);color:var(--danger);background:0 0}.btn-danger-ghost:hover{border-color:var(--danger);background:#fbeae8}.icon-btn{cursor:pointer;color:var(--ink-soft);opacity:.6;background:0 0;border:none;border-radius:4px;padding:4px 6px;font-size:13px}.icon-btn:hover{opacity:1;background:var(--surface-2);color:var(--danger)}.thread-section{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:hidden}.thread-section-header{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);justify-content:space-between;align-items:center;padding:4px 4px 2px;font-size:11.5px;font-weight:600;display:flex}.thread-list{flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.thread-empty{color:var(--ink-soft);text-align:center;padding:12px 8px;font-size:12px}.thread-row{border:1px solid #0000;border-radius:7px;align-items:stretch;transition:border-color .12s,background .12s;display:flex}.thread-row:hover{background:var(--surface);border-color:var(--border)}.thread-row.active{background:var(--accent-bg);border-color:var(--accent-soft)}.thread-row.active .thread-title{color:var(--accent);font-weight:600}.thread-pick{text-align:left;cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:2px;min-width:0;padding:7px 10px;display:flex}.thread-title{white-space:nowrap;text-overflow:ellipsis;max-width:200px;font-size:13px;overflow:hidden}.thread-meta{color:var(--ink-soft);font-size:10.5px}.thread-delete{visibility:hidden;align-self:center;margin-right:4px}.thread-row:hover .thread-delete{visibility:visible}.sidebar-footer{border-top:1px dashed var(--border);margin-top:auto;padding-top:8px}.btn-reset{width:100%;color:var(--ink-soft);letter-spacing:.04em;padding:7px 10px;font-size:11.5px}.btn-reset:hover{color:var(--danger);border-color:var(--border-strong)}.messages{flex-direction:column;gap:12px;padding:12px 2px;display:flex;overflow-y:auto}.empty-chat{color:var(--ink-soft);text-align:center;border:1px dashed var(--border);border-radius:10px;flex-direction:column;align-items:stretch;gap:18px;padding:28px 24px;display:flex}.empty-chat h2{text-align:center;color:var(--ink);margin:0;font-size:17px;font-weight:600}.empty-chat .scenarios{justify-content:center}.orders-panel{text-align:left;flex-direction:column;gap:10px;width:100%;display:flex}.orders-title{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-soft);margin:0;font-size:13px;font-weight:600}.orders-count{color:var(--ink-soft);font-weight:500}.orders-empty{color:var(--ink-soft);margin:0;font-size:13px}.orders-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.order-card{background:var(--surface);border:1px solid var(--border);text-align:left;cursor:pointer;font:inherit;color:inherit;border-radius:10px;flex-direction:column;gap:6px;padding:12px 14px;transition:border-color .12s,box-shadow .12s,transform 80ms;display:flex}.order-card:hover{border-color:var(--accent);box-shadow:0 2px 8px -2px var(--accent-soft)}.order-card:active{transform:translateY(1px)}.order-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.order-id{color:var(--ink);font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px;font-weight:700}.order-status{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:2px 8px;font-size:10.5px;font-weight:700}.order-status.status-placed{color:#555;background:#eaeaea}.order-status.status-shipped{color:#1f4a82;background:#dbe7f5}.order-status.status-delivered{color:#1f5b2b;background:#d8ecda}.order-status.status-returned{color:#9a4f15;background:#f5e1cf}.order-status.status-cancelled{color:#882d24;background:#f4d4d0}.order-card-meta{color:var(--ink-soft);flex-wrap:wrap;align-items:center;gap:5px;font-size:11.5px;display:flex}.dot-sep{opacity:.5}.order-card-items{flex-direction:column;gap:2px;margin:4px 0 0;padding:0;list-style:none;display:flex}.order-card-items li{color:var(--ink);font-size:12.5px;line-height:1.35}.order-card-items li.more{color:var(--ink-soft);font-style:italic}.item-title{font-weight:500}.item-author{color:var(--ink-soft);font-size:11.5px}.order-card-cta{color:var(--accent);opacity:.65;margin-top:4px;font-size:11.5px;font-weight:500;transition:opacity .12s}.order-card:hover .order-card-cta{opacity:1}.scenarios{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.scenario{background:var(--surface);border:1px solid var(--border);color:var(--ink);cursor:pointer;font-size:12.5px;font:inherit;border-radius:999px;padding:6px 12px;font-size:12.5px;transition:background .12s}.scenario:hover{background:var(--accent-soft);border-color:var(--accent-soft)}.bubble{word-wrap:break-word;overflow-wrap:anywhere;border-radius:14px;max-width:78%;padding:10px 14px;font-size:14.5px;line-height:1.5}.bubble.user{background:var(--accent);color:#fff;white-space:pre-wrap;border-bottom-right-radius:4px;align-self:flex-end}.bubble.assistant{background:var(--surface);border:1px solid var(--border);border-bottom-left-radius:4px;align-self:flex-start}.bubble.assistant .md>:first-child{margin-top:0}.bubble.assistant .md>:last-child{margin-bottom:0}.bubble.assistant .md p{margin:0 0 8px}.bubble.assistant .md p:last-child{margin-bottom:0}.bubble.assistant .md strong{color:var(--ink);font-weight:700}.bubble.assistant .md em{font-style:italic}.bubble.assistant .md ul,.bubble.assistant .md ol{margin:4px 0 8px;padding-left:22px}.bubble.assistant .md li{margin-bottom:3px}.bubble.assistant .md a{color:var(--info);text-decoration:underline}.bubble.assistant .md-inline-code{background:var(--surface-2);color:var(--ink);border-radius:4px;padding:1px 5px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:12.5px}.bubble.assistant .md-code{background:var(--surface-2);border-radius:6px;margin:6px 0;padding:8px 10px;font-size:12.5px;overflow-x:auto}.bubble.assistant .md-code code{color:var(--ink);background:0 0;padding:0;font-family:ui-monospace,SF Mono,Menlo,monospace}.bubble.assistant .md table{border-collapse:collapse;margin:6px 0;font-size:13px}.bubble.assistant .md th,.bubble.assistant .md td{border:1px solid var(--border);text-align:left;padding:4px 8px}.bubble.assistant .md th{background:var(--surface-2);font-weight:600}.bubble.assistant .md blockquote{border-left:3px solid var(--border-strong);color:var(--ink-soft);margin:6px 0;padding-left:10px;font-style:italic}.ask-user-card{flex-direction:column;gap:10px;max-width:78%;display:flex}.ask-question{color:var(--ink);margin:0;font-size:14.5px;line-height:1.4}.bubble-row{flex-wrap:wrap;gap:6px;display:flex}.bubble-pill{background:var(--surface-2);border:1px solid var(--border);color:var(--ink);font:inherit;cursor:pointer;border-radius:999px;padding:7px 14px;font-size:13px;transition:background .12s,border-color .12s,transform 80ms}.bubble-pill:not(:disabled):hover{background:var(--accent-soft);border-color:var(--accent)}.bubble-pill:not(:disabled):active{transform:translateY(1px)}.bubble-pill:disabled{opacity:.7;cursor:default}.bubble-pill-selected{background:var(--accent);border:1px solid var(--accent);color:#fff;border-radius:999px;align-items:center;gap:6px;padding:7px 14px;font-size:13px;display:inline-flex}.bubble-pill-selected .check{font-weight:700}.ask-streaming{color:var(--ink-soft);font-size:12px;font-style:italic}.package-image{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;flex-direction:column;align-self:flex-start;gap:6px;max-width:280px;margin:0;padding:10px 12px;display:flex}.package-preface{color:var(--ink);font-size:13px;font-weight:500;line-height:1.35}.package-image img{object-fit:cover;background:var(--surface);border-radius:6px;width:100%;height:auto;display:block}.package-caption{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.tool-call{background:var(--surface-2);border:1px solid var(--border);border-radius:10px;align-self:flex-start;max-width:78%;padding:8px 12px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:13px}.tool-call .label{color:var(--info);font-family:ui-sans-serif,system-ui;font-weight:600}.tool-call .state{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-left:8px;font-size:11px}.tool-call .state.complete,.tool-call .state.completed{color:var(--ok)}.tool-call .state.streaming,.tool-call .state.executing,.tool-call .state.loading{color:var(--warn)}.tool-call .state.error{color:var(--danger)}.tool-call pre{white-space:pre-wrap;word-break:break-all;background:#0000000a;border-radius:4px;max-height:200px;margin:6px 0 0;padding:6px 8px;font-size:11.5px;overflow-x:auto}.tool-call summary{cursor:pointer;color:var(--ink-soft);margin-top:6px;font-family:ui-sans-serif,system-ui;font-size:12px}.status-row{color:var(--ink-soft);align-items:center;gap:10px;padding:0 4px;font-size:12px;display:flex}.status-row .dot{background:var(--ok);border-radius:50%;width:6px;height:6px;display:inline-block}.status-row .dot.streaming{background:var(--warn);animation:1.2s infinite pulse}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.form{border-top:1px solid var(--border);gap:8px;padding-top:12px;display:flex}.form input{border:1px solid var(--border);background:var(--surface);color:var(--ink);font-size:14.5px;font:inherit;border-radius:999px;outline:none;flex:1;padding:10px 14px;font-size:14.5px}.form input:focus{border-color:var(--accent)}.form button{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:999px;padding:10px 18px;font-size:14px;font-weight:600}.form button:disabled{opacity:.55;cursor:not-allowed}@media (width<=720px){.app{grid-template-columns:1fr}.sidebar{z-index:10;width:280px;max-width:85vw;transition:transform .2s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}
