:root{color-scheme:light;font-family:"Source Sans 3",sans-serif;--ink: #111827;--muted: #667085;--line: #e3e8ef;--surface: #ffffff;--canvas: #f5f7fa}*{box-sizing:border-box}button,input,textarea{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.attachment{display:flex;align-items:center;gap:6px;max-width:100%;margin-top:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border:1px solid currentColor;border-radius:8px;padding:5px 8px;background:transparent;color:inherit}.attachment svg{flex-shrink:0}.attach-btn{flex:0 0 44px;height:44px;display:grid;place-items:center;border-radius:8px;background:transparent;color:var(--muted)}.attachment-queue{margin:0;padding:8px 12px 0;list-style:none;display:grid;gap:6px}.attachment-queue li{display:flex;align-items:center;gap:8px;min-width:0;padding:6px 8px;border:1px solid var(--line);border-radius:8px;font-size:12px}.attachment-queue li>span:first-child{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-state{color:var(--muted);font-family:ui-monospace,monospace;font-size:10px}.attachment-queue button{display:grid;place-items:center;min-width:32px;min-height:32px;padding:0;background:transparent;color:inherit}.rating{display:grid;gap:8px;text-align:center}.rating-buttons{display:flex;justify-content:center;gap:4px}.rating-buttons button{display:grid;place-items:center;min-width:44px;min-height:44px;padding:4px;background:transparent;color:#e25a1c}html,body,#root{margin:0;height:100%;background:transparent}html:has(.launcher),body:has(.launcher),#root:has(.launcher){overflow:visible}.launcher{position:absolute;inset:10px;border:0;border-radius:999px;background:var(--accent, #E25A1C);color:#fff7f2;cursor:pointer;display:grid;place-items:center;box-shadow:0 8px 20px #0f172a3d;transition:transform .14s ease,filter .14s ease}.launcher:hover{transform:translateY(-1px);filter:brightness(.98)}.launcher:active{transform:translateY(0) scale(.97)}.launcher:focus-visible{outline:3px solid #0e1a2b;outline-offset:3px}.launcher-dot{position:absolute;right:4px;bottom:5px;width:11px;height:11px;border-radius:999px;background:#cbd5e1;box-shadow:0 0 0 2px var(--accent, #E25A1C);z-index:1}.launcher-dot.on{background:#1a7a72}.badge{position:absolute;top:2px;right:2px;min-width:20px;height:20px;border-radius:999px;background:#e25a1c;color:#fff;font-size:10px;font-weight:700;display:grid;place-items:center;padding:0 5px;box-shadow:0 0 0 2px #fff;z-index:2}.panel{height:100%;display:flex;flex-direction:column;background:var(--canvas);color:var(--ink);border-radius:14px;overflow:hidden;border:1px solid rgb(208 216 228 / .9);box-shadow:none}html:has(.panel),body:has(.panel),#root:has(.panel){overflow:hidden}.panel-header{position:relative;display:flex;justify-content:space-between;align-items:center;gap:10px;min-height:72px;padding:16px 14px 16px 18px;background:#111c2e;color:#e8eef6}.header-lead{display:flex;align-items:center;gap:10px;min-width:0}.header-copy{min-width:0}.header-copy h1{margin:0;font-family:Sora,sans-serif;font-size:16px;font-weight:600;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.presence{margin:4px 0 0;display:flex;align-items:center;gap:6px;font-size:12px;color:#b5c0cf}.presence-dot{width:7px;height:7px;border-radius:999px;background:#64748b}.presence.on .presence-dot{background:#1a7a72}.presence.off .presence-dot{background:#94a3b8}.header-actions{display:flex}.icon-btn{border:0;background:transparent;color:inherit;cursor:pointer;width:44px;height:44px;border-radius:8px;display:grid;place-items:center}.icon-btn:hover{background:#ffffff1a}.icon-btn:focus-visible,.menu-item:focus-visible,.ghost-btn:focus-visible,button[type=submit]:focus-visible,#retry:focus-visible{outline:3px solid color-mix(in srgb,var(--accent, #E25A1C) 55%,white);outline-offset:2px}.faces{display:flex;padding-left:6px}.face{display:grid;place-items:center;width:32px;height:32px;margin-left:-6px;border-radius:999px;background:#1a7a72;color:#f4faf8;font-size:10px;font-weight:600;box-shadow:0 0 0 2px #111c2e}.face.sm{width:24px;height:24px;margin:0;box-shadow:none;font-size:9px}.face.team-mark{background:var(--accent, #E25A1C);color:#fff7f2}.face-spacer{width:24px;flex:none}.menu{position:absolute;top:calc(100% - 8px);right:12px;z-index:2;min-width:11.5rem;padding:6px;border-radius:8px;background:#fff;color:#101828;box-shadow:0 10px 28px #0e1a2b29;border:1px solid #d5deea}.menu-item{display:block;width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:5px;font:inherit;cursor:pointer}.menu-item:hover:not(:disabled){background:#eef2f7}.menu-item:disabled{opacity:.45;cursor:not-allowed}.thread{flex:1;overflow:auto;padding:20px 16px 16px;display:flex;flex-direction:column;gap:12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#c7d0dc transparent}.welcome,.boot-error{margin:auto;text-align:center;color:#5b6b80;max-width:16rem}.welcome-team{margin:0 0 6px;font-family:Sora,sans-serif;font-size:15px;color:#0e1a2b}.intro{margin:auto 0 0;display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:16px;background:#fff;box-shadow:0 1px 2px #0e1a2b14}.intro.compact{margin:0;border-radius:0;box-shadow:none;border-top:1px solid #d5deea}.intro-kicker{margin:0;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-family:IBM Plex Mono,ui-monospace,monospace;color:var(--accent, #E25A1C)}.intro h2{margin:0;font-family:Sora,sans-serif;font-size:18px;line-height:1.3}.intro-copy{margin:0 0 4px;font-size:13px;color:#5b6b80}.intro label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5b6b80}.day{align-self:center;margin:4px 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8491a3;background:#ffffffb8;border:1px solid rgb(227 232 239 / .9);border-radius:5px;padding:4px 9px}.msg{display:flex;align-items:flex-end;gap:8px;max-width:88%}.msg.mine{align-self:flex-end;flex-direction:row-reverse}.msg.theirs{align-self:flex-start}.msg.grouped{margin-top:-7px}.msg-stack{min-width:0}.msg-name{margin:0 0 3px 2px;font-size:12px;font-weight:600;color:#3d4f66}.msg-meta{margin:3px 2px 0;font-family:IBM Plex Mono,ui-monospace,monospace;font-size:10px;color:#7a8aa0}.msg.mine .msg-meta{text-align:right}.bubble{padding:10px 13px;border-radius:12px;font-size:14px;line-height:1.48;white-space:pre-wrap;overflow-wrap:anywhere}.bubble p{margin:0}.msg.mine .bubble{border-bottom-right-radius:5px;background:linear-gradient(145deg,color-mix(in srgb,var(--accent, #E25A1C) 88%,white),var(--accent, #E25A1C));color:#fff;box-shadow:none}.msg.theirs .bubble{border-bottom-left-radius:5px;background:var(--surface);border:1px solid rgb(227 232 239 / .95);box-shadow:none}.msg.assistant .bubble{background:#f0f7ff;border-color:#bfdbfef2}.msg.assistant .msg-name{color:#1d4ed8}.msg.failed .bubble{outline:1px dashed #c13515}.typing,.error,.notice{font-size:12px;color:#5b6b80}.notice{align-self:center;padding:6px 10px;border-radius:999px;background:#fff}.typing{display:flex;align-items:center;gap:6px}.typing-dot-run{letter-spacing:.12em;animation:typing-pulse 1.2s ease-in-out infinite}.composer,.offline,.confirm,.ended{display:flex;flex-direction:column;gap:8px;padding:12px 14px;background:#fff;border-top:1px solid #d5deea}.offline label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5b6b80}.reconnect{padding:8px 12px;font-size:12px;text-align:center;color:#e8eef6;background:#0e1a2b;border-bottom:1px solid #24344d}.composer{flex-direction:row;align-items:flex-end;gap:8px}.confirm p,.ended p{margin:0;font-size:13px;color:#3d4f66}.ended .notice{align-self:stretch;text-align:center}.confirm-row{display:flex;gap:8px}.confirm-row button,.intro button[type=submit]{flex:1}textarea,input{width:100%;border:1px solid #d5deea;border-radius:14px;padding:10px 12px;font:inherit;background:#fff}textarea:focus,input:focus{outline:2px solid color-mix(in srgb,var(--accent, #E25A1C) 35%,transparent);border-color:var(--accent, #E25A1C)}textarea{min-height:44px;max-height:112px;resize:none;padding:11px 13px;line-height:1.45}button[type=submit],.confirm-row button:not(.ghost-btn),.ended button:not(.ghost-btn),.offline button[type=submit]{border:0;border-radius:12px;background:var(--accent, #E25A1C);color:#fff;padding:11px;font:inherit;font-weight:600;cursor:pointer}.send-btn{flex:none;width:44px;height:44px;padding:0;display:grid;place-items:center;border-radius:8px;box-shadow:none}.ghost-btn{border:1px solid #d5deea;background:#fff;color:#0e1a2b;border-radius:12px;padding:11px;font:inherit;cursor:pointer}.powered{margin:0;padding:4px 12px 11px;text-align:center;font-size:10px;letter-spacing:.04em;color:#8b96a7;background:#fff}#retry{border:0;background:none;color:#c13515;cursor:pointer}@media(prefers-reduced-motion:reduce){.launcher{box-shadow:0 8px 18px #0e1a2b33;transition:none}.launcher:hover,.launcher:active{transform:none}.typing-dot-run{animation:none}}@keyframes typing-pulse{0%,to{opacity:.35}50%{opacity:1}}
