@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/jetbrains-mono-regular.woff2?v=1c116ecdbf23") format("woff2")}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/fira-code-regular.woff2?v=3dfd7da84543") format("woff2")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-mono-regular.woff2?v=93ff1d2788ac") format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/inter-regular.woff2?v=cada73c24ab2") format("woff2")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/ibm-plex-sans-regular.woff2?v=e93b8ddf8be4") format("woff2")}@font-face{font-family:Work Sans;font-style:normal;font-weight:400;font-display:swap;src:url("/fonts/work-sans-regular.woff2?v=f555270ce083") format("woff2")}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/jetbrains-mono-600-latin.woff2?v=400c6bfda18d") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/jetbrains-mono-600-cyrillic.woff2?v=b450f960a0d2") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/fira-code-600-latin.woff2?v=53bd904d81c0") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/fira-code-600-cyrillic.woff2?v=8398e437adb9") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-mono-600-latin.woff2?v=0d1f0b8d0722") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-mono-600-cyrillic.woff2?v=2b05a8695c7f") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/inter-600-latin.woff2?v=f9a06e79cd3a") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/inter-600-cyrillic.woff2?v=6c2a37f82a67") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-sans-600-latin.woff2?v=8960851d691c") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Sans;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/ibm-plex-sans-600-cyrillic.woff2?v=730becc6f005") format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Work Sans;font-style:normal;font-weight:600;font-display:swap;src:url("/fonts/work-sans-600-latin.woff2?v=c536b548fdcb") format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:calc(87.5% * var(--font-scale, 1))}body{font-family:var(--font);background:var(--bg);color:var(--text);line-height:1.5;-webkit-font-smoothing:antialiased;height:100vh;height:100dvh;overflow:hidden}:focus-visible{outline:2px solid var(--cyan);outline-offset:2px;border-radius:4px}[role=button]:focus-visible{outline-offset:-2px}input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;border-color:var(--cyan)}button,input,textarea{font:inherit}button,[role=button]{touch-action:manipulation;-webkit-tap-highlight-color:transparent}.app{display:grid;grid-template-columns:var(--sidebar-col, var(--sidebar-w)) minmax(0,1fr) 0px;grid-template-rows:calc(var(--header-h) + env(safe-area-inset-top)) 1fr;height:100vh;height:100dvh;transition:grid-template-columns .16s ease}body.resizing-diff .app{transition:none}body.resizing-diff{cursor:col-resize}body.resizing-diff *{user-select:none}body.resizing-sidebar .app{transition:none}body.resizing-sidebar{cursor:col-resize}body.resizing-sidebar *{user-select:none}.header{grid-column:1 / -1;display:flex;align-items:center;padding:0 16px;padding-top:env(safe-area-inset-top);padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right));background:var(--bg-surface);border-bottom:1px solid var(--border);gap:10px;z-index:10}@media(max-width:360px){.header{padding:0 8px;gap:6px}.header-right{gap:4px}.header .menu-toggle{padding:4px}}.header-logo{display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--fs-lead);font-weight:600;flex-shrink:0;background:var(--gradient);background-clip:text;-webkit-background-clip:text;color:transparent;-webkit-text-fill-color:transparent}.status-dot{width:10px;height:10px;border-radius:50%;display:inline-block;flex-shrink:0}.status-dot.connected{background:var(--green);box-shadow:0 0 6px color-mix(in srgb,var(--green) 50%,transparent)}.status-dot.reconnecting{background:var(--amber);box-shadow:0 0 6px color-mix(in srgb,var(--amber) 50%,transparent)}.status-dot.offline{background:var(--rose);box-shadow:0 0 6px color-mix(in srgb,var(--rose) 50%,transparent);animation:pulse-status 1.5s ease-in-out infinite}@keyframes pulse-status{0%,to{opacity:1}50%{opacity:.5}}.conn-pill{font-size:var(--fs-micro);color:var(--amber);background:var(--warning-subtle);border:1px solid var(--warning-border);border-radius:20px;padding:2px 8px;flex-shrink:0;white-space:nowrap}.header-right{margin-left:auto;display:flex;gap:8px;align-items:center;flex-shrink:0}.header-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 12px;color:var(--text-dim);font-size:var(--fs-ui);cursor:pointer;font-family:var(--font);min-height:30px;transition:border-color .15s,color .15s,background .15s}.header-btn:hover{border-color:var(--cyan);color:var(--cyan);background:var(--accent-subtle)}.header-btn.active{color:var(--text);border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,transparent)}.menu-toggle{display:flex;background:none;border:none;color:var(--text);cursor:pointer;padding:6px;align-items:center;justify-content:center;flex-shrink:0;border-radius:var(--radius-sm);transition:color .15s,background .15s}.menu-toggle:hover{color:var(--cyan);background:var(--accent-subtle)}.menu-toggle:disabled{opacity:.35;cursor:default}.menu-toggle:disabled:hover{color:var(--text);background:none}.menu-toggle.active{color:var(--cyan)}.chevron-icon{transition:transform .18s ease}.menu-toggle.active .chevron-icon{transform:rotate(180deg)}.modal-status-body{padding:12px 14px;min-height:0;overflow-y:auto}.modal-confirm-body{padding:16px 14px 4px;font-size:var(--fs-body);color:var(--text);min-height:0;overflow-y:auto}.modal-share-body{padding:12px 14px}.share-link-row{display:flex;gap:6px;margin-top:10px}.share-link-input{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-ui);padding:6px 8px;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text)}.shared-view{max-width:760px;margin:0 auto;padding:32px 20px 80px;height:100vh;height:100dvh;overflow-y:auto}.shared-view-loading{display:flex;align-items:center;justify-content:center;height:100%}.shared-view-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;text-align:center}.shared-view-header{display:flex;align-items:center;gap:12px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--border)}.shared-view-logo{width:32px;height:32px;flex-shrink:0}.shared-view-logo .cast-logo-grad-from{stop-color:var(--gradient-from)}.shared-view-logo .cast-logo-grad-to{stop-color:var(--gradient-to)}.shared-view-title{font-size:var(--fs-lead);font-weight:600;color:var(--text)}.shared-view-sub{font-size:var(--fs-ui);color:var(--text-muted);margin-top:2px}.sidebar{position:relative;background:var(--bg-surface);border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.app.sidebar-collapsed .sidebar{border-right-color:transparent}.sidebar-resize-handle{position:absolute;top:0;bottom:0;right:0;width:8px;cursor:col-resize;z-index:6;touch-action:none}.sidebar-resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:3px;width:2px;background:transparent;transition:background .12s}.sidebar-resize-handle:hover:after,body.resizing-sidebar .sidebar-resize-handle:after{background:var(--cyan)}.sidebar-resize-handle:focus-visible{outline:none}.sidebar-resize-handle:focus-visible:after{background:var(--cyan);left:2px;width:4px}.sidebar-scroll{flex:1;overflow-y:auto;min-height:0;display:flex;flex-direction:column}.sidebar-search{width:100%;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;margin:0 0 6px;color:var(--text);font-family:var(--font);font-size:var(--fs-ui);outline:none}.sidebar-search:focus{border-color:var(--cyan)}.sidebar-load-more{display:block;width:100%;margin:8px 0 0;padding:8px 10px;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--text-dim);font-family:var(--font);font-size:var(--fs-ui);cursor:pointer;text-align:center;transition:background .15s,color .15s,border-color .15s}.sidebar-load-more:hover:not(:disabled){background:var(--bg-hover);color:var(--text);border-color:var(--border-active)}.sidebar-load-more:disabled{cursor:default}.sidebar-load-more-spinner{width:14px;height:14px;vertical-align:-2px}.sidebar-load-more[aria-busy=true]{background:none;border-color:transparent}.sidebar-load-more[aria-busy=true] svg{animation:spin .7s linear infinite}.sidebar-empty{display:flex;align-items:center;justify-content:center;flex:1;padding:24px 12px;color:var(--text-muted);font-size:var(--fs-body);text-align:center;min-height:60px}.sidebar-footer{display:flex;align-items:center;gap:8px;padding:10px 14px;border-top:1px solid var(--border);font-family:var(--font-mono);font-size:var(--fs-ui);color:var(--text-dim);flex-shrink:0}.sidebar-footer-model{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-logout{display:grid;place-items:center;width:32px;height:32px;margin-left:auto;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);cursor:pointer;transition:color var(--transition-fast),background var(--transition-fast)}.sidebar-logout svg{width:20px;height:20px}.sidebar-logout:hover,.sidebar-logout:focus-visible{color:var(--cyan);background:var(--accent-subtle)}.sidebar-backdrop{position:fixed;inset:0;z-index:14;display:none}.sidebar-section{padding:12px;display:flex;flex-direction:column;flex:1}.sidebar-section-title{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:4px 4px 8px}.sidebar-group-label{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan);padding:2px 4px 6px}.sidebar-session-group+.sidebar-session-group{margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.sidebar-item{content-visibility:auto;contain-intrinsic-size:auto 36px}.sidebar-session-group{content-visibility:auto;contain-intrinsic-size:auto 120px}.sidebar-group-divider{height:1px;background:var(--border);margin:4px 0 8px}.sidebar-item{position:relative;display:flex;align-items:center;gap:8px;padding:7px 8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;color:var(--text-dim);font-size:var(--fs-body);border:1px solid transparent}.sidebar-item:hover{background:var(--bg-hover);color:var(--text)}.sidebar-item.active{background:var(--bg-raised);color:var(--text);border-color:var(--border)}.sidebar-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-item-name-input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--cyan);border-radius:4px;padding:1px 5px;color:var(--text);font-family:var(--font);font-size:var(--fs-body);outline:none}.sidebar-item-status{width:6px;height:6px;border-radius:50%;flex-shrink:0}.sidebar-item-status.idle{background:var(--text-muted)}.sidebar-item-status.running{background:var(--amber)}.sidebar-item-status.error{background:var(--rose)}.sidebar-item-more,.sidebar-item-pin{flex-shrink:0;width:22px;height:22px;border-radius:4px;border:none;background:none;color:var(--text-muted);cursor:pointer;opacity:0;display:flex;align-items:center;justify-content:center;transition:opacity .1s,background .1s,color .1s}.sidebar-item:hover .sidebar-item-more,.sidebar-item:hover .sidebar-item-pin,.sidebar-item.active .sidebar-item-more,.sidebar-item.active .sidebar-item-pin,.sidebar-item.menu-open .sidebar-item-more,.sidebar-item.menu-open .sidebar-item-pin,.sidebar-item:focus-within .sidebar-item-more,.sidebar-item:focus-within .sidebar-item-pin{opacity:1}.sidebar-item-more:hover,.sidebar-item-pin:hover{background:var(--bg-hover);color:var(--cyan)}.sidebar-item-pin.pinned{opacity:1;color:var(--cyan)}.sidebar-item-menu-anchor{position:relative;flex-shrink:0;display:flex}.sidebar-item-menu{position:fixed;z-index:999;min-width:140px;background:var(--bg-raised);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:0 8px 24px #00000059;padding:4px;display:flex;flex-direction:column;gap:2px}.sidebar-item-menu-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border:none;background:none;border-radius:4px;color:var(--text);font-size:var(--fs-ui);font-family:var(--font);text-align:left;cursor:pointer}.sidebar-item-menu-item:hover{background:var(--bg-hover)}.sidebar-item-menu-item:disabled{color:var(--text-muted);cursor:not-allowed}.sidebar-item-menu-item:disabled:hover{background:none}.sidebar-item-menu-item.danger{color:var(--rose)}.sidebar-item-menu-item.danger:hover{background:var(--danger-muted)}.sidebar-divider{height:1px;background:var(--border);margin:4px 12px}.sidebar-new-section{padding-top:12px;flex-shrink:0}.sidebar-new-buttons{display:flex;gap:8px;margin:0 12px 12px}.new-session-btn{display:flex;align-items:center;justify-content:center;gap:6px;height:32px;padding:0 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-body);color:var(--text-dim);border:1px dashed var(--border-active);background:none;font-family:var(--font);flex:1;min-width:0;transition:border-color .15s,color .15s,background .15s}.new-session-btn:hover{border-color:var(--cyan);color:var(--text);background:var(--bg-hover)}.new-session-btn svg{width:14px;height:14px;flex-shrink:0}.new-session-btn-quick{display:flex;align-items:center;justify-content:center;flex:0 0 auto;width:32px;height:32px;padding:0;border-radius:var(--radius-sm);cursor:pointer;color:var(--text-muted);border:1px dashed var(--border-active);background:none;transition:border-color .15s,color .15s,background .15s}.new-session-btn-quick:hover{border-color:var(--cyan);color:var(--cyan);background:var(--bg-hover)}.new-session-btn-quick svg{width:15px;height:15px}.persona-list{display:none;padding:0 12px 12px}.persona-list.open{display:block}.persona-item{padding:6px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-ui);color:var(--text-dim);transition:background .1s,color .1s}.persona-item:hover{background:var(--bg-hover);color:var(--text)}.persona-item.selected{color:var(--cyan)}.dir-row{display:flex;align-items:center;gap:8px;padding:4px 10px 10px;margin-bottom:4px;border-bottom:1px solid var(--border)}.dir-row-label{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);flex-shrink:0}.dir-toggle{display:flex;flex:1;min-width:0;border:1px solid var(--border);border-radius:var(--radius-sm);overflow:hidden}.dir-toggle-btn{background:none;border:none;color:var(--text-muted);font-family:var(--font-mono);font-size:var(--fs-ui);cursor:pointer;padding:3px 8px;transition:color .1s,background .1s}.dir-toggle-btn:not(:first-child){border-left:1px solid var(--border)}.dir-toggle-btn:hover{color:var(--text);background:var(--bg-hover)}.dir-toggle-btn.active{color:var(--cyan);background:var(--bg-hover)}.dir-toggle-btn:first-child{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-toggle-sandbox{flex-shrink:0}.persona-label{color:var(--text-muted);font-size:var(--fs-micro);margin-left:4px}.composer-role{display:flex;align-items:center;justify-content:space-between;max-width:860px;width:100%;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left)) 6px;font-size:var(--fs-micro);color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em}.composer-role-left{display:flex;align-items:center;gap:6px;color:var(--persona);min-width:0;white-space:nowrap}.composer-role-dot{width:5px;height:5px;border-radius:50%;background:var(--purple);flex-shrink:0}.composer-role-cwd{display:inline-flex;min-width:0;font-family:var(--font-mono);text-transform:none;letter-spacing:0;font-size:var(--fs-micro);color:var(--text-muted)}.composer-role-cwd-path{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.composer-role-mode{font-size:var(--fs-micro);font-weight:600;color:var(--amber);background:color-mix(in srgb,var(--amber) 12%,transparent);padding:1px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em}.composer-elapsed{font-size:var(--fs-body);font-weight:600;color:var(--cyan);font-variant-numeric:tabular-nums}.pending-items{max-width:860px;width:100%;margin:0 auto;padding:0 max(16px,env(safe-area-inset-left)) 4px;display:flex;flex-direction:column;gap:2px}.pending-item{font-size:var(--fs-micro);line-height:1.4;opacity:.85;padding:2px 6px;border-radius:var(--radius-sm);background:var(--warning-subtle)}.pending-item.pending-steer{color:var(--cyan);background:var(--accent-subtle)}.pending-item.pending-queue{color:var(--amber)}.pending-label{font-weight:600}.composer-wrap{position:relative;max-width:860px;width:100%;margin:0 auto}.composer{padding:10px 12px;margin-bottom:max(12px,env(safe-area-inset-bottom));margin-left:max(16px,env(safe-area-inset-left));margin-right:max(16px,env(safe-area-inset-right));border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);display:flex;gap:8px;align-items:flex-end}.composer-input{flex:1;background:none;border:none;padding:8px 6px;color:var(--text);font-family:var(--font);font-size:var(--fs-body);resize:none;outline:none;min-height:24px;max-height:150px;line-height:1.5;caret-color:var(--cyan)}.composer:focus-within{border-color:var(--cyan)}.composer-input::placeholder{color:var(--text-muted)}.composer-input:disabled{opacity:.55;cursor:wait}.composer-send{background:var(--cyan);border:1px solid var(--cyan);border-radius:var(--radius);padding:8px;color:var(--accent-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;transition:opacity .15s}.composer-send:hover{opacity:.9}.composer-send:disabled{opacity:.4;cursor:default}.composer-abort{background:transparent;border:1px solid var(--danger-border);border-radius:var(--radius);padding:8px;color:var(--status-error-fg);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;transition:background .15s}.composer-abort:hover{background:var(--danger-muted)}.composer-abort:disabled{opacity:.6;cursor:wait}.composer-abort[aria-busy=true] svg,.verify-btn[aria-busy=true] svg{animation:spin .7s linear infinite}.composer-drag-over{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 8%,var(--bg-surface))}.composer-attach{background:transparent;border:none;padding:8px;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--radius);transition:color .15s,background .15s}.composer-attach:hover{color:var(--text);background:var(--bg-hover)}.composer-attach:disabled{opacity:.4;cursor:default}.composer-images{display:flex;flex-wrap:wrap;gap:8px;padding:0 max(16px,env(safe-area-inset-left)) 8px}.composer-image-thumb{position:relative;width:56px;height:56px;border-radius:6px;overflow:hidden;border:1px solid var(--border)}.composer-image-thumb img{width:100%;height:100%;object-fit:cover;display:block}.composer-image-remove{position:absolute;top:2px;right:2px;width:16px;height:16px;display:flex;align-items:center;justify-content:center;background:#0009;border:none;border-radius:50%;color:#fff;cursor:pointer;padding:0}.composer-image-remove svg{width:10px;height:10px}.composer-image-remove:hover{background:#000000d9}.composer-voice{display:flex;align-items:center;gap:8px;margin:0 max(16px,env(safe-area-inset-left)) 6px;padding:4px 6px 4px 10px;border:1px solid var(--border);border-radius:var(--radius);background:var(--bg-surface);font-size:var(--fs-ui);color:var(--text-muted);font-variant-numeric:tabular-nums;width:fit-content;max-width:calc(100% - 32px)}.composer-voice-live{color:var(--status-error-fg)}.composer-voice-live:before{content:"";display:inline-block;width:8px;height:8px;margin-right:6px;border-radius:50%;background:currentColor;vertical-align:1px;animation:composer-voice-pulse 1.2s ease-in-out infinite}@keyframes composer-voice-pulse{50%{opacity:.35}}@media(prefers-reduced-motion:reduce){.composer-voice-live:before{animation:none}}.composer-voice-player{height:32px;max-width:240px;min-width:0}.composer-mic-recording{color:var(--status-error-fg)}.composer-docs{display:flex;flex-wrap:wrap;gap:6px;padding:0 max(16px,env(safe-area-inset-left)) 6px}.composer-doc-chip{display:flex;align-items:center;gap:4px;padding:3px 6px 3px 10px;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-surface);font-size:var(--fs-ui);color:var(--text-muted);max-width:220px}.composer-doc-chip-error{border-color:var(--danger-border-strong);color:var(--status-error-fg)}.composer-doc-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.composer-doc-remove{display:flex;align-items:center;justify-content:center;width:18px;height:18px;padding:0;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:50%;flex-shrink:0}.composer-doc-remove:hover{background:var(--bg-hover);color:var(--text)}.composer-doc-remove svg{width:11px;height:11px}.cmd-palette{position:absolute;bottom:100%;left:16px;right:16px;left:max(16px,env(safe-area-inset-left));right:max(16px,env(safe-area-inset-right));margin-bottom:8px;background:var(--bg-surface);border:1px solid var(--border);border-radius:var(--radius);max-height:240px;overflow-y:auto;display:none;z-index:20;box-shadow:0 8px 24px #00000059;padding:4px}.cmd-palette.open{display:block}.cmd-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s}.cmd-item:hover,.cmd-item.selected{background:var(--bg-hover)}.cmd-item.disabled{opacity:.4;cursor:default}.cmd-name{font-family:var(--font-mono);font-size:var(--fs-ui);color:var(--text);flex-shrink:0}.cmd-desc{font-size:var(--fs-ui);color:var(--text-muted);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-loading{color:var(--text-muted);font-size:var(--fs-ui);cursor:default}.cmd-blocked-hint{font-size:var(--fs-micro);color:var(--rose);margin-left:auto}@media(max-width:768px){.app{grid-template-columns:1fr}.sidebar{position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top));left:0;bottom:0;width:100%;transform:translate(-100%);transition:transform .2s var(--ease-out);z-index:15;overflow:hidden}.sidebar-resize-handle{display:none}.sidebar.open{transform:translate(0)}.sidebar-backdrop{top:calc(var(--header-h) + env(safe-area-inset-top));background:#0009;backdrop-filter:blur(2px)}.sidebar-backdrop.visible{display:block}.menu-toggle{display:flex}.scroll-bottom-btn{bottom:92px}.diff-panel{position:fixed;top:calc(var(--header-h) + env(safe-area-inset-top));right:0;bottom:0;width:100%;z-index:15;display:flex;transform:translate(100%);transition:transform .2s var(--ease-out)}.diff-panel.open{transform:translate(0)}.sidebar:has(~.diff-panel.open){display:none}.diff-resize-handle{display:none}.empty-state-banner{width:280px}}@media(max-width:768px)and (orientation:portrait){.hotkeys-toggle{display:none}}@media(min-width:769px)and (max-width:1100px){.app.with-diff{grid-template-columns:var(--sidebar-col, var(--sidebar-w)) minmax(280px,1fr) var(--diff-w, 45%)}}@media(min-width:1101px){.app.with-diff{grid-template-columns:var(--sidebar-col, var(--sidebar-w)) minmax(320px,1fr) var(--diff-w, 600px)}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--border-active)}.modal-backdrop{position:fixed;inset:0;background:#0009;backdrop-filter:blur(2px);z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal{width:100%;max-width:480px;max-height:min(560px,80vh);display:flex;flex-direction:column;background:var(--bg-surface);border:1px solid var(--border-active);border-radius:var(--radius);box-shadow:0 12px 40px #0006;animation:rise .15s var(--ease-out)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 14px;border-bottom:1px solid var(--border);font-size:var(--fs-body);font-weight:600}.modal-title{font-size:inherit;font-weight:inherit}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;width:24px;height:24px;border-radius:4px;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.modal-close:hover{color:var(--cyan);background:var(--accent-subtle)}@media(max-width:768px)and (orientation:portrait){.modal-backdrop{padding:0;align-items:stretch}.modal{max-width:100%;width:100%;height:100%;max-height:100%;height:100dvh;border-radius:0;border-left:none;border-right:none}.modal:not(.modal-confirm):not(.modal-share){max-width:100%}.modal-confirm,.modal-share{margin:16px;width:calc(100% - 32px);height:auto;max-height:min(560px,90dvh);border-radius:var(--radius);border:1px solid var(--border-active)}.modal-status,.modal-hotkeys{width:100%;max-width:100%;height:100%;max-height:100%;border-radius:0}}.modal-status{width:min(1100px,94vw);max-width:1100px;height:min(760px,88vh);max-height:88vh}.modal-confirm{max-width:360px}.modal-share{max-width:440px}.modal-preview{max-width:min(1100px,92vw);width:100%;height:85vh;max-height:900px}.dir-path{padding:8px 14px;font-family:var(--font-mono);font-size:var(--fs-ui);color:var(--text-dim);background:var(--bg);border-bottom:1px solid var(--border);overflow-x:auto;white-space:nowrap}.dir-list{flex:1;overflow-y:auto;padding:6px;min-height:200px}.dir-item{padding:7px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--fs-ui);color:var(--text-dim);font-family:var(--font-mono);transition:background .1s,color .1s}.dir-item:hover{background:var(--bg-hover);color:var(--text)}.dir-item-up{color:var(--text-muted)}.dir-item-row{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:0}.dir-item-name{flex:1;padding:7px 10px;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dir-item-delete{flex-shrink:0;margin-right:4px;opacity:0;transition:opacity .1s}.dir-item-row:hover .dir-item-delete,.dir-item-delete:focus-visible{opacity:1}.dir-empty,.dir-error{padding:16px;text-align:center;color:var(--text-muted);font-size:var(--fs-ui)}.dir-error{color:var(--status-error-fg)}.dir-new-folder{margin:6px;align-self:flex-start}.dir-create-row{display:flex;gap:6px;padding:6px;border-top:1px solid var(--border)}.dir-create-row input{flex:1;min-width:0;background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 8px;color:var(--text);font-family:var(--font);font-size:var(--fs-ui);outline:none}.dir-create-row input:focus{border-color:var(--cyan)}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:10px 14px;border-top:1px solid var(--border)}.modal-btn{background:transparent;border:1px solid var(--border);border-radius:var(--radius-sm);padding:7px 14px;color:var(--text-dim);font-family:var(--font);font-size:var(--fs-ui);cursor:pointer;transition:border-color .15s,color .15s,background .15s}.modal-btn:hover{border-color:var(--border-active);color:var(--text);background:var(--bg-hover)}.modal-choice-description{display:block;margin-top:4px;color:var(--text-dim);font-size:var(--fs-ui);line-height:1.35;text-align:left}.plan-decision-card{flex-shrink:0;font-family:var(--font-mono);font-size:var(--fs-ui);border-radius:var(--radius-sm);margin:4px 0;overflow:hidden;background:var(--bg-surface);border:1px solid var(--border)}.plan-decision-header{display:flex;align-items:center;gap:8px;padding:7px 10px}.plan-decision-name{color:var(--blue);font-weight:400;background:var(--bg-raised);border:1px solid var(--border);border-radius:4px;padding:1px 6px;font-size:var(--fs-ui)}.plan-decision-kind{color:var(--text-muted);font-size:var(--fs-micro)}.plan-decision-body{padding:8px 10px;border-top:1px solid var(--border);color:var(--text-dim);line-height:1.45}.plan-decision-options{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:6px;padding:8px 10px;border-top:1px dashed var(--border);background:var(--bg)}.plan-review-card .plan-decision-options,.question-card .plan-decision-options{grid-template-columns:1fr}.plan-decision-option{padding:8px 9px;border:1px solid var(--border);border-radius:4px;background:var(--bg-surface);color:var(--text);font:inherit;text-align:left;cursor:pointer;transition:border-color .15s,background .15s}.plan-decision-option:hover{border-color:var(--border-active);background:var(--bg-raised)}.question-card .plan-decision-option.selected{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,var(--bg-surface))}.question-card .plan-decision-option.selected .plan-decision-option-label{color:var(--cyan)}.plan-decision-option-label{display:block;font-size:var(--fs-ui);font-weight:600}.plan-decision-option-description{display:block;margin-top:4px;color:var(--text-dim);font-size:var(--fs-ui);line-height:1.35}.plan-decision-textarea{grid-column:1 / -1;cursor:text;resize:vertical;line-height:1.4;font-size:var(--fs-ui)}.plan-decision-textarea::placeholder{color:var(--text-dim);font-size:var(--fs-ui)}.plan-decision-textarea:focus{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,var(--bg-surface))}.icon-btn{padding:4px 6px;border:none;background:none;color:var(--text-dim);cursor:pointer;border-radius:var(--radius-sm);display:inline-flex;align-items:center}.icon-btn:hover{color:var(--cyan);background:var(--accent-subtle)}.icon-btn:disabled{opacity:.35;cursor:default}.icon-btn:disabled:hover{color:var(--text-dim);background:none}.icon-btn.active{color:var(--cyan)}.icon-btn.modal-btn-danger:hover{color:var(--status-error-fg);background:var(--danger-muted)}.modal-btn-primary{background:var(--cyan);border-color:var(--cyan);color:var(--accent-fg);font-weight:600}.modal-btn-primary:hover{opacity:.9;background:var(--cyan)}.modal-btn-danger{color:var(--status-error-fg);border-color:var(--danger-border)}.modal-btn-danger:hover{background:var(--danger-muted);border-color:var(--danger-border-strong);color:var(--status-error-fg)}.modal-btn:disabled{opacity:.45;cursor:default}.modal-hotkeys{width:min(1100px,94vw);max-width:1100px;height:min(760px,88vh);max-height:88vh}.hotkeys-list{padding:12px 14px;min-height:0;overflow-y:auto}.hotkey-group{margin-bottom:12px}.hotkey-group:last-child{margin-bottom:0}.hotkey-group-title{font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--cyan);margin-bottom:6px}.hotkey-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;font-size:var(--fs-ui);color:var(--text-dim)}.hotkey-label{flex:1}.hotkey-keys{display:flex;align-items:center;gap:4px}.hotkey-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;font-family:var(--font-mono);font-size:var(--fs-ui);font-weight:600;background:var(--bg);border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;color:var(--text-muted);line-height:1}.hidden{display:none!important}.cast-tooltip{position:fixed;pointer-events:none;opacity:0;z-index:9999;transition:opacity .1s ease;background:var(--bg-raised);color:var(--text);border:1px solid var(--border-active);border-radius:var(--radius-sm);padding:5px 9px;font-family:var(--font);font-size:var(--fs-ui);font-weight:400;line-height:1.35;white-space:nowrap;max-width:none}@media(hover:none){.cast-tooltip{display:none!important}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.modal-new-session{width:min(1100px,94vw);max-width:1100px;height:min(760px,88vh);max-height:88vh;display:flex;flex-direction:column}.new-session-body{padding:14px;display:flex;flex-direction:column;gap:4px;overflow-y:auto;flex:1;min-height:0}.modal-new-session .modal-footer{flex-shrink:0;position:sticky;bottom:0;background:var(--bg-surface)}.new-session-model{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}.new-session-model>select{width:100%;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text);font-size:var(--fs-body);line-height:1.2}.new-session-model-row{display:flex;gap:8px;align-items:center;width:100%}.new-session-model-row select{flex:1;min-width:0;padding:6px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg-surface);color:var(--text);font-size:var(--fs-body);line-height:1.2}.verify-btn{flex:0 0 32px;width:32px;height:32px;min-width:32px;min-height:32px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;border:1px solid var(--border);border-radius:8px;padding:0;background:var(--bg-surface);color:var(--text-dim)}@media(max-width:768px){.modal-new-session{width:100%;max-width:100%;height:100%;max-height:100%;height:100dvh;border-radius:0;border-left:none;border-right:none}}.new-session-personas{display:grid;grid-template-columns:1fr 1fr;gap:6px;max-width:520px;margin:0 auto;width:100%}.new-session-persona{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);color:var(--text-dim);font-family:var(--font);font-size:var(--fs-ui);cursor:pointer;transition:border-color .15s,background .15s,color .15s}@media(max-width:420px){.new-session-personas{grid-template-columns:1fr}}.new-session-persona:hover{border-color:var(--border-active);color:var(--text)}.new-session-persona.selected{border-color:var(--cyan);background:color-mix(in srgb,var(--cyan) 14%,var(--bg-surface));color:var(--cyan)}.new-session-persona-label{font-weight:600;text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-session-persona-source{font-size:var(--fs-ui);color:var(--text-muted);text-align:left;width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.new-session-cwd{display:flex;gap:6px;flex-wrap:wrap}.new-session-cwd-toggle{flex:1 1 0;min-width:0;text-align:center}.new-session-cwd-toggle.active{border-color:var(--cyan);color:var(--cyan);background:color-mix(in srgb,var(--cyan) 12%,var(--bg-surface))}.new-session-worktree{margin-top:12px;padding:10px 12px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg);display:flex;flex-direction:column;gap:6px}.new-session-checkbox{display:flex;align-items:center;gap:6px;color:var(--text);font-size:var(--fs-ui);cursor:pointer}.new-session-checkbox input{margin:0;accent-color:var(--cyan)}.new-session-form-row{display:flex;gap:6px}.new-session-input{flex:1;min-width:0;background:var(--bg-inset);border:1px solid var(--border);border-radius:var(--radius-sm);padding:6px 10px;color:var(--text);font-family:var(--font-mono);font-size:var(--fs-ui);outline:none}.new-session-input:focus{border-color:var(--cyan)}.new-session-error{margin:0;color:var(--status-error-fg);font-size:var(--fs-ui)}.new-session-body code{font-family:var(--font-mono);font-size:var(--fs-ui);background:var(--bg-inset);padding:1px 4px;border-radius:3px}.new-session-section-title{color:var(--text-muted);font-size:var(--fs-micro);font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin:14px 0 6px}.modal-hint{margin:0;color:var(--text-dim);font-size:var(--fs-ui);line-height:1.45}.modal-hint code{font-family:var(--font-mono);font-size:var(--fs-ui);background:var(--bg-inset);padding:1px 4px;border-radius:3px;color:var(--text)}.new-session-cwd-preview{display:flex;align-items:center;gap:8px;margin-top:8px;padding:8px 10px;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--bg-inset)}.new-session-cwd-preview svg{flex-shrink:0;width:14px;height:14px;color:var(--text-muted)}.new-session-cwd-preview-label{color:var(--text-muted);font-size:var(--fs-micro);white-space:nowrap}.new-session-cwd-preview-path{font-family:var(--font-mono);font-size:var(--fs-ui);color:var(--text);background:transparent;padding:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}@media(hover:none){.sidebar-item-more,.sidebar-item-pin,.code-copy-btn,.dir-item-delete,.fs-row-actions{opacity:1}}@media(pointer:coarse){input,textarea,select{font-size:max(16px,1rem)!important}.header-btn,.menu-toggle,.composer-send,.composer-abort,.composer-attach,.modal-close,.verify-btn,.sidebar-logout,.new-session-btn,.new-session-btn-quick,.scroll-bottom-btn,.dash-pager-btn,.fs-collapse-btn,.fs-action,.dir-toggle-btn{min-width:44px;min-height:44px}.cmd-item,.turn-retry .modal-btn{min-height:44px}.verify-btn{flex-basis:44px}.sidebar-item-more,.sidebar-item-pin,.composer-doc-remove,.dir-item-delete{position:relative}.sidebar-item-more:after,.sidebar-item-pin:after,.composer-doc-remove:after,.dir-item-delete:after,.composer-image-remove:after,.code-copy-btn:after{content:"";position:absolute;top:50%;left:50%;width:max(100%,44px);height:max(100%,44px);transform:translate(-50%,-50%)}}@media(prefers-reduced-motion:reduce){@keyframes toast-in{0%{opacity:0}to{opacity:1}}@keyframes btn-fade-in{0%{opacity:0;transform:translate(-50%)}to{opacity:1;transform:translate(-50%)}}.app,.sidebar,.diff-panel,.chevron-icon,.fs-chevron{transition:none}.status-dot.offline,.fs-skeleton-row{animation:none}}
