:root{color-scheme:light dark;--bg:#f7f7f5;--panel:#fff;--text:#252624;--muted:#767972;--line:#e3e5df;--soft:#eeefeb;--accent:#245e4e;--error:#a42f2f;--preview-height:50%;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:15px}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text)}body{height:100dvh}button,input,textarea{font:inherit;color:inherit}button{border:0;background:transparent;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent}button:disabled{opacity:.4;cursor:default}button:focus-visible,input:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button,input,textarea{border-radius:8px}button{min-height:44px}input,textarea{font-size:16px}input{width:100%;border:1px solid var(--line);padding:13px 12px;background:var(--panel);min-height:49px}textarea{background:none;border:0;resize:none;padding:12px 2px;max-height:140px;line-height:1.4;min-width:0;width:100%}[hidden]{display:none!important}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.icon{display:grid;place-items:center;width:44px;min-width:44px;height:44px;font-size:26px;border-radius:8px}.icon:active,button:active{background:var(--soft)}.error{font-size:13px;color:var(--error);margin:0;overflow-wrap:anywhere}.error:empty{display:none}.primary{background:var(--text);color:var(--panel);width:100%;padding:12px}.primary:active{opacity:.8;background:var(--text)}
#login{height:100%;display:flex;align-items:center;padding:24px;padding-bottom:max(24px,env(safe-area-inset-bottom))}#login-form{width:100%;max-width:360px;margin:auto}#login label{display:block;font-size:13px;margin:0 0 8px;color:var(--muted)}#login input{margin-bottom:22px}#login-error{margin:0 0 14px}#code{font-size:28px;letter-spacing:.28em;font-variant-numeric:tabular-nums}#login-actions{display:flex;justify-content:space-between;margin-top:10px;font-size:12px;color:var(--muted)}#email:read-only{background:none;border-color:transparent;padding-left:0;margin-bottom:14px;font-size:14px;color:var(--muted)}
#private{height:100%;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.topbar{height:53px;min-height:53px;border-bottom:1px solid var(--line);display:flex;align-items:center;position:relative;padding:0 5px;gap:2px;background:var(--bg);z-index:3}#tabs{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1;min-width:0;height:100%}#tabs::-webkit-scrollbar{display:none}#tabs button{flex:none;max-width:170px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 13px;color:var(--muted);font-size:13px;min-height:36px}#tabs button[aria-selected=true]{color:var(--text);background:var(--soft)}#account{position:absolute;right:8px;top:49px;border:1px solid var(--line);border-radius:12px;background:var(--panel);padding:12px;box-shadow:0 8px 24px #00000012;min-width:220px;max-width:calc(100vw - 16px)}#account-email{display:block;font-size:13px;padding:8px 8px 12px;overflow-wrap:anywhere}#logout{width:100%;text-align:left;padding:0 8px;border-top:1px solid var(--line);border-radius:0;font-size:13px}
#workspace{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}#conversation{display:flex;flex-direction:column;min-height:0;flex:1}#messages{overflow:auto;overscroll-behavior:contain;flex:1;min-height:0;padding:20px 16px 8px;scrollbar-width:thin;overflow-anchor:none}.message{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;font-size:14px;margin:0 0 22px}.message.user{background:var(--soft);border-radius:12px;padding:11px 13px;margin-left:22px}.message.assistant{padding-right:4px}.message.error{color:var(--error)}.message.tool{color:var(--muted);font:12px/1.5 ui-monospace,Consolas,monospace;margin-bottom:10px}.message.tool summary{cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.message pre{margin:12px 0;padding:12px;border-radius:8px;overflow:auto;background:var(--soft);white-space:pre;font:12px/1.5 ui-monospace,Consolas,monospace;max-width:100%}.message code{font:12px/1.5 ui-monospace,Consolas,monospace;background:var(--soft);padding:2px 4px;border-radius:3px}.message .local-link{display:inline;padding:0;min-height:0;font:inherit;color:var(--accent);text-decoration:underline;text-underline-offset:3px;text-align:left;overflow-wrap:anywhere}.message strong{font-weight:600}.message.assistant[data-streaming=true]::after{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--muted);margin-left:5px;animation:breathe 1.2s infinite}#app-error{padding:6px 16px}#composer{display:flex;align-items:flex-end;margin:0 10px;padding:3px 0 max(8px,env(safe-area-inset-bottom));gap:4px;border-top:1px solid var(--line)}#send{background:var(--text);color:var(--panel);margin:3px 0 0;height:38px;min-height:38px;width:38px;min-width:38px;border-radius:50%}#interrupt{width:36px;min-width:36px}.stop-square{width:12px;height:12px;background:currentColor;border-radius:2px}.connection{width:5px;min-width:5px;height:5px;border-radius:50%;background:var(--muted);margin:20px 4px 17px 1px}.connection[data-status=connected]{background:var(--accent)}.connection[data-status=connecting]{animation:breathe 1.2s infinite}.connection[data-status=offline]{background:var(--error)}#requests:not(:empty){max-height:38%;overflow:auto;padding:12px 16px;border-top:1px solid var(--line)}.request{font-size:13px}.request+.request{border-top:1px solid var(--line);margin-top:12px}.request p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 8px}.request label{display:block;margin:8px 0}.request input{font-size:14px}.request button{padding:8px 14px;background:var(--soft);margin:6px 6px 0 0}.request .primary{background:var(--text);margin-top:10px}
#divider{height:12px;min-height:12px;cursor:row-resize;touch-action:none;position:relative;border-top:1px solid var(--line);background:var(--bg)}#divider:after{content:"";display:block;width:32px;height:3px;border-radius:2px;background:var(--line);margin:4px auto}#preview{display:flex;flex-direction:column;height:var(--preview-height);min-height:100px;background:var(--panel)}#preview header{display:flex;align-items:center;border-bottom:1px solid var(--line);padding-left:12px;height:35px;min-height:35px}#preview-path{font:10px ui-monospace,Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;direction:rtl;text-align:left;flex:1;color:var(--muted)}#preview-close{height:34px;min-height:34px;font-size:22px}#preview-frame{display:block;width:100%;height:100%;flex:1;min-height:0;border:0;background:#fff}body.resizing iframe{pointer-events:none}
.request pre{font:11px/1.5 ui-monospace,Consolas,monospace;white-space:pre-wrap;overflow-wrap:anywhere;max-height:160px;overflow:auto;background:var(--soft);padding:8px;border-radius:6px}
.media-gallery{display:grid;gap:10px;margin:10px 0;white-space:normal}.conversation-media{margin:0;min-width:0}.conversation-media img,.conversation-media video{display:block;width:auto;max-width:100%;max-height:360px;border-radius:8px;object-fit:contain;background:var(--soft)}.conversation-media video{width:100%}.media-open{display:block;min-height:0;padding:0;max-width:100%;border-radius:8px}.conversation-media figcaption{font:10px/1.5 system-ui,sans-serif;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.media-error{font-size:12px;color:var(--muted)}#media-viewer{padding:0;border:1px solid var(--line);border-radius:10px;background:var(--panel);color:var(--text);width:calc(100vw - 16px);max-width:100vw;height:calc(100dvh - 24px);max-height:100dvh;overflow:hidden}#media-viewer::backdrop{background:#000b}#media-viewer[open]{display:flex;flex-direction:column}#media-viewer header{display:flex;align-items:center;min-height:44px;padding-left:12px;gap:8px;border-bottom:1px solid var(--line)}#media-title{font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.media-viewport{flex:1;min-height:0;overflow:auto;display:grid;place-items:center;padding:8px}#media-image{display:block;max-width:100%;max-height:100%;object-fit:contain;cursor:zoom-in}#media-image.zoomed{max-width:none;max-height:none;cursor:zoom-out;justify-self:start;align-self:start}
.message.tool,.message.reasoning{color:var(--muted);font:12px/1.5 system-ui,sans-serif;border:1px solid var(--line);border-radius:8px;padding:0 10px;margin-bottom:8px}.message.tool summary,.message.reasoning summary{display:flex;align-items:center;gap:8px;min-height:42px;cursor:pointer;list-style:none;white-space:normal}.message summary::-webkit-details-marker{display:none}.message summary::before{content:'›';font-size:18px;flex:none}.message details[open] summary::before{transform:rotate(90deg)}.activity-title{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.activity-state{flex:none;font-size:10px}.message[data-status=inProgress] .activity-state{color:var(--accent)}.message[data-status=inProgress] .activity-state::before{content:'';display:inline-block;width:5px;height:5px;border-radius:50%;background:currentColor;margin-right:5px;animation:breathe 1.2s infinite}.message[data-status=failed] .activity-state,.message[data-status=declined] .activity-state{color:var(--error)}.activity-meta{font-size:10px;overflow-wrap:anywhere}.message.reasoning pre{white-space:pre-wrap}.message.tool pre,.message.reasoning pre{max-height:260px;margin:8px 0;font-size:11px}.message .tool-output{border-left:2px solid var(--line)}#activity{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:12px;color:var(--muted);min-height:32px;flex:none}#activity::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;flex:none;animation:breathe 1.2s infinite}#activity[data-kind=waiting]::before{animation:none}
@keyframes breathe{50%{opacity:.3}}@media(prefers-reduced-motion:reduce){*{animation:none!important;scroll-behavior:auto!important}}@media(prefers-color-scheme:dark){:root{--bg:#191b19;--panel:#20231f;--text:#e7ebe4;--muted:#91998d;--line:#33392f;--soft:#272c24;--accent:#98c8af;--error:#eda5a5}}
