@font-face{font-family:Inter;src:url('/fonts/inter-latin.woff2') format('woff2');font-weight:var(--type-regular) 900;font-display:swap}*{box-sizing:border-box} :root{font-family:Inter,Arial,sans-serif;color-scheme:light;--bg:#f3f4f6;--panel:#e9ebee;--ink:#15171a;--muted:#686d75;--line:#cdd0d5;--tint:#e1e4e8;--signal:#e0351f;--white:#fff} :root[data-theme=dark]{color-scheme:dark;--bg:#17181b;--panel:#202226;--ink:#e6e8eb;--muted:#a3a7af;--line:#393c41;--tint:#2b2e33;--signal:#ff5a45;--white:#202226}body{margin:0;background:var(--bg);color:var(--ink);font-size:var(--type-ui-size);line-height:var(--type-ui-line)}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--line);padding:10px 13px;text-align:left;transition:background .15s}button:hover{background:var(--tint)}button:disabled{opacity:.45;cursor:wait}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid var(--signal);outline-offset:3px}input,textarea,select{background:var(--bg);border:1px solid var(--line);padding:12px;width:100%;border-radius:0}textarea{resize:vertical;min-height:80px;max-height:260px;line-height:1.5}label{display:block;font-size:var(--type-ui-size);margin-bottom:8px;line-height:var(--type-ui-line)}.primary{background:var(--ink);color:var(--bg);border-color:var(--ink)}.primary:hover{background:var(--signal);border-color:var(--signal);color:white}.signal{color:var(--signal)}.muted{color:var(--muted)}.small{font-size:var(--type-support-size);line-height:var(--type-support-line)}.eyebrow,.section-label{font-size:var(--type-meta-size);letter-spacing:.08em;color:var(--muted);line-height:var(--type-meta-line)}[hidden]{display:none!important}.app{height:100dvh;display:grid;grid-template-columns:230px minmax(0,1fr);overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--line);padding:28px 18px 16px;display:flex;flex-direction:column;min-height:0}.brand{font-size:26px;line-height:1.02;font-weight:var(--type-semibold);letter-spacing:-1.4px;position:relative;margin-bottom:34px}.brand>.signal{position:absolute;right:4px;top:-4px;font-size:32px;font-weight:var(--type-regular)}.new-thread{display:flex;justify-content:space-between;width:100%;margin-bottom:24px}#thread-list{overflow:auto;flex:1;margin:0 -8px}.group-label{padding:18px 10px 9px;color:var(--muted);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.thread-item{border:0;width:100%;display:block;padding:12px 10px;position:relative}.thread-item.active{background:var(--tint);border-left:2px solid var(--signal);padding-left:8px}.thread-item strong{display:block;font-size:var(--type-ui-size);font-weight:var(--type-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding-right:10px;line-height:var(--type-ui-line)}.thread-item small{font-size:var(--type-meta-size);color:var(--muted);display:block;margin-top:5px;line-height:var(--type-meta-line)}.unread-dot{width:5px;height:5px;border-radius:50%;background:var(--signal);position:absolute;right:9px;top:18px}.sidebar-bottom{padding-top:14px;border-top:1px solid var(--line)}.sidebar-bottom>button{border:0;width:100%;padding:9px 0;display:flex;align-items:center;gap:8px;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.sidebar-bottom>button span:last-child{margin-left:auto}.status-dot{height:6px;width:6px;display:inline-block;border-radius:50%;background:var(--signal)}.bottom-row{display:flex;justify-content:space-between;margin-top:14px}.bottom-row button{border:0;padding:0;font-size:var(--type-ui-size);color:var(--muted);line-height:var(--type-ui-line)}.workspace{min-width:0;min-height:0;display:flex;flex-direction:column}.thread-header{height:100px;flex-shrink:0;border-bottom:1px solid var(--line);padding:22px 28px;display:flex;align-items:center;gap:14px}.thread-heading{flex:1;min-width:0}.thread-header h1{font-size:var(--type-ui-size);letter-spacing:-.6px;font-weight:var(--type-medium);margin:7px 0 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:var(--type-ui-line)}.badge{text-transform:capitalize;font-size:var(--type-meta-size);padding:5px 7px;border:1px solid var(--line);line-height:var(--type-meta-line)}.icon{border:0;font-size:23px;padding:5px 8px}.thread-content{display:grid;grid-template-columns:minmax(310px,43%) minmax(0,57%);flex:1;min-height:0}.conversation{display:flex;flex-direction:column;border-right:1px solid var(--line);min-height:0}.section-label{display:flex;justify-content:space-between;gap:10px;padding:20px 22px;border-bottom:1px solid var(--line);flex-shrink:0}.section-label span:last-child{letter-spacing:0}.messages{overflow:auto;flex:1;padding:24px 22px 12px;min-height:100px;scroll-behavior:smooth}.message{padding-bottom:26px}.message-head{display:flex;gap:10px;align-items:center;margin-bottom:9px;font-size:var(--type-support-size);line-height:var(--type-support-line)}.message-head strong{text-transform:uppercase;letter-spacing:.05em;font-weight:var(--type-semibold)}.message-head time{color:var(--muted);font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.message.agent .message-head strong{color:var(--signal)}.message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;font-size:var(--type-body-size);line-height:var(--type-body-line)}.message.system{color:var(--muted);border-left:2px solid var(--line);padding:0 0 0 12px;margin-bottom:24px}.composer{border-top:1px solid var(--line);padding:16px 20px 12px}.composer textarea{border:0;padding:0;background:transparent;font-size:var(--type-body-size);line-height:var(--type-body-line)}.compose-tools{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:10px}.compose-tools button{font-size:var(--type-ui-size);padding:8px 10px;line-height:var(--type-ui-line)}.compose-tools>button,#send{border:0}.compose-tools>div{display:flex;gap:7px}.composer p{margin:12px 0 0;font-size:var(--type-support-size);line-height:var(--type-support-line)}.observer-note{padding:18px 22px;border-top:1px solid var(--line);color:var(--muted);font-size:var(--type-support-size);margin:0;line-height:var(--type-support-line)}.surface-pane{display:flex;flex-direction:column;min-height:0;background:var(--panel)}.surface-pane .section-label{background:var(--bg)}.surface-empty,.welcome{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px;color:var(--muted)}.surface-empty h2{font-size:var(--type-section-size);letter-spacing:-.5px;color:var(--ink);margin:25px 0 12px;line-height:var(--type-section-line);font-weight:var(--type-semibold)}.surface-empty p,.welcome p{font-size:var(--type-support-size);line-height:var(--type-support-line)}.outline-mark{font-size:55px;color:var(--line)}#surface{border:0;flex:1;width:100%;background:var(--white)}.surface-footer{display:flex;justify-content:space-between;gap:12px;font-size:var(--type-meta-size);color:var(--muted);padding:13px 20px;border-top:1px solid var(--line);line-height:var(--type-meta-line)}.welcome h2{font-size:var(--type-display-size);color:var(--ink);letter-spacing:-1.5px;margin:16px 0 0;line-height:var(--type-display-line);font-weight:var(--type-semibold)}.welcome button{margin-top:20px;min-width:200px;display:flex;justify-content:space-between}.large{font-size:58px}.queue{border-top:1px solid var(--line);padding:10px 20px;display:flex;justify-content:space-between;align-items:center;font-size:var(--type-meta-size);background:var(--panel);line-height:var(--type-meta-line)}.queue button{padding:5px 8px;font-size:var(--type-ui-size);color:var(--signal);line-height:var(--type-ui-line)}.attachments{display:flex;flex-wrap:wrap;gap:6px;padding:0 20px;max-height:100px;overflow:auto}.attachments:not(:empty){padding-bottom:14px}.attachments button{font-size:var(--type-ui-size);padding:7px 9px;max-width:100%;overflow:hidden;text-overflow:ellipsis;line-height:var(--type-ui-line)}.invitations:empty{display:none}.invitations{max-height:190px;overflow:auto;border-top:1px solid var(--line);padding:12px 0}.invitation{font-size:var(--type-support-size);padding:8px 0;line-height:var(--type-support-line)}.invitation button{padding:5px 8px;font-size:var(--type-ui-size);margin-top:5px;line-height:var(--type-ui-line)}.login{min-height:100dvh;display:flex;flex-direction:column;padding:32px 6vw}.login-brand{font-size:22px;letter-spacing:-1px;display:flex;justify-content:space-between}.login-card{width:100%;max-width:420px;margin:auto;padding:60px 0}.login h1{font-size:58px;line-height:1.04;letter-spacing:-3.6px;font-weight:500;margin:22px 0}.login-card>p{font-size:14px;line-height:1.7;color:var(--muted);margin-bottom:30px}.auth-buttons{display:grid;gap:10px}.auth-buttons button,#email-form button{display:flex;justify-content:space-between;padding:14px;width:100%}.divider{font-size:var(--type-support-size);color:var(--muted);text-align:center;margin:24px 0;line-height:var(--type-support-line)}#email-form button{margin-top:12px}.login footer{font-size:var(--type-support-size);color:var(--muted);line-height:var(--type-support-line)}.center-state{min-height:100dvh;display:grid;place-content:center;color:var(--muted)}#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:14px 20px;font-size:var(--type-support-size);z-index:20;max-width:90vw;box-shadow:0 6px 24px #0002;line-height:var(--type-support-line)}dialog{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:24px;max-width:500px;width:calc(100% - 32px);max-height:85dvh}dialog::backdrop{background:#0006}.dialog-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px}.dialog-head h2{font-size:var(--type-dialog-size);letter-spacing:-.6px;margin:0;line-height:var(--type-dialog-line);font-weight:var(--type-semibold)}dialog p{font-size:var(--type-support-size);color:var(--muted);line-height:var(--type-support-line)}dialog form{display:grid;gap:12px}dialog form label{margin:0}dialog hr{border:0;border-top:1px solid var(--line);margin:20px 0}.person{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}.person span{font-size:var(--type-support-size);overflow-wrap:anywhere;line-height:var(--type-support-line)}.person small{display:block;color:var(--muted);margin-top:4px}.person select{width:125px;font-size:var(--type-ui-size);padding:8px;line-height:var(--type-ui-line)}.dialog-error{color:var(--signal)!important}.mobile{display:none}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}@media(min-width:1600px){.app{grid-template-columns:260px minmax(0,1fr)}.thread-content{grid-template-columns:minmax(380px,40%) 1fr}.messages{padding:30px}.message p{font-size:var(--type-body-size);line-height:var(--type-body-line)}}@media(max-width:1000px){.app{grid-template-columns:190px minmax(0,1fr)}.sidebar{padding:25px 12px 16px}.thread-content{grid-template-columns:minmax(280px,48%) 1fr}.thread-header{padding:20px}.surface-footer span{display:none}.section-label{padding:16px}.messages{padding:22px 16px}.composer{padding:14px}.compose-tools{gap:2px}.compose-tools button{padding:7px}.badge{display:none}}@media(max-width:760px){.app{display:block;overflow:auto;height:100dvh}.sidebar{position:fixed;inset:0 auto 0 0;width:260px;z-index:5;box-shadow:10px 0 40px #0003;transform:translateX(-110%);transition:transform .2s}.app.nav-open .sidebar{transform:translateX(0)}.mobile{display:block}.workspace{min-height:100dvh}.thread-header{height:82px;padding:15px 12px;gap:8px;position:sticky;top:0;background:var(--bg);z-index:2}.thread-header h1{font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.thread-header #share{font-size:var(--type-support-size);padding:8px;line-height:var(--type-support-line)}.thread-heading .eyebrow{font-size:var(--type-meta-size);line-height:var(--type-meta-line)}.thread-content{display:flex;flex-direction:column}.conversation{height:calc(100dvh - 82px);min-height:480px;border-right:0}.surface-pane{height:75dvh;min-height:420px;border-top:1px solid var(--line)}.welcome{min-height:calc(100dvh - 82px)}.welcome h2{font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:var(--type-semibold)}.login h1{font-size:49px}.login{padding:24px}.surface-footer span{display:block}}
.agent-settings-dialog{max-width:820px}.agent-summary{min-height:20px}.agent-providers{border-top:1px solid var(--line);margin-top:20px}.agent-provider-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 0;border-bottom:1px solid var(--line)}.agent-provider-row strong{font-size:var(--type-support-size);font-weight:var(--type-medium);line-height:var(--type-support-line)}.agent-provider-row span{display:block;margin-top:5px}.agent-provider-row button{font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.agent-login-panel{margin-top:22px}.agent-login-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:var(--type-support-size);line-height:var(--type-support-line)}.agent-login-heading button{font-size:var(--type-ui-size);padding:7px 10px;line-height:var(--type-ui-line)}.agent-login-terminal{height:330px;background:#17181b;padding:12px 8px;overflow:hidden;border:1px solid var(--line);text-align:left}.agent-login-terminal .xterm{height:100%}.agent-login-terminal .xterm-helper-textarea{min-height:0;max-height:none;padding:0;border:0;outline:0}@media(max-width:760px){.agent-settings-dialog{padding:18px}.agent-login-terminal{height:300px}}
/* Workspace shell: quiet surfaces and controls that leave room for the work. */
:root{--bg:#fafaf9;--panel:#f2f2f0;--ink:#252624;--muted:#747570;--line:#e2e3df;--tint:#e8e9e5;--signal:#64795c;--white:#fff}
:root[data-theme=dark]{--bg:#1c1d1c;--panel:#171817;--ink:#ededeb;--muted:#969991;--line:#30322f;--tint:#2c2e2a;--signal:#a5bb96;--white:#20221f}
button,input,select{border-radius:7px}button{transition:background .15s,color .15s,opacity .15s}button svg,[data-icon] svg{width:18px;height:18px;display:block;flex:none}button{display:inline-flex;align-items:center;gap:8px}.icon{width:32px;height:32px;padding:7px;justify-content:center;color:var(--muted);flex:none}.primary{border-radius:8px;padding:10px 14px}.primary:hover{background:var(--muted);border-color:var(--muted)}.app{grid-template-columns:220px minmax(0,1fr);transition:grid-template-columns .2s ease}.sidebar{padding:12px;overflow:hidden;gap:0;transition:opacity .16s}.sidebar-top{height:40px;display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.brand{display:flex;align-items:center;gap:8px;margin:0;color:var(--ink);text-decoration:none;font-size:19px;letter-spacing:-.8px;font-weight:var(--type-semibold)}.brand-mark{display:grid;place-items:center;width:24px;height:24px;border-radius:7px;background:var(--ink);color:var(--bg);font-size:19px;font-weight:var(--type-medium)}.new-thread{margin-bottom:14px;border:1px solid var(--line);background:var(--bg);justify-content:flex-start;font-size:var(--type-ui-size);padding:9px 10px;line-height:var(--type-ui-line)}#thread-list{margin:0;scrollbar-width:thin}.group-label{padding:17px 9px 7px;font-size:var(--type-meta-size);font-weight:var(--type-medium);line-height:var(--type-meta-line)}.thread-item{border-radius:6px;padding:9px 10px;margin-bottom:2px}.thread-item.active{border:0;padding-left:10px;background:var(--tint)}.thread-item strong{font-weight:var(--type-regular);font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.thread-item small:empty{display:none}.thread-item small{font-size:var(--type-meta-size);margin-top:4px;line-height:var(--type-meta-line)}.sidebar-bottom{margin-top:12px;padding-top:10px}.agent-row{display:flex;align-items:center;gap:2px}.agent-row #setup{border:0;padding:7px 4px;flex:1;min-width:0;gap:9px}.agent-row .icon{width:28px;padding:6px;opacity:.6}.agent-row:hover .icon{opacity:1}.computer-identity{min-width:0;display:flex;flex-direction:column;text-align:left;gap:3px}.computer-identity strong{font-size:var(--type-ui-size);font-weight:var(--type-medium);text-overflow:ellipsis;overflow:hidden;white-space:nowrap;line-height:var(--type-ui-line)}.computer-identity small{font-size:var(--type-support-size);color:var(--muted);line-height:var(--type-support-line)}.shell-avatar{display:block;width:28px;height:28px;flex:none;border-radius:50%;background:radial-gradient(ellipse at 20% 20%,#df975c 12%,transparent 62%),radial-gradient(ellipse at 80% 20%,#bc638b 10%,transparent 60%),linear-gradient(160deg,#527cc2,#596692);box-shadow:inset 0 0 0 1px #ffffff20}.sidebar-bottom>#account{padding:10px 5px;gap:9px;color:var(--muted)}#account-name{margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bottom-row{margin-top:6px;align-items:center;padding:0 5px}.bottom-row button{padding:6px 0;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.bottom-row svg{width:15px;height:15px}.thread-header{height:58px;padding:0 20px;gap:10px}.thread-header h1{font-size:var(--type-ui-size);letter-spacing:-.2px;font-weight:var(--type-medium);margin:0;line-height:var(--type-ui-line)}.thread-heading .eyebrow{display:none}.thread-header .quiet-button{font-size:var(--type-ui-size);padding:6px 9px;border-color:transparent;color:var(--muted);line-height:var(--type-ui-line)}.badge{border:0;background:var(--panel);padding:4px 7px;border-radius:5px}.thread-header #delete{width:28px;opacity:.65}.thread-content{grid-template-columns:minmax(340px,1fr) minmax(300px,1fr)}.thread-content.surface-hidden{grid-template-columns:minmax(0,1fr)}.surface-hidden .surface-pane{display:none}.surface-hidden .conversation{border-right:0}.conversation{min-width:0}.section-label{padding:8px 12px;font-size:var(--type-ui-size);letter-spacing:0;align-items:center;height:44px;line-height:var(--type-ui-line)}.section-label>span:first-child{display:flex;align-items:center;gap:7px;color:var(--ink)}.section-label>span:nth-child(2){margin-left:auto;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.surface-pane{background:var(--panel)}.surface-empty{padding:24px}.surface-empty>span svg{width:30px;height:30px;opacity:.4}.surface-empty h2{font-size:var(--type-section-size);margin:14px 0 4px;line-height:var(--type-section-line);font-weight:var(--type-semibold)}.surface-empty p{font-size:var(--type-support-size);margin:0;line-height:var(--type-support-line)}.welcome{padding:30px;min-height:0}.welcome-avatar{width:56px;height:56px;margin-bottom:8px}.welcome h2{font-size:var(--type-display-size);letter-spacing:-.8px;margin-top:16px;line-height:var(--type-display-line);font-weight:var(--type-semibold)}.welcome p{font-size:var(--type-support-size);margin:10px 0;line-height:var(--type-support-line)}.welcome button{min-width:0;justify-content:center;font-size:var(--type-ui-size);margin-top:15px;line-height:var(--type-ui-line)}.nav-backdrop{display:none}.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}.sidebar-collapsed .sidebar{padding:0;opacity:0;visibility:hidden}.app:not(.sidebar-collapsed) .thread-header #menu{display:none}dialog{border-radius:12px;box-shadow:0 24px 80px #0003}dialog[open]{animation:enter .15s ease-out}.dialog-head h2{font-size:var(--type-dialog-size);line-height:var(--type-dialog-line);font-weight:var(--type-semibold)}.dialog-head{margin-bottom:18px}#toast{border-radius:9px;animation:enter .16s ease-out}.login-card .primary{justify-content:space-between}.login footer{opacity:.6}@keyframes enter{from{opacity:0;translate:0 4px}to{opacity:1;translate:0 0}}
@media(min-width:1600px){.app{grid-template-columns:240px minmax(0,1fr)}.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}}
@media(max-width:1000px) and (min-width:761px){.thread-content{grid-template-columns:minmax(300px,1fr) minmax(260px,1fr)}.app{grid-template-columns:200px minmax(0,1fr)}.thread-header{padding:0 12px}}
@media(max-width:760px){.app,.app.sidebar-collapsed{display:block;height:100dvh;overflow:hidden}.sidebar,.sidebar-collapsed .sidebar{padding:12px;opacity:1;visibility:visible;width:260px;z-index:5}.app:not(.sidebar-collapsed) .thread-header #menu{display:inline-flex}.nav-open .nav-backdrop{display:block;position:fixed;inset:0;background:#0005;border:0;border-radius:0;z-index:4}.workspace{height:100dvh;min-height:0}.thread-header{height:54px;position:static;padding:0 10px;gap:5px}.thread-header h1{font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.thread-header #share{padding:6px;font-size:0;gap:0}.thread-header #share svg{width:18px}.thread-content{display:flex;position:relative;min-height:0;flex:1}.conversation{height:auto;min-height:0;flex:1;border:0}.surface-pane{position:absolute;inset:0;z-index:2;height:auto;min-height:0;border:0;background:var(--bg)}.welcome{min-height:0}.welcome h2{font-size:var(--type-display-size);line-height:var(--type-display-line);font-weight:var(--type-semibold)}.section-label{height:44px}.thread-header .badge{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.shell-avatar{background-size:140% 140%;background-position:35% 45%}html:not(.dark) .shell-avatar{filter:brightness(1.2)}.computer-identity strong,.computer-identity small{text-align:left}

/* Match Cube Computer's source blur: keep dialogs sharp and avoid animating
   filtered terminals/iframes, which can leave compositing trails. */
body:has(#dialog[open]) #app{filter:blur(12px);pointer-events:none}
dialog{max-width:400px;padding:22px;border-radius:14px;box-shadow:0 20px 80px #0003;overflow:auto;overscroll-behavior:contain}
dialog::backdrop{background:rgb(20 22 20 / 20%)}
:root[data-theme=dark] dialog::backdrop{background:rgb(0 0 0 / 35%)}
dialog[data-size=sharing]{max-width:480px}
dialog.agent-settings-dialog{max-width:560px}
dialog.agent-settings-dialog:has(.agent-login-panel:not([hidden])){max-width:760px}
.dialog-head{margin-bottom:20px;gap:16px}.dialog-head h2{font-size:var(--type-dialog-size);letter-spacing:-.35px;line-height:var(--type-dialog-line);font-weight:var(--type-semibold)}.dialog-head .icon{margin:-5px -5px -5px 0}
dialog form{gap:9px}dialog input,dialog select{padding:10px 12px;font-size:var(--type-body-size);line-height:var(--type-body-line)}dialog label{font-size:var(--type-ui-size);font-weight:var(--type-medium);line-height:var(--type-ui-line)}dialog p{overflow-wrap:anywhere}dialog form>p{margin:3px 0 8px;line-height:1.6}
.dialog-actions{display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-top:14px}.dialog-actions button{font-size:var(--type-ui-size);justify-content:center;min-height:36px;padding:8px 12px;line-height:var(--type-ui-line)}.dialog-actions button:not(.primary):not(.danger){border-color:transparent;color:var(--muted)}
button.danger{background:#c53d35;border-color:#c53d35;color:#fff}button.danger:hover{background:#a9312a;border-color:#a9312a}
.dialog-error{background:color-mix(in srgb,#c53d35 8%,var(--bg));border-radius:7px;padding:10px 12px;color:#b53c32!important;margin:8px 0 0}:root[data-theme=dark] .dialog-error{color:#ffada5!important}
.account-display-name{font-size:var(--type-ui-size);color:var(--ink);margin:0 0 4px;font-weight:var(--type-medium);line-height:var(--type-ui-line)}.account-email{margin:0 0 20px}
.person>span{min-width:0;flex:1}.person select{flex:none}.person:last-child{border-bottom:0}.person>small{text-transform:capitalize;color:var(--muted)}
.agent-provider-row{padding:14px 0}.agent-providers{margin-top:16px}.agent-provider-row button{white-space:nowrap}.agent-login-terminal{border-radius:8px}.agent-summary:empty{display:none}
#toast{z-index:20}dialog[open]~#toast{z-index:30}
#toast .toast-action{margin-left:14px;padding:2px 0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit;text-decoration:underline;text-underline-offset:3px}
.notification-prompt{position:fixed;z-index:19;top:calc(env(safe-area-inset-top,0px) + 64px);right:16px;width:min(360px,calc(100% - 32px));padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--panel);color:var(--ink);box-shadow:0 8px 32px #0003;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}
.notification-prompt p{margin:0 0 12px;font-size:var(--type-support-size);line-height:var(--type-support-line)}.notification-prompt-actions{display:flex;gap:8px;flex-wrap:wrap}.notification-prompt-actions button{font:inherit;padding:8px 12px;min-height:40px;border-radius:10px}.notification-prompt-actions button:last-child{border-color:transparent;color:var(--muted)}
@media(max-width:760px){dialog{width:calc(100% - 32px);max-height:calc(100dvh - 32px);padding:20px}.dialog-actions button{min-height:40px}dialog input,dialog select{font-size:var(--type-body-size);line-height:var(--type-body-line)}.dialog-head .icon{width:36px;height:36px}.person{gap:8px}.person select{width:118px}.sidebar .icon,.thread-header .icon{min-width:36px;min-height:36px}.agent-provider-row{gap:8px}.agent-provider-row button{padding:9px;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}}

/* Clip a fixed-width navigation interior so collapsing never reflows its text. */
.app{grid-template-columns:var(--sidebar-width,220px) minmax(0,1fr)}
.sidebar,.sidebar-collapsed .sidebar{padding:0;position:relative;opacity:1;visibility:visible;overflow:hidden;transition:none}
.sidebar-inner{width:var(--sidebar-width,220px);height:100%;padding:12px;display:flex;flex-direction:column;min-height:0;flex:none}
.sidebar-collapsed .sidebar-inner{pointer-events:none}
#sidebar-resize{position:absolute;right:0;top:0;bottom:0;width:6px;cursor:col-resize;touch-action:none;z-index:3;outline-offset:-2px}
#sidebar-resize::after{content:'';position:absolute;right:0;top:0;bottom:0;width:2px;background:var(--signal);opacity:0;transition:opacity .15s}
#sidebar-resize:hover::after,#sidebar-resize:focus-visible::after,.sidebar-resizing #sidebar-resize::after{opacity:.7}
.sidebar-resizing{transition:none;user-select:none;cursor:col-resize}
.app.sidebar-collapsed{grid-template-columns:0 minmax(0,1fr)}
@media(min-width:761px){.app.sidebar-collapsed .sidebar{border-right:0}}
@media(max-width:760px){.sidebar,.sidebar-collapsed .sidebar{position:fixed;width:min(360px,calc(100% - 48px));padding:0;transition:transform .2s}.sidebar-inner{width:100%}.sidebar-collapsed .sidebar-inner{pointer-events:auto}.nav-open .nav-backdrop{background:#0004;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}#sidebar-resize{display:none}}

.thread-persona{border:0;padding:4px 7px;font-size:var(--type-support-size);gap:7px;max-width:160px;color:var(--muted);line-height:var(--type-support-line)}.thread-persona .shell-avatar{width:21px;height:21px}.thread-persona #agent-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-persona:disabled{opacity:1;cursor:default}
.thread-item{padding-left:34px}.thread-item.active{padding-left:34px}.thread-avatar{position:absolute;width:16px;height:16px;left:9px;top:9px}.agent-row #setup>[data-icon]{color:var(--muted);padding:4px}
/* Persona theme: slender, transparent scroll tracks across app-owned surfaces. */
:where(*){scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--muted) 35%,transparent) transparent;scrollbar-gutter:auto}
:where(*)::-webkit-scrollbar{width:6px;height:6px}:where(*)::-webkit-scrollbar-track,:where(*)::-webkit-scrollbar-corner{background:transparent}:where(*)::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 35%,transparent);border-radius:8px}:where(*):hover::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--muted) 55%,transparent)}
@media(max-width:760px){.thread-persona{padding:5px}.thread-persona #agent-name{display:none}}
/* Neutral chrome; color belongs to each thread's persona. */
:root{--bg:#fafafa;--panel:#f2f2f2;--ink:#252525;--muted:#727272;--line:#e2e2e2;--tint:#e9e9e9;--signal:#626262;--white:#fff}
:root[data-theme=dark]{--bg:#1c1c1c;--panel:#171717;--ink:#ededed;--muted:#999;--line:#303030;--tint:#2c2c2c;--signal:#b7b7b7;--white:#202020}dialog::backdrop{background:rgb(0 0 0 / 20%)}

.account-avatar{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;flex:none;border-radius:50%;overflow:hidden;background:var(--tint);color:var(--ink);font-size:9px;font-weight:var(--type-semibold)}.account-avatar img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.account-avatar-large{width:40px;height:40px;font-size:13px;margin-bottom:14px}.bottom-row{justify-content:flex-start}
@media(min-width:761px){.thread-content:not(.surface-hidden){grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.surface-pane{min-width:0}.section-label>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Keep trackpad gestures at the app and sidebar boundaries without native
   rubber-banding or scroll chaining. Normal thread-list scrolling remains. */
html,body,.app,.sidebar,#thread-list{overscroll-behavior:none}
/* Dialog focus anchors announce context; they are not interactive controls.
   Modifier keys can reveal a native focus ring even after pointer navigation. */
dialog:focus,#dialog-title:focus{outline:none}
/* A stable split, with the artifact's loading state occupying its final space. */
.surface-pane{position:relative;overflow:hidden}.surface-body{position:relative;display:flex;flex:1;min-height:0;min-width:0}.surface-body #surface{display:block;min-height:0;height:100%;opacity:1}.surface-skeleton{position:absolute;inset:0;padding:32px 24px;background:var(--bg);display:flex;flex-direction:column;gap:15px;z-index:1;pointer-events:none;opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s}.surface-loading .surface-skeleton{opacity:1;visibility:visible;transition:none}.surface-skeleton span,.surface-skeleton>div{display:block;height:11px;background:var(--tint);border-radius:5px;animation:surface-pulse 1.4s ease-in-out infinite}.surface-skeleton span:first-child{width:52%;height:24px;margin-bottom:14px}.surface-skeleton span:nth-child(3){width:72%}.surface-skeleton>div{height:140px;margin:18px 0}.surface-skeleton span:last-child{width:60%}
#surface-resize{position:absolute;left:0;top:0;bottom:0;width:7px;z-index:4;cursor:col-resize;touch-action:none;outline-offset:-2px}#surface-resize::after{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--muted);opacity:0;transition:opacity .15s}#surface-resize:hover::after,#surface-resize:focus-visible::after,.surface-resizing #surface-resize::after{opacity:.7}.surface-resizing .surface-body::after,.sidebar-resizing .surface-body::after{content:"";position:absolute;inset:0;z-index:3;cursor:col-resize}.surface-resizing{user-select:none}
@media(min-width:761px){.thread-content,.thread-content:not(.surface-hidden){grid-template-columns:minmax(0,var(--chat-ratio,50%)) minmax(0,1fr);transition:none}.thread-content.surface-hidden{grid-template-columns:minmax(0,100%) minmax(0,0fr)}.thread-content .surface-pane{display:flex}.thread-content.surface-hidden .surface-pane{display:none}.thread-content.surface-resizing{transition:none}}
@media(max-width:760px){.surface-pane{position:absolute}#surface-resize{display:none}.surface-pane{animation:none}}
@keyframes surface-pulse{50%{opacity:.45}}@keyframes surface-appear{from{opacity:0}to{opacity:1}}
@media(prefers-reduced-motion:reduce){.thread-content,.thread-content .surface-pane,.surface-skeleton{transition:none}.surface-skeleton span,.surface-skeleton>div,.surface-pane{animation:none}}
/* Shell navigation must not inherit the vendored agent header's layout. */
.sidebar-bottom .agent-row #setup,.sidebar-bottom>#account,.sidebar-bottom .bottom-row>button{width:100%;min-height:38px;padding:8px;gap:10px;justify-content:flex-start;text-align:left;font-size:var(--type-ui-size);border-radius:7px;color:var(--ink);line-height:var(--type-ui-line)}
.sidebar-bottom .agent-row{margin-bottom:2px}
.sidebar-bottom .agent-row #setup>[data-icon]{display:grid;place-items:center;width:24px;height:24px;padding:3px;flex:none}.computer-identity{align-items:flex-start;flex:1}.computer-identity small{font-size:var(--type-support-size);line-height:var(--type-support-line)}.sidebar-bottom>#account span:last-child{margin-left:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-bottom .bottom-row{padding:0;margin-top:2px}.sidebar-bottom .bottom-row>button{color:var(--muted)}.sidebar-bottom .bottom-row [data-icon]{display:grid;place-items:center;width:24px;height:24px}.agent-row #setup[aria-current=page]{background:var(--tint)}

/* Keep inputs at iOS's non-zooming size, including dynamically mounted controls. */
html{touch-action:manipulation}
@media(max-width:760px),(hover:none) and (pointer:coarse){:root body input,:root body textarea:not(.xterm-helper-textarea),:root body select,:root body [contenteditable=true]{font-size:var(--type-body-size)!important;line-height:var(--type-body-line)}}

/* The title and people share the native traffic-light center line. */
.thread-identity{display:flex;align-items:center;gap:12px;flex:1;min-width:0}
.thread-identity .thread-heading{flex:0 1 auto;max-width:45%;min-width:0}
.thread-identity .thread-heading{max-width:none}
.thread-members{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:66px;max-width:220px;padding:8px;border:0;border-radius:10px;background:transparent;color:var(--muted)}
.thread-members:hover,.thread-members:focus-visible{background:var(--tint)}
.thread-members .thread-avatars{min-width:22px;max-width:174px;flex:0 1 auto}
.thread-members .thread-avatars>.shell-avatar,.thread-members .thread-avatars>.account-avatar{border-color:var(--bg)}
.thread-members:hover .thread-avatars>*,.thread-members:focus-visible .thread-avatars>*{border-color:var(--tint)}
.participant-add{display:flex;flex:none;width:22px;height:22px;align-items:center;justify-content:center}.participant-add svg{width:22px;height:22px}
.sidebar .brand .collab-logo{transform:scale(.9);transform-origin:center}
dialog{top:calc(var(--visible-top,0px) + var(--visible-height,100dvh)/2);bottom:auto;margin:0 auto;transform:translateY(-50%);max-height:calc(var(--visible-height,100dvh) - 40px);overflow:hidden}
dialog[open]{display:flex;flex-direction:column}.dialog-head{flex:none}
.participant-list{display:flex;flex-direction:column;gap:2px}.participant-row{display:flex;align-items:center;gap:10px;min-width:0;padding:12px 0;border-bottom:1px solid var(--line)}
.participant-agent-row .participant-identity{flex-basis:0}
.participant-agent-row .participant-agent-form{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;align-items:center;padding:0}
.participant-agent-form input{min-width:0;padding:6px 8px;font-size:var(--type-body-size);font-weight:var(--type-medium);line-height:var(--type-body-line)}.participant-agent-form .dialog-error{grid-column:1/-1;margin:4px 0}
.participant-row>.account-avatar,.participant-row>.shell-avatar{flex:none;width:30px;height:30px;font-size:10px}.participant-identity{flex:1;min-width:0}.participant-identity strong{display:block;font-size:var(--type-ui-size);font-weight:var(--type-medium);overflow-wrap:anywhere;line-height:var(--type-ui-line)}.participant-identity small{display:block;color:var(--muted);font-size:var(--type-support-size);overflow-wrap:anywhere;margin-top:3px;line-height:var(--type-support-line)}
.participant-row select{width:126px;flex:none;min-width:0;padding:8px;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.participant-role{font-size:var(--type-support-size);color:var(--muted);line-height:var(--type-support-line)}.participant-row .participant-icon{width:30px;height:30px;min-width:30px;min-height:30px;flex:none;padding:7px;border:0;border-radius:7px}.participant-icon svg{width:16px;height:16px}.participant-agent-form{padding:12px 0}.participant-invite{margin-top:24px}.participant-invite h3{font-size:var(--type-section-size);margin:0 0 14px;line-height:var(--type-section-line);font-weight:var(--type-semibold)}
dialog .access-management{border-bottom:0;border-top:1px solid var(--line);margin:24px 0 0;padding-top:16px;padding-bottom:0}
@media(max-width:760px){.thread-identity{gap:4px}.thread-members{max-width:132px;padding:8px}.thread-members .thread-avatars{max-width:86px}dialog{max-height:calc(var(--visible-height,100dvh) - 32px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));padding:18px}.participant-row{gap:8px;flex-wrap:wrap}.participant-identity{flex-basis:calc(100% - 46px)}.participant-row select{margin-left:38px;flex:1;width:auto;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.participant-row>.participant-role{margin-left:38px}.participant-row .participant-icon{width:36px;height:36px}.participant-row:has(.participant-agent-form){flex-wrap:wrap}}


.auth-buttons button{border-radius:999px;justify-content:center;gap:12px;min-height:48px;padding:13px 20px;font-weight:var(--type-medium)}.auth-buttons button svg{width:20px;height:20px;flex:none}

.access-requests:empty{display:none}.access-requests{max-height:200px;overflow:auto;flex-shrink:0;border-top:1px solid var(--line)}.access-request{display:block;width:100%;text-align:left}.access-management{border-bottom:1px solid var(--line);margin:20px 0;padding-bottom:20px}.access-management h3{font-size:var(--type-section-size);margin:16px 0 8px;line-height:var(--type-section-line);font-weight:var(--type-semibold)}.access-link-controls,.access-review-actions{display:flex;gap:8px;flex-wrap:wrap}.access-link-controls button,.access-review-actions button{font-size:var(--type-ui-size);padding:8px 10px;line-height:var(--type-ui-line)}.access-review{flex-wrap:wrap}.access-management input{font-size:var(--type-body-size);line-height:var(--type-body-line)}.access-identity{overflow-wrap:anywhere}@media(max-width:760px){.access-management input{font-size:var(--type-body-size);line-height:var(--type-body-line)}}

/* Thread members share one compact, overlapping avatar stack. */
.thread-item,.thread-item.active{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;column-gap:9px;padding:6px 8px}
.thread-avatars{display:grid;grid-template-columns:repeat(var(--avatar-count),minmax(0,1fr));width:calc(var(--avatar-count)*14px + 8px);max-width:90px;padding-right:8px;grid-row:1;isolation:isolate}
.thread-avatars>.shell-avatar,.thread-avatars>.account-avatar{position:relative;width:22px;height:22px;border:2px solid var(--panel);font-size:8px;filter:none}
.thread-item.active .thread-avatars>*,.thread-item:hover .thread-avatars>*{border-color:var(--tint)}
.thread-item small{grid-column:2}

/* Keep the photo still: only its outer highlight moves. */
.thread-avatars>.shell-avatar{z-index:0}
.thread-avatars>.account-avatar{overflow:visible;z-index:1}
.thread-avatars img{border-radius:50%}
.thread-avatars>[data-unread=true]{outline:2px solid #3b82f6;outline-offset:1px}
.thread-avatars>[data-working=true],#agent-avatar{position:relative}
.thread-avatars>[data-working=true]::after,#agent-avatar[data-working=true]::after{content:'';position:absolute;inset:-2px;border-radius:50%;pointer-events:none;background:conic-gradient(transparent 0 55%,#3b82f680 75%,#b9dcff 92%,transparent 100%);-webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,transparent calc(100% - 2px),#000 calc(100% - 1.5px));animation:avatar-rim 1.6s linear infinite}
@keyframes avatar-rim{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.thread-avatars>[data-working=true]::after,#agent-avatar[data-working=true]::after{animation:none}}

.sidebar-top .brand{font-size:17px;font-weight:var(--type-medium);letter-spacing:-.5px;white-space:nowrap}
/* One header rhythm in browsers and the native macOS window. */
:root{--app-header-height:44px}
.sidebar-inner{padding-top:0}
.sidebar-top,.thread-header{height:var(--app-header-height);flex-shrink:0}
.sidebar-top{margin-bottom:12px}
.sidebar-top .brand{width:28px;height:28px;justify-content:center;color:var(--ink)}
.brand .collab-logo{display:block;width:20px;height:20px;flex:none}
:root[data-theme=dark] .brand .collab-logo{filter:invert(1)}
.thread-options,.thread-more{font-size:0;line-height:1}
.panel-fill{opacity:0}#collapse-sidebar .panel-fill,#menu[aria-expanded=true] .panel-fill,#toggle-surface[aria-expanded=true] .panel-fill{opacity:.85}
.thread-options::before,.thread-more::before{content:"";display:block;width:16px;height:16px;background:currentColor;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Ccircle cx='4' cy='8' r='1.25'/%3E%3Ccircle cx='8' cy='8' r='1.25'/%3E%3Ccircle cx='12' cy='8' r='1.25'/%3E%3C/svg%3E") center/contain no-repeat}
.thread-row{position:relative}.thread-row .thread-item,.thread-row .thread-item.active{width:100%;padding-right:34px}
.thread-more{position:absolute;right:4px;top:4px;width:26px;height:26px;padding:0;justify-content:center;border:0;background:transparent;color:var(--muted);opacity:0}
.thread-row:hover .thread-more,.thread-row:focus-within .thread-more,.thread-more[aria-expanded=true]{opacity:1}
.thread-more:hover{background:var(--line);color:var(--ink)}
.thread-menu{position:fixed;z-index:20;min-width:156px;padding:5px;border:1px solid var(--line);border-radius:9px;background:var(--panel);box-shadow:0 8px 28px #0003}
.thread-menu button{display:flex;width:100%;border:0;background:transparent;padding:9px 10px;border-radius:5px;font-size:var(--type-ui-size);text-align:left;line-height:var(--type-ui-line)}
.thread-menu button:hover,.thread-menu button:focus-visible{background:var(--tint);outline:none}.thread-menu .danger{color:#dc6666}
@media(hover:none){.thread-more{opacity:1}}
.sidebar-bottom>#account[aria-current=page]{background:var(--tint)}
.account-view{flex:1;min-height:0;overflow:auto;padding:40px 32px}
.account-page{width:100%;max-width:600px;margin:0 auto}
/* Crash screen: shown instead of a blank or frozen window when the app fails. */
.crash{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:24px;background:var(--bg);color:var(--ink)}
.crash-card{width:100%;max-width:400px;text-align:center}
.crash-mark{display:block;width:28px;height:28px;margin:0 auto 22px}
:root[data-theme=dark] .crash-mark{filter:invert(1)}
.crash h1{margin:0 0 10px;font-size:var(--type-dialog-size,20px);line-height:var(--type-dialog-line,28px);font-weight:var(--type-semibold,600);letter-spacing:-.2px}
.crash p{margin:0;color:var(--muted);font-size:var(--type-support-size,14px);line-height:var(--type-support-line,21px);overflow-wrap:anywhere}
.crash-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin:24px 0}
.crash-actions button{border-radius:8px;padding:8px 14px;font-size:var(--type-ui-size,14px);line-height:var(--type-ui-line,20px)}
.crash-actions .primary:hover{background:var(--ink);border-color:var(--ink);color:var(--bg);opacity:.85}
.crash .crash-support{font-size:var(--type-meta-size,12px);line-height:var(--type-meta-line,18px)}
.crash-support a{color:inherit;text-underline-offset:3px}

.initial-agent-settings{--foreground:var(--ink);--muted-foreground:var(--collab-muted);--border:var(--line);border:0;padding:0;margin:24px 0 0;min-width:0}
.initial-agent-settings legend{font-weight:var(--type-medium);margin-bottom:14px;padding:0}
.account-page h1[tabindex="-1"]:focus{outline:none}
.account-toggle{display:flex!important;align-items:center;gap:10px}.account-toggle input{margin:0;width:auto}.account-danger>button{margin-top:16px}.account-danger form{margin-top:20px}.account-danger form>button{margin:16px 8px 0 0}.account-danger form>label{margin-top:20px}.account-deletion-screen{min-height:100dvh;padding:64px 24px;box-sizing:border-box;background:var(--bg);color:var(--ink)}.account-deletion-screen h1{font-size:var(--type-page-size);letter-spacing:-.6px;line-height:var(--type-page-line);font-weight:var(--type-semibold)}.account-deletion-screen p{font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.account-cleanup-steps{padding-left:20px;font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.account-cleanup-steps li+li{margin-top:8px}.account-deletion-actions{display:flex;flex-wrap:wrap;gap:10px}.account-deletion-actions button{min-height:44px}.account-deletion-screen .dialog-error{margin-top:20px}
.account-page h2{font-size:var(--type-page-size);letter-spacing:-.5px;margin:0 0 8px;outline:none;line-height:var(--type-page-line);font-weight:var(--type-semibold)}
.account-deletion-screen .dialog-error:empty,.account-danger .dialog-error:empty{display:none}
.account-page>p{margin:0 0 32px;font-size:var(--type-support-size);line-height:var(--type-support-line)}
.account-section{border-top:1px solid var(--line);padding:24px 0}
.account-section .account-avatar-large{width:48px;height:48px;font-size:17px;margin-bottom:20px}
.account-section form{margin:0}.account-section label,.account-section h3{display:block;font-size:var(--type-ui-size);font-weight:var(--type-medium);margin:0 0 8px;line-height:var(--type-ui-line)}
.account-appearance h3{margin-bottom:16px}
.account-section input:not([type=checkbox]){width:100%;max-width:400px;padding:10px 12px;background:var(--panel)}
.account-section p{margin:8px 0 0}.account-section .small{font-size:var(--type-support-size);line-height:var(--type-support-line)}
.account-save{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:20px}
.account-save .primary{font-size:var(--type-support-size);line-height:var(--type-support-line)}.account-save .account-save-status{margin:0;color:var(--muted);font-size:var(--type-support-size);line-height:var(--type-support-line)}
.account-email-section>p{overflow-wrap:anywhere;font-size:var(--type-support-size);line-height:var(--type-support-line)}.account-session button{font-size:var(--type-ui-size);padding:9px 14px;line-height:var(--type-ui-line)}
@media(max-width:760px){.account-view{padding:28px 20px}.account-page>p{line-height:var(--type-support-line)}.account-section input:not([type=checkbox]){max-width:none}}

/* The signed-out page shares the landing page's paper and typography. */
@font-face{font-family:Montreal;src:url('/fonts/PPNeueMontreal-Regular.woff2') format('woff2');font-weight:400;font-display:swap}
.login{--bg:#f8f7f3;--panel:#f8f7f3;--ink:#292a27;--muted:#64655e;--line:#deded5;--tint:#eeede7;--signal:#596692;--focus-border:#596692;background:var(--bg);color:var(--ink);color-scheme:light;font-family:Montreal,Arial,sans-serif;font-size:17px;line-height:1.55;padding:72px max(25px,calc((100% - 620px)/2)) 42px;-webkit-font-smoothing:antialiased}
html:has(#login:not([hidden])),body:has(#login:not([hidden])){background:#f8f7f3;color-scheme:light}
.login-brand{display:inline-flex;align-items:center;align-self:center;width:max-content;text-decoration:none}
.login-brand img{display:block;width:90px;height:auto}
.login-card{max-width:620px;text-align:center;margin:auto;padding:64px 0}
.login h1{font-size:46px;line-height:1.12;font-weight:400;letter-spacing:-.035em;margin:0}
.login-card>p:not(#login-note){font-size:18px;line-height:1.55;color:var(--muted);max-width:440px;margin:20px auto 0}
.login .auth-buttons{width:min(100%,360px);margin:32px auto 0}
.login .auth-buttons button{background:#25272b;color:#f5f5f5;border:1px solid #484b52;border-radius:999px;font:400 16px/22px Montreal,Arial,sans-serif;min-height:48px;padding:13px 20px}
.login .auth-buttons button:hover{background:#34373c}
.login :is(button,input,a):focus-visible{outline:2px solid #596692;outline-offset:3px}
.login #login-note{color:var(--muted);min-height:20px;max-width:360px;margin:14px auto 0;font-size:14px;line-height:1.5}
.login footer{display:flex;align-items:center;justify-content:center;gap:10px;border-top:1px solid var(--line);padding:24px 0 0;text-align:center;color:var(--muted);opacity:1;font-size:13px;line-height:1.5}
.login-card>p.login-legal:not(#login-note){max-width:440px;margin:24px auto 0;color:var(--muted);font-size:13px;line-height:1.5}.login-legal a{color:inherit;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:3px}.login-legal a:hover{color:var(--ink);text-decoration-color:currentColor}
.login-dot{width:9px;height:9px;flex:0 0 9px;border-radius:50%;background:radial-gradient(ellipse at 20% 20%,#df975c 12%,transparent 62%),radial-gradient(ellipse at 80% 20%,#bc638b 10%,transparent 60%),linear-gradient(160deg,#527cc2,#596692)}
@media(max-width:720px){.login{padding-top:38px;padding-bottom:30px}}
@media(max-width:480px){.login{padding-top:30px}.login-brand img{width:82px}.login-card{padding:48px 0}.login h1{font-size:35px;letter-spacing:-.04em}.login-card>p:not(#login-note){font-size:17px}.login footer{font-size:12px}}

/* Fit the keyboard's visible viewport; 100dvh alone follows browser chrome. */
@media(max-width:760px){.app,.app.sidebar-collapsed{position:fixed;top:var(--visible-top,0px);left:0;right:0;height:var(--visible-height,100dvh)}.workspace{height:100%;min-height:0}.sidebar,.sidebar-collapsed .sidebar{top:var(--visible-top,0px);bottom:auto;height:var(--visible-height,100dvh)}}

/* Paint the native window edge to edge, keeping controls clear of system UI. */
/* The composer's own inset keeps its buttons above the home indicator. */
:root[data-native-ios]{background:var(--bg);--native-bottom:min(12px,env(safe-area-inset-bottom,0px))}
:root[data-native-ios][data-keyboard-open=true]{--native-bottom:0px}
[data-native-ios] .app{position:fixed;top:var(--visible-top,0px);left:0;right:0;height:var(--visible-height,100dvh);background:var(--bg);padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) var(--native-bottom) env(safe-area-inset-left,0px)}
[data-native-ios] .workspace{height:100%;min-height:0}
[data-native-ios] .login{padding-top:calc(20px + env(safe-area-inset-top,0px));padding-bottom:calc(28px + env(safe-area-inset-bottom,0px));padding-left:max(24px,env(safe-area-inset-left,0px));padding-right:max(24px,env(safe-area-inset-right,0px))}
@media(max-width:760px){[data-native-ios] .sidebar{padding-top:env(safe-area-inset-top,0px);padding-bottom:var(--native-bottom);padding-left:env(safe-area-inset-left,0px)}}
.agent-providers{--agent-status-connected:#27804b;--agent-status-pending:#326dc4;--agent-status-warning:#a56a10;--agent-status-error:#c34242}
:root[data-theme=dark] .agent-providers{--agent-status-connected:#72c48f;--agent-status-pending:#86b3f8;--agent-status-warning:#e5b967;--agent-status-error:#f08a8a}
.agent-provider{min-width:0;border-bottom:1px solid var(--line)}
.agent-provider>.agent-provider-row{border-bottom:0}
.agent-provider-identity{min-width:0;flex:1}
.agent-provider-identity>strong{display:block;font-size:var(--type-ui-size);line-height:var(--type-ui-line);overflow-wrap:anywhere}
.agent-provider-row .agent-connection-status{display:flex;align-items:center;gap:7px;margin-top:5px;color:var(--muted);font-size:var(--type-support-size);line-height:var(--type-support-line)}
.agent-provider-row .agent-status-icon{display:inline-flex;align-items:center;justify-content:center;flex:none;width:16px;height:16px;margin:0;color:var(--muted)}
.agent-status-icon svg{display:block;width:16px;height:16px}
.agent-provider-row .agent-status-text{display:block;min-width:0;margin:0;color:var(--muted);overflow-wrap:anywhere}
.agent-connection-status[data-state=connected] .agent-status-icon{color:var(--agent-status-connected)}
.agent-connection-status:is([data-state=checking],[data-state=connecting]) .agent-status-icon{color:var(--agent-status-pending)}
.agent-connection-status:is([data-state=checking],[data-state=connecting]) .agent-status-icon svg{animation:agent-status-spin 1s linear infinite}
.agent-connection-status[data-state=warning] .agent-status-icon{color:var(--agent-status-warning)}
.agent-connection-status[data-state=error] .agent-status-icon{color:var(--agent-status-error)}
.agent-provider-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;flex:none}
.agent-provider-actions button,.agent-connection-methods button{min-height:40px;padding:8px 12px;font-size:var(--type-ui-size);line-height:var(--type-ui-line);justify-content:center}
.agent-provider-actions .quiet-button{border-color:transparent;color:var(--muted)}
.agent-provider-detail{min-width:0;margin:0 0 16px;padding:16px;border-radius:8px;background:var(--panel)}
.agent-provider-detail>p{margin:0 0 12px;font-size:var(--type-support-size);line-height:var(--type-support-line);color:var(--muted);overflow-wrap:anywhere}
.agent-provider-detail>p:last-child{margin-bottom:0}
.agent-connection-methods{display:flex;align-items:center;flex-wrap:wrap;gap:8px}
.agent-connection-methods button{max-width:100%;white-space:normal;background:var(--bg)}
.agent-connection-methods button:hover{background:var(--tint)}
.agent-connection-methods .quiet-button{border-color:transparent;background:transparent;color:var(--muted)}
.agent-provider-detail .agent-provider-error{margin:12px 0 0;color:var(--ink);font-size:var(--type-support-size);line-height:var(--type-support-line)}
.agent-provider-error:empty{display:none}
.agent-provider-detail .agent-login-panel{margin-top:16px}
.agent-provider-detail .agent-login-panel>p{font-size:var(--type-support-size);line-height:var(--type-support-line);color:var(--muted)}
@keyframes agent-status-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.agent-connection-status .agent-status-icon svg{animation:none!important}}
@media(max-width:480px){.agent-provider-detail{padding:12px}.agent-connection-methods{align-items:stretch;flex-direction:column}.agent-connection-methods button{width:100%;justify-content:flex-start}}
@media(pointer:coarse){.agent-provider-actions button,.agent-connection-methods button,.agent-login-heading button{min-height:44px}}
.account-notifications{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.account-notifications h3,.account-notifications p{margin:0}.account-notifications label{display:flex;align-items:center;gap:10px;width:100%;margin:0;line-height:1.5;cursor:pointer}.account-notifications input[type=checkbox]{width:16px;height:16px;flex:0 0 16px;padding:0;margin:0;accent-color:var(--accent,#c62f29)}

.computer-onboarding{margin:24px auto;padding:28px;width:min(600px,calc(100% - 40px));border:1px solid var(--line);border-radius:12px;overflow:auto;flex-shrink:0}
.computer-onboarding h2{font-size:var(--type-page-size);margin:10px 0 16px;letter-spacing:0;line-height:var(--type-page-line);font-weight:var(--type-semibold)}
.computer-onboarding p{font-size:var(--type-ui-size);line-height:var(--type-ui-line)}.computer-onboarding ol{list-style:none;padding:0;margin:24px 0;display:grid;gap:16px}
.computer-onboarding li{display:flex;align-items:center;gap:12px;color:var(--muted)}
.computer-onboarding li::before{content:'';width:10px;height:10px;flex-shrink:0;border:1px solid currentColor;border-radius:50%}
.computer-onboarding li[data-state=active]{color:var(--ink);font-weight:var(--type-semibold)}.computer-onboarding li[data-state=active]::before{background:#da493b;border-color:#da493b}
.computer-onboarding li[data-state=done]::before{background:#43845c;border-color:#43845c}
.computer-waiting{display:none!important}
@media(max-width:760px){.computer-onboarding{margin:16px auto;padding:20px}.computer-onboarding h2{font-size:var(--type-page-size);line-height:var(--type-page-line);font-weight:var(--type-semibold)}}

.computer-preparing .notification-prompt{display:none}

/* One focus treatment for the shell and embedded chat controls. The inset
   stroke follows the existing edge instead of drawing a second outer ring. */
:root{--focus-border:color-mix(in srgb,var(--ink) 65%,var(--line))}
:root body :is(button,input,textarea,select,a[href],summary,[tabindex]):focus-visible{outline:1px solid var(--focus-border);outline-offset:-1px;border-color:var(--focus-border)}
:root body :is(input:not([type=checkbox]):not([type=radio]),textarea,select):focus-visible{outline:none}
:root body :is(h1,h2,dialog)[tabindex="-1"]:focus{outline:none}
/* The composer provides the field boundary for its borderless textarea. */
:root body .collab-chat .agent-composer-input:focus-visible{outline:none;box-shadow:none}
:root body .collab-chat :is(.agent-composer,.agent-composer-input-area,.collab-composer-shell.is-replying):focus-within{border-color:var(--focus-border);box-shadow:none}

/* Native macOS selects can ignore padding; keep native selection behavior
   while drawing the field and chevron consistently across platforms. */
:root body select:not([multiple]):not([size]){appearance:none;-webkit-appearance:none;min-height:38px;padding:9px 34px 9px 12px;font-size:var(--type-ui-size);line-height:var(--type-ui-line);border-radius:8px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23888888' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right 12px center;background-size:12px;background-repeat:no-repeat}
@media(max-width:760px),(pointer:coarse){:root body select:not([multiple]):not([size]){min-height:44px;font-size:var(--type-body-size);line-height:var(--type-body-line)}}
@media(forced-colors:active){:root{--focus-border:Highlight}:root body :is(input,textarea,select):focus-visible{outline:1px solid Highlight;outline-offset:-1px}:root body select:not([multiple]):not([size]){appearance:auto;background-image:none}}

.sidebar-bottom>#desktop-update{justify-content:center;padding:9px 12px;margin:0 0 8px;background:var(--ink);color:var(--bg);border:1px solid var(--ink);border-radius:8px;font-weight:var(--type-medium)}
.sidebar-bottom>#desktop-update:hover{background:var(--muted);border-color:var(--muted)}
/* Connection banner: a small pill over the top of the workspace while the
   device is offline or Collab can't be reached, and briefly once it's back. */
.connection-banner{position:fixed;z-index:25;top:calc(env(safe-area-inset-top,0px) + 68px);left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:8px;width:max-content;max-width:calc(100vw - 32px);padding:6px 6px 6px 12px;border-radius:16px;background:var(--bg);color:var(--ink);box-shadow:0 0 0 1px var(--line),0 6px 20px #0000001f;font-size:var(--type-support-size,13px);line-height:var(--type-support-line,20px);animation:enter .16s ease-out}
.connection-banner:not(:has(#connection-retry:not([hidden]))){padding-right:12px}
.connection-dot{width:7px;height:7px;flex:none;border-radius:50%;background:#d38a1f}
.connection-banner[data-status=recovered] .connection-dot{background:#2f9e5b}
#connection-text{min-width:0}
#connection-retry{flex:none;border:0;border-radius:999px;padding:3px 10px;background:var(--tint);font-size:inherit;line-height:inherit}
#connection-retry:hover{background:var(--line)}

/* The object canvas uses the existing responsive right pane. */
.object-canvas-active>:not(.thread-canvas-host):not(#surface-resize){display:none!important}
