:root{font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202020;background:#fff;font-synthesis:none;--bg:#fff;--fg:#202020;--muted:#808080;--line:#e8e8e8;--soft:#f5f5f5;--hover:#ededed;--button:#202020;--on-button:#fff}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.35}button:focus-visible,a:focus-visible{outline:2px solid #8c8c8c;outline-offset:3px}[hidden]{display:none!important}h1,p{margin-top:0}h1{font-size:25px;font-weight:600;letter-spacing:-.6px}a{color:inherit;text-underline-offset:3px}.muted{color:var(--muted)}.dot{display:inline-block;width:5px;height:5px;border-radius:50%;background:#919191;flex-shrink:0}.error{color:#c54b3f;font-size:13px;margin:9px 0}.error:empty{display:none}.quiet{color:var(--muted);background:transparent;border:0;padding:8px;font-size:12px;border-radius:7px}.quiet:hover{background:var(--soft);color:var(--fg)}.primary{width:100%;padding:14px 18px;background:var(--button);color:var(--on-button);border:0;border-radius:10px;font-weight:500;font-size:14px}.primary:hover,.send:hover{opacity:.8}.private-note{margin-top:28px;text-align:center;font-size:12px;color:var(--muted)}.login-view{min-height:100dvh;display:grid;place-items:center;padding:30px 24px}.login-card{width:100%;max-width:330px}.login-mark{margin-bottom:26px}.login-card h1{margin-bottom:10px}.login-card>.muted{font-size:14px;line-height:1.6;margin-bottom:30px}.login-card label{display:block;font-size:12px;font-weight:500;margin-bottom:9px}.login-card input,.login-card select{width:100%;padding:14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);outline:none;margin-bottom:12px;font-size:16px}.login-card input:focus,.login-card select:focus{border-color:#909090}.loading{height:100dvh;display:grid;place-items:center;color:var(--muted);font-size:14px}.chat-view{height:100dvh;display:flex;flex-direction:column}header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;flex-shrink:0}.brand{display:flex;gap:10px;align-items:center}.brand strong{font-size:14px;font-weight:600;letter-spacing:-.2px}.header-actions{display:flex;gap:18px;align-items:center}.connection{display:flex;align-items:center;gap:7px;font-size:11px;color:var(--muted)}main{flex:1;overflow:auto;overscroll-behavior:contain;scrollbar-color:#d5d5d5 transparent}.messages{width:100%;max-width:816px;padding:32px 28px 24px;margin:0 auto}.message{margin-bottom:32px;overflow-wrap:anywhere}.message.user{display:flex;justify-content:flex-end}.user .bubble{max-width:88%;background:var(--soft);padding:12px 18px;border-radius:19px;white-space:pre-wrap;line-height:1.65;font-size:14px}.assistant-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:500;color:var(--muted);margin-bottom:12px}.assistant-label img{width:19px;height:19px;border-radius:5px}.assistant .bubble{font-size:14px;line-height:1.8}.bubble>*:last-child{margin-bottom:0}.bubble p{margin:0 0 14px}.bubble h1,.bubble h2,.bubble h3{font-family:inherit;font-size:16px;letter-spacing:0;font-weight:600;margin:22px 0 9px}.bubble pre{max-width:100%;overflow:auto;background:var(--soft);padding:16px;border:1px solid var(--line);border-radius:10px;line-height:1.6;font-size:12px}.bubble code{font-family:ui-monospace,SFMono-Regular,monospace;font-size:.9em;background:var(--soft);padding:2px 4px;border-radius:4px}.bubble pre code{padding:0}.bubble ul,.bubble ol{padding-left:24px}.bubble blockquote{border-left:3px solid var(--line);margin-left:0;padding-left:18px;color:var(--muted)}.bubble table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:12px}.bubble td,.bubble th{border:1px solid var(--line);padding:8px 12px;text-align:left}.message-detail{padding-top:10px;color:#ac713a;font-size:12px;line-height:1.6}.composer-area{width:100%;max-width:816px;margin:0 auto;padding:12px 28px max(18px,env(safe-area-inset-bottom));flex-shrink:0}.composer{display:flex;align-items:flex-end;gap:12px;border:1px solid #dedede;border-radius:20px;background:var(--bg);padding:10px 10px 10px 18px;box-shadow:0 2px 8px #00000004}.composer:focus-within{border-color:#aaa}textarea{resize:none;flex:1;min-width:0;max-height:180px;height:44px;border:0;outline:none;background:transparent;line-height:1.6;padding:10px 0;font-size:14px;color:var(--fg)}textarea::placeholder{color:var(--muted)}.send{border:0;border-radius:50%;width:34px;height:34px;margin-bottom:5px;flex-shrink:0;background:var(--button);color:var(--on-button);font-size:23px;line-height:1}.send.stop{font-size:12px}.composer-note{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:10px;margin:10px 4px 0;line-height:1.5}.text-button{border:0;padding:0;background:none;color:var(--muted);font-size:10px;white-space:nowrap}.text-button:hover{color:var(--fg)}.activity{display:flex;align-items:center;gap:8px;margin:0 4px 12px;font-size:12px;color:var(--muted)}.pulse{width:5px;height:5px;background:#888;border-radius:50%;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.25}}.notice{display:flex;gap:12px;align-items:center;padding:12px 16px;background:var(--soft);border:1px solid var(--line);border-radius:10px;font-size:12px;line-height:1.6;margin-bottom:14px;color:#ac713a}.notice button{white-space:nowrap}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.pending{color:var(--muted);font-size:13px}
@media(max-width:600px){header{padding:14px 17px}.header-actions{gap:10px}.connection{display:none}.messages{padding:24px 20px}.composer-area{padding:10px 14px max(16px,env(safe-area-inset-bottom))}.user .bubble{max-width:92%}textarea{font-size:16px;height:46px}.composer-note{font-size:9px}.composer-note .text-button{font-size:9px}.assistant .bubble{font-size:14px}}
@media(prefers-color-scheme:dark){:root{color-scheme:dark;--bg:#202020;--fg:#ececec;--muted:#929292;--line:#383838;--soft:#2d2d2d;--hover:#353535;--button:#ececec;--on-button:#202020;background:var(--bg);color:var(--fg)}.composer{border-color:#414141;background:#262626}.composer:focus-within{border-color:#666}main{scrollbar-color:#444 transparent}.login-card input,.login-card select{background:#262626}}
.browser-link{text-decoration:none;white-space:nowrap}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.queue{max-height:180px;overflow:auto;border:1px solid var(--line);border-radius:12px;margin-bottom:12px}.queued-message{display:flex;align-items:center;gap:12px;padding:7px 10px 7px 14px;font-size:12px}.queued-message+.queued-message{border-top:1px solid var(--line)}.queue-label{color:var(--muted);font-size:10px}.queue-content{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.queue-remove{font-size:19px;line-height:1;padding:5px 8px}.send.stop{background:var(--soft);color:var(--fg);border:1px solid var(--line)}

.chat-owner{display:block;font-size:11px;color:var(--muted);margin-top:3px}.login-card select{margin-bottom:20px}
#login-button{margin-top:12px}
.login-card .muted{font-size:14px;line-height:1.6;margin-bottom:24px;overflow-wrap:anywhere}.login-card label.remember{display:flex;align-items:flex-start;gap:10px;margin:8px 0 24px;font-size:13px;line-height:1.4;cursor:pointer}.login-card .remember input{width:16px;height:16px;padding:0;margin:1px 0 0;flex-shrink:0;accent-color:var(--fg)}.remember small{display:block;color:var(--muted);font-size:11px;font-weight:400;margin-top:3px}.auth-back{display:block;margin:12px auto 0}
.chat-body{display:flex;flex:1;min-height:0;position:relative}.chat-column{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0}.sms-panel{width:340px;flex-shrink:0;border-left:1px solid var(--line);display:flex;flex-direction:column;min-height:0;background:var(--bg)}.sms-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:25px 22px 18px}.sms-heading h2{font-size:14px;font-weight:600;margin:0 0 6px}.sms-heading p{font-size:11px;color:var(--muted);margin:0}.sms-heading button{font-size:21px;line-height:1;padding:0 5px}.sms-list{overflow:auto;min-height:0;overscroll-behavior:contain;scrollbar-color:var(--line) transparent}.sms-message{padding:18px 22px;border-top:1px solid var(--line);overflow-wrap:anywhere}.sms-meta{display:flex;justify-content:space-between;gap:10px;color:var(--muted);font-size:10px;line-height:1.5;margin-bottom:9px}.sms-meta time{white-space:nowrap}.sms-message h3{font-size:12px;font-weight:600;margin:0 0 7px}.sms-message p{font-size:13px;line-height:1.65;margin:0;white-space:pre-wrap}.sms-empty{color:var(--muted);font-size:13px;line-height:1.7;padding:26px 22px;margin:0}.sms-footer{margin-top:auto;border-top:1px solid var(--line);padding:15px 22px;font-size:10px;color:var(--muted);flex-shrink:0}@media(max-width:999px){.sms-panel{position:absolute;right:0;top:0;bottom:0;width:min(380px,100%);z-index:5;box-shadow:-12px 0 32px #0000000a}}@media(max-width:600px){.header-actions{gap:2px}.brand{gap:7px}.brand strong{font-size:12px}.quiet{padding:8px 6px}}

#login-code{font-size:24px;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}#code-button{margin-top:12px}
.install-login{display:block;margin:24px auto 0}#install-help{max-width:400px;width:calc(100% - 40px);max-height:calc(100dvh - 40px);overflow:auto;background:var(--bg);color:var(--fg);border:1px solid var(--line);border-radius:18px;padding:28px}#install-help::backdrop{background:#0006}#install-help h2{font-size:20px;letter-spacing:-.4px;margin:0 0 22px}#install-help p{font-size:13px;line-height:1.65;margin-bottom:20px}#install-help strong{font-weight:600}
header{padding-top:max(16px,env(safe-area-inset-top));padding-left:max(24px,env(safe-area-inset-left));padding-right:max(24px,env(safe-area-inset-right))}.login-view{padding-top:max(30px,env(safe-area-inset-top));padding-bottom:max(30px,env(safe-area-inset-bottom))}@media(max-width:600px){header{padding-top:max(14px,env(safe-area-inset-top));padding-left:max(17px,env(safe-area-inset-left));padding-right:max(17px,env(safe-area-inset-right));flex-wrap:wrap;gap:8px}.header-actions{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.chat-body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}}
.dictate{display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;flex-shrink:0;border:0;border-radius:50%;background:transparent;color:var(--fg)}.dictate:hover{background:var(--soft)}.dictation-panel{display:flex;align-items:center;gap:12px;padding:9px 12px;margin-bottom:10px;border:1px solid var(--line);border-radius:16px;background:var(--soft);font-size:13px}.dictation-panel>.quiet{font-size:23px;line-height:1;padding:6px 9px;color:var(--fg)}#dictation-status{flex:1}.dictation-panel.recording #dictation-status:before{content:'';display:inline-block;width:7px;height:7px;margin-right:9px;border-radius:50%;background:#c54b3f;animation:pulse 1.5s infinite}#dictation-time{font-variant-numeric:tabular-nums;color:var(--muted);font-size:12px}.dictation-finish{width:34px;height:34px;border:0;border-radius:50%;background:var(--button);color:var(--on-button);font-size:18px}
