:root{color-scheme:light dark;--app-height: 100vh;--app-width: 100vw;--app-top: 0px;--app-left: 0px;--layout-height: 100vh;--visual-height: 100vh;--visual-top: 0px;--keyboard-inset: 0px;--bg: #edf3f8;--bg-orb-a: rgba(80, 142, 218, .22);--bg-orb-b: rgba(255, 255, 255, .84);--panel: rgba(255, 255, 255, .72);--panel-strong: rgba(255, 255, 255, .9);--panel-soft: rgba(255, 255, 255, .48);--ink: #202933;--muted: #697582;--muted-2: #8b96a2;--line: rgba(58, 72, 89, .14);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .12);--accent-strong: rgba(10, 132, 255, .22);--accent-ink: #ffffff;--warn: #b66d00;--danger: #ff453a;--shadow: 0 24px 70px rgba(34, 48, 69, .16);--control: rgba(255, 255, 255, .62);--control-hover: rgba(255, 255, 255, .82);--bubble: rgba(255, 255, 255, .74);--user-bubble: linear-gradient(135deg, #0a84ff, #44a6ff);--user-bubble-text: #ffffff;--trace: #707b86;--row-hover: rgba(10, 132, 255, .08);--selection: rgba(10, 132, 255, .12);--selection-border: rgba(10, 132, 255, .28);--blur: blur(24px) saturate(1.45);font-family:SF Pro Text,Avenir Next,Helvetica Neue,sans-serif}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #111418;--bg-orb-a: rgba(76, 141, 222, .18);--bg-orb-b: rgba(44, 50, 58, .46);--panel: rgba(31, 35, 41, .72);--panel-strong: rgba(42, 47, 55, .9);--panel-soft: rgba(37, 42, 49, .5);--ink: #f3f6f8;--muted: #a3adb7;--muted-2: #7e8994;--line: rgba(236, 242, 248, .13);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .16);--accent-strong: rgba(10, 132, 255, .3);--warn: #ffd166;--danger: #ff6961;--shadow: 0 28px 80px rgba(0, 0, 0, .34);--control: rgba(255, 255, 255, .08);--control-hover: rgba(255, 255, 255, .13);--bubble: rgba(255, 255, 255, .08);--user-bubble: linear-gradient(135deg, #0a84ff, #5ac8fa);--trace: #a1aab3;--row-hover: rgba(255, 255, 255, .07);--selection: rgba(10, 132, 255, .18);--selection-border: rgba(10, 132, 255, .42)}}:root[data-theme=dark]{--bg: #111418;--bg-orb-a: rgba(76, 141, 222, .18);--bg-orb-b: rgba(44, 50, 58, .46);--panel: rgba(31, 35, 41, .72);--panel-strong: rgba(42, 47, 55, .9);--panel-soft: rgba(37, 42, 49, .5);--ink: #f3f6f8;--muted: #a3adb7;--muted-2: #7e8994;--line: rgba(236, 242, 248, .13);--accent: #0a84ff;--accent-soft: rgba(10, 132, 255, .16);--accent-strong: rgba(10, 132, 255, .3);--warn: #ffd166;--danger: #ff6961;--shadow: 0 28px 80px rgba(0, 0, 0, .34);--control: rgba(255, 255, 255, .08);--control-hover: rgba(255, 255, 255, .13);--bubble: rgba(255, 255, 255, .08);--user-bubble: linear-gradient(135deg, #0a84ff, #5ac8fa);--trace: #a1aab3;--row-hover: rgba(255, 255, 255, .07);--selection: rgba(10, 132, 255, .18);--selection-border: rgba(10, 132, 255, .42)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;min-height:100%;max-width:100%;overflow-x:hidden}body{margin:0;background:radial-gradient(circle at 12% 8%,var(--bg-orb-a),transparent 34rem),radial-gradient(circle at 90% 2%,var(--bg-orb-b),transparent 30rem),linear-gradient(135deg,var(--bg),color-mix(in srgb,var(--bg) 78%,#ffffff 22%));color:var(--ink);max-width:100%;overflow:hidden;overscroll-behavior-x:none}button,input,textarea{font:inherit}button{color:inherit}.app-shell{min-height:var(--app-height);max-width:100vw;overflow-x:hidden;padding:max(.85rem,env(safe-area-inset-top)) .85rem max(.85rem,env(safe-area-inset-bottom))}.topbar{align-items:center;display:grid;gap:.75rem;grid-template-columns:auto 1fr auto;margin:0 auto .85rem;max-width:1180px}.topbar h1,.login-card h1,.panel-header h2,.password-panel h2{margin:0}.topbar h1{font-size:clamp(1.15rem,5vw,1.65rem)}.eyebrow{color:var(--accent);font-size:.68rem;font-weight:700;letter-spacing:.08em;margin:0 0 .18rem;text-transform:uppercase}.top-actions{align-items:center;display:flex;gap:.5rem}.theme-toggle{align-items:center;background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:700;gap:.4rem;min-height:2.35rem;padding:0 .72rem}.theme-toggle:hover{background:var(--control-hover);color:var(--ink)}.login-theme-control{position:fixed;right:max(1rem,env(safe-area-inset-right));top:max(1rem,env(safe-area-inset-top));z-index:2}.model-selector{align-items:center;background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.72rem;color:var(--muted);display:inline-flex;font-size:.74rem;font-weight:800;gap:.35rem;min-height:2.35rem;padding:0 .58rem}.model-selector select{appearance:none;background:transparent;border:0;color:var(--ink);font:inherit;max-width:9.5rem;outline:none}.mobile-back{display:none}.workspace{display:grid;gap:.85rem;grid-template-columns:minmax(260px,.95fr) minmax(360px,1.65fr);height:calc(var(--app-height) - 5.8rem);margin:0 auto;max-width:1180px}.panel,.login-card{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow)}.panel{display:flex;flex-direction:column;min-height:0;overflow:hidden;overscroll-behavior:contain}.panel-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:1rem}.panel-header h2{font-size:1rem}.panel-header p{color:var(--muted);font-size:.78rem;margin:.25rem 0 0;max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-header-actions,.desktop-section-actions{align-items:center;color:var(--muted-2);display:inline-flex;gap:.78rem}.desktop-header-actions button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;padding:0}.list,.messages{overflow-x:hidden;overflow-y:auto;padding:.75rem}.list{display:grid;gap:.45rem}.desktop-nav{overflow-x:hidden;overflow-y:auto;padding:.85rem .95rem 1.2rem}.desktop-section{display:grid;gap:.05rem;margin-bottom:1.15rem}.desktop-section-title{color:var(--muted);font-size:.84rem;font-weight:700;margin:.25rem 0 .55rem}.desktop-section-heading{align-items:center;display:flex;justify-content:space-between}.desktop-project-group{display:grid;gap:.08rem;margin-bottom:.65rem}.desktop-folder-row,.desktop-thread-row{border:1px solid transparent;cursor:pointer;min-width:0;text-align:left}.desktop-folder-row{align-items:center;background:transparent;border-radius:.7rem;color:var(--ink);display:flex;font-size:.94rem;font-weight:700;gap:.55rem;padding:.42rem .35rem}.desktop-folder-row svg{color:var(--muted-2);flex:0 0 auto}.desktop-folder-row span,.desktop-thread-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.desktop-folder-row:hover,.desktop-folder-row.active{color:var(--ink)}.desktop-thread-group{display:grid;gap:.04rem;margin:.05rem 0 .25rem 2.15rem}.desktop-thread-branch{display:grid;gap:.08rem}.desktop-thread-row{align-items:center;background:transparent;border-radius:.72rem;color:var(--ink);display:grid;font-size:.86rem;font-weight:500;gap:.7rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.38rem .42rem}.thread-row-actions{align-items:center;display:inline-flex;gap:.12rem;min-width:max-content;overflow:visible;white-space:nowrap}.thread-row-actions [role=button]{align-items:center;border-radius:999px;color:var(--muted-2);cursor:pointer;display:inline-flex;height:1.55rem;justify-content:center;min-width:1.55rem;overflow:visible;width:1.55rem}.thread-row-actions [role=button]:hover,.thread-row-actions [role=button].active{background:var(--accent-soft);color:var(--accent)}.pinned-section{border-bottom:1px solid var(--line);margin-bottom:.85rem;padding-bottom:.65rem}.desktop-thread-row time{color:var(--muted-2);font-size:.78rem;font-weight:800;white-space:nowrap}.thread-list-meta,.thread-time{align-items:center;display:inline-flex}.thread-list-meta{color:var(--muted-2);gap:.55rem;justify-content:flex-end}.thread-time{gap:.25rem}.thread-spinner{animation:spin .9s linear infinite;border:2px solid color-mix(in srgb,var(--muted) 22%,transparent);border-top-color:var(--accent);border-radius:999px;display:inline-flex;height:1rem;width:1rem}.desktop-thread-row:hover,.desktop-thread-row.active{background:var(--selection)}.conversation-section{border-top:1px solid var(--line);margin-bottom:0;padding-top:.82rem}.conversation-row>.desktop-thread-row{font-size:.9rem;padding-block:.48rem}.agent-search{align-items:center;background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.75rem;color:var(--muted-2);display:flex;gap:.45rem;margin:.1rem 0 .45rem;padding:.42rem .5rem}.agent-search input{background:transparent;border:0;color:var(--ink);min-width:0;outline:none;width:100%}.agent-search input::placeholder{color:var(--muted-2)}.search-summary{color:var(--muted);font-size:.76rem;margin:-.15rem 0 .45rem}.agent-toggle{align-items:center;background:transparent;border:0;color:var(--muted-2);cursor:pointer;display:inline-flex;font-size:.74rem;font-weight:700;gap:.2rem;justify-self:start;margin-left:.25rem;padding:.05rem .15rem .18rem}.subagent-list{border-left:1px solid var(--line);display:grid;gap:.08rem;margin:0 0 .25rem .62rem;padding-left:.65rem}.subagent-row{align-items:center;background:transparent;border:1px solid transparent;border-radius:.68rem;color:var(--muted);cursor:pointer;display:grid;font-size:.76rem;gap:.45rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.34rem .4rem;text-align:left}.subagent-row svg{color:var(--accent)}.subagent-row span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.subagent-row strong{color:var(--accent);margin-right:.35rem}.subagent-row time{color:var(--muted-2);font-size:.72rem;font-weight:800;white-space:nowrap}.subagent-row:hover,.subagent-row.active{background:var(--selection);border-color:var(--selection-border)}.list-card{align-items:center;background:var(--panel-soft);border:1px solid transparent;border-radius:.85rem;cursor:pointer;display:grid;gap:.7rem;grid-template-columns:auto 1fr auto;min-width:0;padding:.68rem .75rem;text-align:left}.list-card:hover,.list-card.active{background:var(--selection);border-color:var(--selection-border)}.list-card svg{color:var(--accent)}.list-card-main{display:grid;gap:.16rem;min-width:0}.list-card-main strong{font-size:.95rem}.list-card-main strong,.list-card-main small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-card-main small,.muted,.message time,.empty-state p{color:var(--muted)}.run-error{color:var(--danger);font-size:.78rem;margin:.45rem 0 0;max-width:36rem;white-space:pre-wrap}.meta-pill,.connection-badge,.tool-status{align-items:center;border-radius:999px;display:inline-flex;font-size:.74rem;font-weight:800;gap:.3rem}.meta-pill{background:var(--accent-soft);color:var(--accent);min-width:1.8rem;padding:.24rem .45rem;place-content:center}.meta-pill.draft{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.meta-pill.status{max-width:6.8rem}.meta-pill.status.running,.meta-pill.status.processing,.meta-pill.status.queued{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent)}.meta-pill.status.complete{background:color-mix(in srgb,#21a67a 16%,transparent);color:#16845f}.meta-pill.status.incomplete{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.meta-pill.status.failed{background:color-mix(in srgb,var(--danger) 14%,transparent);color:var(--danger)}.meta-pill.status.cancelled{background:color-mix(in srgb,var(--muted) 16%,transparent);color:var(--muted)}.status-dot{background:var(--muted);border-radius:50%;height:.58rem;width:.58rem}.status-dot.running,.status-dot.processing,.status-dot.queued{background:var(--accent);box-shadow:0 0 0 .35rem var(--accent-soft)}.status-dot.complete{background:#21a67a}.status-dot.failed{background:var(--danger)}.thread-detail{display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden}.thread-toolbar{align-items:center;background:color-mix(in srgb,var(--panel-strong) 58%,transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border-bottom:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;min-height:3.25rem;padding:.55rem .75rem}.thread-toolbar:empty{display:none}.thread-toolbar-main,.thread-toolbar-side{align-items:center;display:flex;flex-wrap:wrap;gap:.65rem;min-width:0}.thread-toolbar-side{justify-content:flex-end;margin-left:auto}.thread-view-toggle{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:999px;display:inline-flex;gap:.2rem;padding:.2rem}.thread-view-toggle button{align-items:center;background:transparent;border:0;border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:700;gap:.35rem;min-height:2rem;padding:0 .75rem}.thread-view-toggle button span{color:var(--muted-2);font-size:.7rem}.thread-view-toggle button.active{background:var(--accent-soft);color:var(--accent)}.thread-view-toggle button.active span{color:inherit}.thread-search{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:999px;color:var(--muted-2);display:inline-flex;gap:.45rem;min-height:2.2rem;min-width:min(19rem,100%);padding:0 .55rem}.thread-search input{background:transparent;border:0;color:var(--ink);min-width:8rem;outline:none;width:100%}.thread-search input::placeholder{color:var(--muted-2)}.thread-search button{background:transparent;border:0;color:var(--accent);cursor:pointer;font-size:.74rem;font-weight:700;padding:0}.thread-search-summary{border-bottom:1px solid var(--line);margin:0;padding:0 .75rem .55rem}.messages{display:flex;flex:1;flex-direction:column;gap:.85rem;-webkit-overflow-scrolling:touch;overflow-anchor:none;scroll-padding-bottom:4rem}.virtual-message-list{display:block;flex:0 0 auto;min-height:0}.virtual-message-row{overflow-anchor:auto;padding-bottom:.85rem}.virtual-message-row:last-of-type{padding-bottom:0}.virtual-message-spacer{flex:0 0 auto;pointer-events:none}.virtual-message-list.enabled{contain:layout paint style}.history-window-banner,.sync-inline-banner{align-items:center;display:flex;flex-wrap:wrap;gap:.55rem}.history-window-banner{justify-content:space-between}.history-window-button{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--ink);cursor:pointer;display:inline-flex;font-size:.78rem;font-weight:700;gap:.42rem;padding:.42rem .72rem}.history-window-button:disabled{cursor:wait;opacity:.72}.history-window-spacer{min-height:2rem}.history-window-meta,.sync-inline-banner{color:var(--muted);font-size:.76rem}.sync-inline-banner{align-self:flex-start;overflow-anchor:none}.jump-latest-button{align-items:center;align-self:flex-end;background:color-mix(in srgb,var(--panel-strong) 85%,transparent);border:1px solid var(--selection-border);border-radius:999px;bottom:.4rem;box-shadow:var(--shadow);color:var(--ink);cursor:pointer;display:inline-flex;gap:.38rem;padding:.48rem .75rem;position:sticky;z-index:2;overflow-anchor:none}.jump-latest-button svg{color:var(--accent)}.messages-end{flex:0 0 1px;overflow-anchor:none}.message{align-items:flex-start;display:flex;gap:.65rem;min-width:0}.message.user{flex-direction:row-reverse}.message-avatar{align-items:center;background:var(--panel-strong);border:1px solid var(--line);border-radius:999px;color:var(--accent);display:inline-flex;flex:0 0 auto;font-size:.72rem;font-weight:800;height:2rem;justify-content:center;width:2rem}.message-bubble{background:var(--bubble);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1.05rem 1.05rem 1.05rem .35rem;max-width:min(36rem,86%);min-width:0;overflow-wrap:anywhere;padding:.85rem;white-space:pre-wrap;word-break:break-word}.message.user .message-bubble{background:var(--user-bubble);border-color:transparent;border-radius:1.05rem 1.05rem .35rem;color:var(--user-bubble-text)}.message-bubble p,.form-error{margin:0}.bubble-actions,.message-footer{align-items:center;display:flex;justify-content:flex-end}.bubble-actions{margin-bottom:.35rem}.message time{display:block;font-size:.72rem;margin-top:.2rem}.message-error-text{color:var(--danger);font-size:.72rem;margin-left:.45rem;overflow-wrap:anywhere}.message-retry-button{background:#ffffff2e;border:1px solid rgba(255,255,255,.34);border-radius:999px;color:inherit;cursor:pointer;font-size:.72rem;font-weight:800;margin-left:.45rem;padding:.15rem .48rem}.upload-progress-list{border-top:1px solid rgba(255,255,255,.2);display:grid;gap:.35rem;margin-top:.65rem;padding-top:.55rem}.message:not(.user) .upload-progress-list{border-top-color:var(--line)}.upload-progress-row{align-items:center;display:grid;gap:.35rem;grid-template-columns:auto minmax(0,1fr) auto minmax(3.5rem,5.5rem) auto;min-width:0}.upload-progress-name{font-size:.74rem;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.upload-progress-size,.upload-progress-row small{font-size:.68rem;opacity:.8;white-space:nowrap}.upload-progress-track{background:#ffffff38;border-radius:999px;height:.34rem;overflow:hidden;position:relative}.message:not(.user) .upload-progress-track{background:var(--accent-soft)}.upload-progress-track i{background:currentColor;border-radius:inherit;display:block;height:100%;min-width:.35rem;transition:width .18s ease}.upload-progress-track.indeterminate i{animation:upload-sweep 1s ease-in-out infinite;left:-45%;position:absolute;width:45%!important}.upload-progress-row.failed{color:var(--danger)}.expandable-text{display:grid;gap:.35rem}.inline-text-toggle{align-items:center;background:transparent;border:0;color:var(--accent);cursor:pointer;display:inline-flex;font-size:.76rem;font-weight:700;gap:.25rem;justify-self:start;padding:0}.trace-preview-list{border-top:1px solid var(--line);display:grid;gap:.18rem;margin-top:.65rem;padding-top:.52rem}.live-status-row{align-items:center;align-self:flex-start;color:var(--trace);display:inline-flex;font-size:.82rem;gap:.45rem;margin:-.15rem 0 .1rem 2.65rem;min-height:1.55rem;overflow-anchor:none}.live-status-icon{align-items:center;color:var(--accent);display:inline-flex}.live-status-icon svg{animation:spin .9s linear infinite}.live-status-copy{align-items:baseline;display:inline-flex;gap:.42rem}.live-status-copy strong{color:var(--ink);font-weight:650}.live-status-copy em{color:var(--muted-2);font-size:.72rem;font-style:normal}.thinking-dots{display:inline-flex;gap:.18rem;margin-left:.08rem}.thinking-dots i{animation:blink-dot 1.15s ease-in-out infinite;background:var(--accent);border-radius:999px;height:.26rem;opacity:.35;width:.26rem}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}.trace-block{background:transparent;border:0;border-radius:0;box-shadow:none;font-family:Helvetica Neue,Avenir Next,sans-serif;overflow:visible}.trace-block.run-state{border-color:transparent}.trace-row{align-items:flex-start;color:var(--trace);display:flex;font-size:.76rem;gap:.45rem;justify-content:flex-start;line-height:1.45;min-height:1.45rem;padding:.08rem 0;width:100%}.trace-actions{align-items:center;display:inline-flex;flex:0 0 auto;gap:.4rem;margin-left:auto}.trace-block.run-state .trace-row{color:var(--warn)}.trace-title{align-items:flex-start;display:inline-flex;gap:.4rem;min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.trace-title strong{color:var(--trace);font-weight:500;letter-spacing:0}.trace-title svg{color:var(--muted-2);flex:0 0 auto;margin-top:.1rem}.trace-body{margin-left:1.65rem;margin-top:.18rem}.tool-status{color:var(--accent)}.tool-status.failed{color:var(--danger)}.inline-action-button{align-items:center;background:transparent;border:1px solid var(--line);border-radius:999px;color:var(--muted);cursor:pointer;display:inline-flex;height:1.9rem;justify-content:center;width:1.9rem}.inline-action-button.copied{border-color:var(--accent-strong);color:var(--accent)}.composer{align-items:end;border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel-strong) 72%,transparent);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);display:grid;flex:0 0 auto;gap:.6rem;grid-template-columns:1fr auto;padding:.75rem;position:relative}.attachment-strip{display:flex;flex-wrap:wrap;gap:.45rem;grid-column:1 / -1}.attachment-card{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-strong);border-radius:.8rem;color:var(--accent);display:inline-flex;gap:.45rem;max-width:min(100%,18rem);min-height:2.35rem;padding:.38rem .5rem}.attachment-card.blocked{background:color-mix(in srgb,var(--danger) 10%,var(--panel));border-color:color-mix(in srgb,var(--danger) 32%,var(--line));color:var(--danger)}.attachment-card span,.recent-upload-card span{display:grid;gap:.05rem;min-width:0}.attachment-card strong,.recent-upload-card strong{font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attachment-card small,.recent-upload-card small{color:var(--muted);font-size:.68rem}.attachment-card button{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;padding:.05rem}.attachment-warning{color:var(--danger);flex-basis:100%;font-size:.74rem;font-weight:700;margin:.1rem 0 0}.recent-uploads{border-top:1px solid var(--line);display:grid;gap:.42rem;grid-column:1 / -1;padding-top:.15rem}.recent-uploads-heading{align-items:center;color:var(--muted);display:inline-flex;font-size:.72rem;gap:.28rem}.recent-upload-list{display:flex;flex-wrap:wrap;gap:.4rem}.recent-upload-card{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:.75rem;color:var(--ink);display:inline-flex;gap:.4rem;max-width:min(100%,15rem);padding:.34rem .48rem}.composer-assist{background:var(--panel-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1rem;bottom:calc(100% + .55rem);box-shadow:var(--shadow);display:grid;gap:.25rem;left:.75rem;max-height:min(18rem,45vh);overflow-y:auto;padding:.45rem;position:absolute;right:.75rem;z-index:5}.composer-assist-heading{color:var(--muted);font-size:.72rem;font-weight:800;padding:.25rem .45rem .1rem}.composer-assist-item{align-items:flex-start;background:transparent;border:0;border-radius:.75rem;color:var(--ink);cursor:pointer;display:grid;gap:.1rem;padding:.55rem .6rem;text-align:left}.composer-assist-item:hover,.composer-assist-item:focus{background:var(--row-hover);outline:none}.composer-assist-item strong{font-size:.86rem}.composer-assist-item span{color:var(--muted);font-size:.74rem}.attachment-strip>span{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-strong);border-radius:999px;color:var(--accent);display:inline-flex;font-size:.78rem;gap:.35rem;max-width:100%;padding:.3rem .55rem}.attachment-strip button{background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;padding:0}.composer textarea,.login-card input{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.95rem;color:var(--ink);outline:none}.composer textarea{max-height:7.5rem;min-height:3.2rem;overflow-y:auto;padding:.8rem;resize:none}.composer textarea:focus,.login-card input:focus{border-color:var(--accent);box-shadow:0 0 0 .22rem var(--accent-soft)}.icon-button,.ghost-button,.password-button,.primary-button,.secondary-button,.attach-button,.send-button,.error-banner button{align-items:center;border:0;cursor:pointer;display:inline-flex;font-weight:800;gap:.45rem;justify-content:center}.icon-button,.ghost-button{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.8rem;height:2.35rem;width:2.35rem}.password-button{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:999px;color:var(--ink);font-size:.78rem;min-height:2.35rem;padding:0 .78rem}.primary-button,.send-button{background:var(--accent);color:var(--accent-ink)}.primary-button,.secondary-button{border-radius:.95rem;min-height:2.75rem;padding:0 .95rem}.secondary-button{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line)}.secondary-button.danger:not(:disabled){color:var(--danger)}.send-button{border-radius:.95rem;height:3.2rem;width:3.2rem}.send-button.running{background:color-mix(in srgb,var(--ink) 88%,transparent);border-radius:999px;color:var(--bg);box-shadow:0 0 0 1px var(--line),0 .45rem 1.1rem #0000002e}.send-button.running:disabled{opacity:1}.composer-actions{display:flex;gap:.45rem}.attach-button{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.95rem;color:var(--ink);height:3.2rem;width:3.2rem}.attach-button input{display:none}.icon-button,.ghost-button,.password-button,.primary-button,.secondary-button,.attach-button,.send-button{touch-action:manipulation;transition:background .16s ease,border-color .16s ease,box-shadow .16s ease,opacity .16s ease,transform .12s ease}.icon-button:active,.ghost-button:active,.password-button:active,.primary-button:active,.secondary-button:active,.attach-button:active,.send-button:active{transform:scale(.96)}button:disabled,textarea:disabled{cursor:not-allowed;opacity:.48}.connection-badge{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);color:var(--warn);padding:.45rem .62rem;text-transform:capitalize}.connection-badge.online{color:var(--accent)}.reminder-button.active{background:var(--accent-soft);border-color:var(--accent-strong);color:var(--accent)}.reminder-button{position:relative}.reminder-badge{align-items:center;background:var(--danger);border:2px solid var(--panel-strong);border-radius:999px;color:#fff;display:inline-flex;font-size:.62rem;font-weight:900;height:1.05rem;justify-content:center;min-width:1.05rem;padding:0 .18rem;position:absolute;right:-.28rem;top:-.28rem}.error-banner{align-items:center;background:#ff746b24;border:1px solid rgba(255,116,107,.32);border-radius:1rem;display:flex;gap:.6rem;margin:0 auto .85rem;max-width:1180px;padding:.7rem .85rem}.error-banner button{background:transparent;color:var(--danger);margin-left:auto}.self-recovery-banner{align-items:center;background:color-mix(in srgb,var(--warn) 13%,var(--panel));border:1px solid color-mix(in srgb,var(--warn) 34%,var(--line));border-radius:.9rem;color:var(--ink);display:flex;gap:.6rem;margin:0 auto .85rem;max-width:1180px;padding:.65rem .8rem}.self-recovery-banner.ok{background:color-mix(in srgb,var(--accent) 10%,var(--panel));border-color:color-mix(in srgb,var(--accent) 28%,var(--line))}.self-recovery-banner svg{color:var(--accent);flex:0 0 auto}.self-recovery-banner.warning svg{color:var(--warn)}.self-recovery-banner span{display:grid;gap:.08rem}.self-recovery-banner strong{font-size:.86rem}.self-recovery-banner em{color:var(--muted);font-size:.76rem;font-style:normal}.in-app-notice{align-items:center;background:color-mix(in srgb,var(--accent) 11%,var(--panel));border:1px solid color-mix(in srgb,var(--accent) 32%,var(--line));border-radius:.9rem;color:var(--ink);display:flex;gap:.65rem;margin:0 auto .85rem;max-width:1180px;padding:.62rem .75rem}.in-app-notice.danger{background:color-mix(in srgb,var(--danger) 12%,var(--panel));border-color:color-mix(in srgb,var(--danger) 32%,var(--line))}.in-app-notice.muted{background:var(--panel-soft);border-color:var(--line)}.in-app-notice span{display:grid;gap:.1rem;min-width:0}.in-app-notice strong{font-size:.86rem}.in-app-notice em{color:var(--muted);font-size:.76rem;font-style:normal;overflow-wrap:anywhere}.in-app-notice button{background:transparent;border:0;color:var(--muted);cursor:pointer;margin-left:auto;padding:.15rem}.reminder-panel{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);display:grid;gap:.75rem;max-height:min(calc(var(--app-height) - 2rem),38rem);max-width:32rem;overflow:hidden;padding:1rem;width:min(100%,32rem)}.reminder-controls{display:flex;flex-wrap:wrap;gap:.45rem}.reminder-controls .secondary-button{min-height:2.35rem}.reminder-controls .secondary-button.active{border-color:var(--accent-strong);color:var(--accent)}.reminder-list{display:grid;gap:.5rem;min-height:0;overflow-y:auto;padding-right:.15rem}.reminder-item{align-items:flex-start;background:var(--control);border:1px solid var(--line);border-radius:.85rem;display:grid;gap:.55rem;grid-template-columns:auto minmax(0,1fr);padding:.65rem}.reminder-item.danger .reminder-icon{color:var(--danger)}.reminder-item.success .reminder-icon{color:var(--accent)}.reminder-item span:last-child{display:grid;gap:.14rem;min-width:0}.reminder-item strong{font-size:.86rem}.reminder-item em,.reminder-item time{color:var(--muted);font-size:.74rem;font-style:normal;overflow-wrap:anywhere}.login-screen{display:grid;min-height:var(--app-height);padding:1rem;place-items:center}.login-card{display:grid;gap:1rem;max-width:28rem;padding:1.35rem;width:100%}.login-mark{align-items:center;background:var(--accent-soft);border:1px solid var(--accent-strong);border-radius:1rem;color:var(--accent);display:flex;height:3.2rem;justify-content:center;width:3.2rem}.login-card label{color:var(--muted);display:grid;gap:.45rem;font-weight:800}.login-card input,.password-panel input{min-height:3rem;padding:0 .9rem}.form-error{color:var(--danger)}.modal-backdrop{align-items:center;background:#00000038;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;inset:0;justify-content:center;padding:1rem;position:fixed;z-index:10}.password-panel{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1.25rem;box-shadow:var(--shadow);display:grid;gap:.9rem;max-width:30rem;padding:1.1rem;width:min(100%,30rem)}.password-panel-header{align-items:center;display:flex;justify-content:space-between}.password-panel-header h2{margin:0}.password-panel label{color:var(--muted);display:grid;gap:.45rem;font-weight:800}.password-panel input{background:var(--control);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:.95rem;color:var(--ink);outline:none}.password-panel input:focus{border-color:var(--accent);box-shadow:0 0 0 .22rem var(--accent-soft)}.diagnostics-panel{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1.1rem;box-shadow:var(--shadow);display:grid;gap:.85rem;max-height:min(calc(var(--app-height) - 2rem),46rem);max-width:46rem;overflow-y:auto;padding:1rem;width:min(100%,46rem)}.diagnostics-summary{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:.9rem;display:grid;gap:.75rem;grid-template-columns:auto minmax(0,1fr) auto;padding:.8rem}.diagnostics-summary.ok{border-color:color-mix(in srgb,var(--accent) 34%,var(--line))}.diagnostics-summary.warning{border-color:color-mix(in srgb,var(--warn) 42%,var(--line))}.diagnostics-summary.error{border-color:color-mix(in srgb,var(--danger) 42%,var(--line))}.diagnostics-summary-icon,.diagnostic-check-icon{align-items:center;border-radius:999px;display:flex;flex:0 0 auto;justify-content:center}.diagnostics-summary-icon{background:var(--accent-soft);color:var(--accent);height:2.4rem;width:2.4rem}.diagnostics-summary.warning .diagnostics-summary-icon{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}.diagnostics-summary.error .diagnostics-summary-icon{background:color-mix(in srgb,var(--danger) 16%,transparent);color:var(--danger)}.diagnostics-summary strong,.diagnostics-summary span{display:block}.diagnostics-summary span{color:var(--muted);font-size:.82rem;line-height:1.35;margin-top:.15rem}.diagnostics-meta{display:grid;gap:.5rem;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr))}.diagnostic-meta-item{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:.75rem;display:grid;gap:.18rem .45rem;grid-template-columns:minmax(0,1fr) auto;padding:.65rem .7rem}.diagnostic-meta-item span,.diagnostic-check p,.diagnostic-check small,.diagnostic-empty{color:var(--muted)}.diagnostic-meta-item span{font-size:.72rem;font-weight:800}.diagnostic-meta-item strong{font-size:.86rem;grid-column:1;min-width:0;overflow-wrap:anywhere}.diagnostic-meta-item a{color:var(--accent)}.diagnostic-copy{align-items:center;background:transparent;border:0;color:var(--muted);cursor:pointer;display:flex;grid-column:2;grid-row:1 / span 2;height:2rem;justify-content:center;width:2rem}.diagnostic-checks{display:grid;gap:.55rem}.diagnostic-check{background:color-mix(in srgb,var(--control) 86%,transparent);border:1px solid var(--line);border-radius:.8rem;display:grid;gap:.65rem;grid-template-columns:auto minmax(0,1fr);padding:.72rem}.diagnostic-check.ok .diagnostic-check-icon{color:var(--accent)}.diagnostic-check.warning .diagnostic-check-icon{color:var(--warn)}.diagnostic-check.error .diagnostic-check-icon{color:var(--danger)}.diagnostic-check-title{align-items:center;display:flex;gap:.6rem;justify-content:space-between}.diagnostic-check-title span{background:var(--panel-soft);border:1px solid var(--line);border-radius:999px;color:var(--muted);flex:0 0 auto;font-size:.72rem;font-weight:800;padding:.16rem .45rem}.diagnostic-check p,.diagnostic-check small{display:block;font-size:.82rem;line-height:1.4;margin:.18rem 0 0;overflow-wrap:anywhere}.diagnostic-check small{color:var(--warn);font-weight:800}.diagnostic-empty{align-items:center;border:1px dashed var(--line);border-radius:.8rem;display:flex;gap:.5rem;justify-content:center;min-height:4rem}.empty-state{align-self:center;color:var(--muted);display:grid;justify-items:center;margin:auto;max-width:18rem;padding:2rem 1rem;text-align:center}.empty-state h3{color:var(--ink);margin:.6rem 0 .25rem}.empty-icon{align-items:center;background:var(--control);border:1px solid var(--line);border-radius:1rem;color:var(--accent);display:flex;height:3rem;justify-content:center;width:3rem}.empty-icon svg{height:1.35rem;width:1.35rem}.loading-card{align-items:center;background:var(--panel-soft);border:1px solid var(--line);border-radius:1.1rem;color:var(--muted);display:flex;gap:.65rem;padding:.95rem 1rem}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes blink-dot{0%,80%,to{opacity:.28;transform:translateY(0)}40%{opacity:1;transform:translateY(-.12rem)}}@keyframes upload-sweep{0%{transform:translate(0)}to{transform:translate(320%)}}@media(max-width:820px){html,body,#root{background:var(--bg);height:var(--layout-height);min-height:var(--layout-height);max-width:var(--app-width);overflow:hidden;overscroll-behavior:none}body{inset:0;position:relative;width:100%}.app-shell{height:var(--app-height);left:var(--app-left);min-height:var(--app-height);max-width:var(--app-width);overflow:hidden;padding:max(.55rem,env(safe-area-inset-top)) .7rem .45rem;position:fixed;top:var(--app-top);touch-action:pan-y;width:var(--app-width)}:root[data-keyboard=open] .app-shell{padding:max(.35rem,env(safe-area-inset-top)) .38rem .2rem;transition:none}.login-screen{height:var(--app-height);left:var(--app-left);min-height:var(--app-height);overflow:hidden;position:fixed;top:var(--app-top);width:var(--app-width)}.topbar{background:var(--panel);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--line);border-radius:1rem;box-shadow:0 10px 28px #22304514;gap:.25rem .5rem;grid-template-areas:"title actions";grid-template-columns:minmax(0,1fr) auto;margin-bottom:.42rem;padding:.42rem .5rem}.app-screen-thread .topbar{grid-template-areas:"back title actions";grid-template-columns:auto minmax(0,1fr) auto}.topbar>div:first-of-type{grid-area:title;min-width:0}.top-actions{grid-area:actions;justify-self:end}.topbar h1{font-size:clamp(1.35rem,7.2vw,1.8rem);line-height:1.08;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-screen-thread .topbar h1{font-size:clamp(.98rem,4.8vw,1.22rem)}.app-screen-thread .topbar .eyebrow{display:none}.topbar .eyebrow{font-size:.64rem;letter-spacing:.1em}.mobile-back{display:none;font-size:.78rem;gap:.3rem;min-height:2rem;padding:0 .55rem;width:auto}.app-screen-thread .mobile-back{display:inline-flex;grid-area:back;justify-self:start;border-radius:999px;color:var(--accent)}.top-actions .connection-badge{max-width:2rem;overflow:hidden;padding-inline:.42rem}.top-actions .connection-badge svg{flex:0 0 auto}.top-actions .connection-badge{font-size:0;gap:0}.top-actions .theme-toggle span{display:none}.top-actions .theme-toggle,.top-actions .password-button{min-height:2rem;min-width:2rem}.top-actions{gap:.24rem}.top-actions .password-button{padding-inline:.52rem}.top-actions .password-button span{display:none}.top-actions .icon-button,.top-actions .theme-toggle{height:2rem;width:2rem}.diagnostics-panel{max-height:calc(var(--app-height) - 1rem);padding:.85rem}.diagnostics-summary{grid-template-columns:auto minmax(0,1fr)}.diagnostics-summary .secondary-button{grid-column:1 / -1}.diagnostics-meta{grid-template-columns:1fr}.workspace{display:block;height:calc(var(--app-height) - 4.1rem);max-width:100%;overflow-x:hidden}.app-screen-thread .workspace{height:calc(var(--app-height) - 3.45rem)}:root[data-keyboard=open] .app-screen-thread .topbar{display:none}:root[data-keyboard=open] .app-screen-thread .workspace{height:calc(var(--app-height) - .62rem)}:root[data-keyboard=open] .app-screen-thread .detail-panel{border-radius:.9rem}.panel{height:100%;max-width:100%;overflow-x:hidden}.thread-detail{display:grid;flex:1 1 auto;grid-template-rows:minmax(0,1fr) auto;height:auto;min-height:0;overflow:hidden}.projects-panel,.detail-panel{display:none}.screen-projects .projects-panel,.screen-threads .projects-panel,.screen-thread .detail-panel{display:flex}.thread-toolbar{align-items:flex-start;flex-direction:column;padding:.5rem .65rem}.thread-toolbar-main,.thread-toolbar-side{width:100%}.thread-toolbar-side{justify-content:stretch;margin-left:0}.thread-search{width:100%}.message-bubble{max-width:calc(100vw - 5.5rem)}.messages{gap:.72rem;min-height:0;overscroll-behavior-x:contain;padding:.58rem .58rem .32rem;scroll-padding-bottom:.8rem;touch-action:pan-y}:root[data-keyboard=open] .messages{gap:.52rem;padding:.44rem .48rem .2rem;scroll-padding-bottom:.35rem}.composer{border-radius:0 0 1rem 1rem;box-shadow:0 -.35rem 1rem #2230450f;flex:0 0 auto;gap:.34rem;grid-template-columns:minmax(0,1fr) auto;margin-top:0;padding:.42rem .5rem max(.52rem,env(safe-area-inset-bottom));position:relative;z-index:4}:root[data-keyboard=open] .composer{border-radius:0 0 .9rem .9rem;gap:.3rem;padding:.34rem .42rem}:root[data-keyboard=open] .attachment-strip{max-height:4.8rem;overflow-y:auto}.composer-assist{border-radius:1.05rem;bottom:calc(100% + .42rem);left:.5rem;max-height:min(15.5rem,42vh);right:.5rem}.composer-assist-item{min-height:3rem;padding:.58rem .68rem}.composer:focus-within{border-top-color:var(--accent-strong);box-shadow:0 -.5rem 1.8rem #22304514,0 0 0 .16rem var(--accent-soft)}.composer textarea{border-radius:.82rem;font-size:16px;max-height:5.5rem;min-height:2.45rem;padding:.62rem .72rem}.login-card input,.password-panel input{font-size:16px}:root[data-keyboard=open] .composer textarea{max-height:4.1rem;min-height:2.3rem;padding:.54rem .64rem}.attach-button,.send-button{border-radius:.82rem;height:2.45rem;width:2.45rem}:root[data-keyboard=open] .attach-button,:root[data-keyboard=open] .send-button{height:2.3rem;width:2.3rem}}
