:root{--bg:#fff;--surface:#fff;--surface-2:#f8f8f8;--surface-3:#f1f1f1;--ink:#111;--muted:#666;--line:#e5e5e5;--line-strong:#ccc;--accent:#d97706;--accent-contrast:#241200;--accent-hover:#b45309;--danger:#c00;--danger-soft:#fee2e2;--ok:#166534;--merged:#8250df;--unseen:#2563eb;--term-selection:#2563eb52;--term-selection-inactive:#2563eb33;--radius:12px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--surface:#1a1a1a;--surface-2:#222;--surface-3:#2a2a2a;--ink:#eee;--muted:#888;--line:#333;--line-strong:#444;--accent:#f87c18;--accent-contrast:#081028;--accent-hover:#ff9433;--danger:#f44;--danger-soft:#3a1a1a;--ok:#2a4;--merged:#a371f7;--unseen:#5b9dff;--term-selection:#60a5fa66;--term-selection-inactive:#60a5fa42}@media (prefers-color-scheme:dark){:root:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#111;--surface:#1a1a1a;--surface-2:#222;--surface-3:#2a2a2a;--ink:#eee;--muted:#888;--line:#333;--line-strong:#444;--accent:#f87c18;--accent-contrast:#081028;--accent-hover:#ff9433;--danger:#f44;--danger-soft:#3a1a1a;--ok:#2a4;--merged:#a371f7;--unseen:#5b9dff;--term-selection:#60a5fa66;--term-selection-inactive:#60a5fa42}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overscroll-behavior:none;overflow:hidden}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;font:15px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font:inherit;cursor:pointer}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.001ms!important;animation-duration:.001ms!important;animation-iteration-count:1!important}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input,textarea,select{font-family:inherit;font-size:16px}.app{top:var(--app-top,0px);width:100%;height:var(--app-h,100dvh);grid-template-columns:minmax(300px,22vw) 1fr;display:grid;position:fixed;left:0;overflow:hidden}.sidebar{min-height:0;height:var(--app-h,100dvh);border-right:1px solid var(--line);background:var(--surface);flex-direction:column;display:flex;position:sticky;top:0}.sidebar-head{border-bottom:1px solid var(--line);padding:14px 16px;padding-top:max(14px, env(safe-area-inset-top));justify-content:space-between;align-items:center;display:flex}.sidebar-head-actions{align-items:center;gap:8px;display:flex}.brand{letter-spacing:.02em;font-weight:700}.sidebar-foot{border-top:1px solid var(--line);margin-top:auto;padding:12px}.main{min-width:0;min-height:0;height:var(--app-h,100dvh);flex-direction:column;display:flex;overflow:hidden}.topbar{border-bottom:1px solid var(--line);padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));align-items:center;gap:10px;display:flex}.topbar-title{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.topbar-title-row{align-items:center;gap:8px;min-width:0;display:flex}.title{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;margin:0;font-size:16px;font-weight:650;line-height:1.25;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:8px;min-width:0;display:flex}.session-actions-wrap{flex:none;position:relative}.session-actions-btn{color:var(--ink);background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:20px;line-height:1}.session-actions-btn:hover,.session-actions-btn[aria-expanded=true]{background:var(--surface-3)}.session-actions-menu{z-index:40;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;min-width:190px;padding:4px;animation:.14s sheet-up;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.session-actions-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13px;display:block}.session-actions-item:hover{background:var(--surface-2)}.session-actions-item.danger{color:var(--danger)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}.session-list{flex-direction:column;flex:1;min-height:0;padding:10px;display:flex;overflow:hidden auto}.session-list-tools{align-items:center;gap:8px;margin-bottom:8px;display:flex}.session-search{border:1px solid var(--line);background:var(--surface-2);width:100%;min-width:0;color:var(--ink);border-radius:10px;flex:1;padding:8px 10px}.session-filter{flex:none;position:relative}.session-filter-btn{border:1px solid var(--line);background:var(--surface-2);width:38px;height:38px;color:var(--muted);border-radius:10px;justify-content:center;align-items:center;font-size:20px;line-height:1;display:inline-flex;position:relative}.session-filter-btn:hover,.session-filter-btn.active,.session-filter-btn[aria-expanded=true]{color:var(--ink);border-color:var(--line-strong);background:var(--surface-3)}.session-filter-count{background:var(--accent);min-width:17px;height:17px;color:var(--accent-contrast);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:-5px;right:-5px}.session-filter-menu{z-index:30;background:var(--surface);border:1px solid var(--line-strong);border-radius:14px;width:min(280px,100vw - 24px);padding:6px;animation:.14s sheet-up;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 16px 45px #00000038}.session-filter-section+.session-filter-section{border-top:1px solid var(--line);margin-top:6px;padding-top:6px}.session-filter-head{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:6px 10px 4px;font-size:12px;font-weight:700}.session-filter-item{width:100%;color:var(--ink);text-align:left;background:0 0;border:0;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;font-size:14px;display:flex}.session-filter-item:hover,.session-filter-item[aria-checked=true]{background:var(--surface-2)}.session-filter-item span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.session-filter-check{color:var(--accent);flex:none;font-weight:700}.session-filter-empty{color:var(--muted);padding:8px 10px;font-size:13px}.session-filter-foot{border-top:1px solid var(--line);align-items:center;gap:8px;margin-top:6px;padding:8px 10px 4px;display:flex}.session-filter-summary{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.session-filter-clear{color:var(--accent);background:0 0;border:0;flex:none;padding:2px 0;font-size:12px}.session-list ul{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.session-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:10px;align-items:center;gap:9px;padding:10px;display:flex}.session-item:hover{background:var(--surface-2)}.session-item.active{background:var(--surface-3)}.session-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.session-title-row{align-items:flex-start;gap:6px;min-width:0;display:flex}.session-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:13px;font-weight:600;line-height:1.25;display:-webkit-box;overflow:hidden}.session-age{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:12px;line-height:1.25}.session-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.25;overflow:hidden}.session-dot{background:var(--line-strong);border-radius:50%;flex:none;width:8px;height:8px}.session-dot.idle{background:var(--line-strong)}.session-dot.idle.unseen{background:var(--unseen);box-shadow:0 0 0 3px color-mix(in srgb, var(--unseen) 25%, transparent)}.session-dot.saved{border:1.5px solid var(--muted);opacity:.7;background:0 0}.session-dot.working{background:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb, var(--accent) 22%, transparent);animation:1.4s ease-in-out infinite dot-pulse}.session-dot.needs-action{background:var(--danger);box-shadow:0 0 0 3px color-mix(in srgb, var(--danger) 22%, transparent)}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.45}}.session-row{align-items:center;display:flex;position:relative}.session-row .session-item{flex:1}.row-menu{flex:none;position:relative}.row-menu-btn{color:var(--muted);opacity:.35;background:0 0;border:0;border-radius:8px;padding:4px 8px;font-size:16px;line-height:1}.session-row:hover .row-menu-btn{opacity:1}.row-menu-btn:hover{background:var(--surface-3);color:var(--ink)}@media (hover:none){.row-menu-btn{opacity:.6}}.row-menu-pop{z-index:20;background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;min-width:180px;padding:4px;position:absolute;top:calc(100% + 2px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.row-menu-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:8px;padding:9px 12px;font-size:13px;display:block}.row-menu-item:hover{background:var(--surface-2)}.row-menu-item.danger{color:var(--danger)}.pause-pill{border-color:var(--line-strong)}.session-empty{color:var(--muted);padding:12px 10px;font-size:13px}.session-more{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;align-self:center;margin:6px 0 2px;padding:6px 14px;font-size:12px}.session-more:hover{color:var(--ink);border-color:var(--line-strong)}.chat-wrap{flex:1;min-height:0;display:flex;position:relative}.chat{overflow-anchor:none;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;display:flex;overflow:hidden auto}.chat-inner{box-sizing:border-box;flex-direction:column;flex:1 0 auto;gap:14px;min-height:100%;padding:20px;display:flex}.jump-latest{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:999px;padding:6px 14px;font-size:13px;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0003}.load-earlier{border:1px solid var(--line);background:var(--surface-2);color:var(--muted);border-radius:999px;align-self:center;margin-bottom:4px;padding:6px 14px;font-size:12px}.load-earlier:hover{color:var(--ink);border-color:var(--line-strong)}.chat-empty{margin:calc(var(--app-h,100dvh) * .22) auto auto;color:var(--muted);text-align:center;max-width:320px;padding:0 20px}.chat-empty-title{color:var(--ink);margin:0 0 6px;font-size:16px;font-weight:600}.chat-empty-sub{margin:0;font-size:13px;line-height:1.5}.chat-empty-sub b{color:var(--ink);font-weight:600}.chat-empty-note{border-top:1px solid var(--line);margin-top:12px;padding-top:12px;font-size:12px}.chat-loading{color:var(--muted);flex-direction:column;align-items:center;gap:12px;margin:auto;display:flex}.chat-loading p{margin:0}.chat-loading-spinner{border:3px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;width:26px;height:26px;animation:.7s linear infinite spin}.msg{overflow-wrap:anywhere;word-break:break-word;max-width:760px}.msg.user{background:var(--surface-3);color:var(--ink);white-space:pre-wrap;border-radius:16px 16px 4px;align-self:flex-end;padding:10px 14px}.msg-attachments{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.msg-attachments:last-child{margin-bottom:0}.msg-attachment.image{border-radius:10px;max-width:220px;line-height:0;display:block;overflow:hidden}.msg-attachment.image img{object-fit:cover;max-width:100%;max-height:220px;display:block}.msg-attachment.file{border:1px solid var(--line-strong);background:var(--surface);max-width:220px;color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:4px 8px;font-size:12px;text-decoration:none;display:inline-flex}.msg-attachment.file:hover{border-color:var(--accent)}.msg-attachment.file.omitted{opacity:.7;cursor:default}.msg-attachment.file .attach-name{text-overflow:ellipsis;white-space:nowrap;max-width:120px;overflow:hidden}.msg-attachment.file .attach-size{color:var(--muted);flex:none}.msg.assistant{align-self:stretch;width:100%}.msg.assistant.streaming-text{white-space:pre-wrap;overflow-wrap:anywhere}.msg.assistant :where(p,ul,ol,pre,table,blockquote){margin:.5em 0}.msg.assistant :where(p,ul,ol,pre,table,blockquote):first-child{margin-top:0}.msg.assistant :where(p,ul,ol,pre,table,blockquote):last-child{margin-bottom:0}.msg.assistant :where(h1,h2,h3,h4){margin:.8em 0 .4em;font-weight:650;line-height:1.25}.msg.assistant h1{font-size:1.4em}.msg.assistant h2{font-size:1.25em}.msg.assistant h3{font-size:1.1em}.msg.assistant h4{font-size:1em}.msg.assistant ul,.msg.assistant ol{padding-left:1.4em}.msg.assistant li{margin:.15em 0}.msg.assistant li.task-list-item{margin-left:-1.2em;list-style:none}.msg.assistant li.task-list-item input{vertical-align:middle;margin-right:6px}.msg.assistant li.task-list-item input+p{margin:0;display:inline}.msg.assistant hr{border:0;border-top:1px solid var(--line);margin:.9em 0}.msg.assistant blockquote{border-left:3px solid var(--line-strong);color:var(--muted);padding-left:12px}.msg.assistant a{color:var(--accent);text-decoration:underline}.msg.assistant pre{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;max-width:100%;padding:10px 12px;font-size:12.5px;line-height:1.5;overflow-x:auto}.msg.assistant .code-block-wrap{margin:.5em 0;position:relative}.msg.assistant .code-block-wrap:first-child{margin-top:0}.msg.assistant .code-block-wrap:last-child{margin-bottom:0}.msg.assistant .code-block-wrap>pre{margin:0}.code-copy-btn{border:1px solid var(--line);background:var(--surface);width:26px;height:26px;color:var(--muted);cursor:pointer;opacity:0;border-radius:6px;justify-content:center;align-items:center;padding:0;transition:opacity .12s,color .12s;display:inline-flex;position:absolute;top:6px;right:6px}.code-block-wrap:hover .code-copy-btn,.code-copy-btn:focus-visible{opacity:1}.code-copy-btn:hover{color:var(--ink);background:var(--surface-2)}.code-copy-btn.copied{color:var(--ok,#2ea043);opacity:1}@media (hover:none){.code-copy-btn{opacity:.6}}.msg.assistant code{background:var(--surface-2);border:1px solid var(--line);border-radius:4px;padding:0 4px;font-size:.9em}.msg.assistant pre code{font-size:inherit;background:0 0;border:0;padding:0}.msg.assistant pre code.hljs{color:var(--ink);background:0 0;display:block}.hljs-comment,.hljs-quote{color:var(--lightningcss-light,#6a737d)var(--lightningcss-dark,#8b949e);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-doctag,.hljs-meta .hljs-keyword{color:var(--lightningcss-light,#d73a49)var(--lightningcss-dark,#ff7b72)}.hljs-string,.hljs-regexp,.hljs-meta .hljs-string,.hljs-char.escape_{color:var(--lightningcss-light,#032f62)var(--lightningcss-dark,#a5d6ff)}.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-meta{color:var(--lightningcss-light,#005cc5)var(--lightningcss-dark,#79c0ff)}.hljs-title,.hljs-title.function_,.hljs-section{color:var(--lightningcss-light,#6f42c1)var(--lightningcss-dark,#d2a8ff)}.hljs-built_in,.hljs-type,.hljs-title.class_,.hljs-class .hljs-title{color:var(--lightningcss-light,#e36209)var(--lightningcss-dark,#ffa657)}.hljs-attr,.hljs-attribute,.hljs-variable,.hljs-template-variable,.hljs-property,.hljs-selector-attr{color:var(--lightningcss-light,#005cc5)var(--lightningcss-dark,#79c0ff)}.hljs-name,.hljs-selector-id,.hljs-selector-class,.hljs-tag{color:var(--lightningcss-light,#22863a)var(--lightningcss-dark,#7ee787)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:600}.hljs-deletion{color:var(--lightningcss-light,#b31d28)var(--lightningcss-dark,#ffdcd7)}.hljs-addition{color:var(--lightningcss-light,#22863a)var(--lightningcss-dark,#85e89d)}.msg.system{color:var(--muted);text-align:center;flex-direction:column;align-self:center;align-items:center;gap:8px;font-size:13px;font-style:italic;display:flex}.msg.system .system-text{display:block}.notice-action{cursor:pointer;background:var(--accent);color:var(--accent-contrast);border:1px solid #0000;border-radius:999px;padding:6px 14px;font-size:13px;font-style:normal;font-weight:600}.notice-action:hover{background:var(--accent-hover)}.msg.thinking{color:var(--muted);border-left:2px solid var(--line-strong);align-self:flex-start;padding-left:10px;font-size:13px}.msg.error{background:var(--danger-soft);border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);border-left:3px solid var(--danger);border-radius:8px;align-self:stretch;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.msg-error-icon{background:var(--danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-weight:700;display:grid}.msg-error-text{min-width:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;flex:1;font-size:13px;line-height:1.45}.msg.streaming{position:relative}.msg.streaming:after{content:"▍";color:var(--accent);animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.markdown-table-wrap{-webkit-overflow-scrolling:touch;max-width:100%;overflow-x:auto}.msg.assistant table{border-collapse:collapse;width:max-content;min-width:100%}.msg.assistant th,.msg.assistant td{border:1px solid var(--line);white-space:nowrap;padding:4px 8px}.assistant-row{align-self:stretch;width:100%}.msg-copy-btn{color:var(--muted);opacity:.35;cursor:pointer;background:0 0;border:0;border-radius:6px;justify-content:center;align-items:center;width:26px;height:26px;margin-top:4px;padding:0;transition:opacity .12s,color .12s;display:inline-flex}.assistant-row:hover .msg-copy-btn,.msg-copy-btn:focus-visible{opacity:1}.msg-copy-btn:hover{background:var(--surface-2);color:var(--ink)}.msg-copy-btn.copied{color:var(--ok,#2ea043);opacity:1}@media (hover:none){.msg-copy-btn{opacity:.6}}.tool-group{align-self:stretch;width:100%;max-width:760px}.tool-group-line{width:100%;color:var(--muted);font:inherit;text-align:left;background:0 0;border:0;align-items:center;gap:8px;padding:2px 0;font-size:14px;display:flex}.tool-group-line:hover .tool-group-summary,.tool-group-line:hover .tool-chevron{color:var(--ink)}.tool-group-summary{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tool-group-state{display:none}.tool-group-line.is-running .tool-group-state{box-sizing:border-box;border:2px solid color-mix(in srgb, var(--muted) 45%, transparent);border-top-color:var(--accent);border-radius:999px;flex:none;width:8px;height:8px;animation:.8s linear infinite spin;display:block}.tool-chevron{color:var(--muted);flex:none;font-size:11px}.tool-stat{flex:none;align-items:center;gap:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;display:inline-flex}.tool-stat .add{color:var(--ok)}.tool-stat .del{color:var(--danger)}.activity+.activity{border-top:1px solid var(--line)}.activity-row{width:100%;color:var(--ink);font:inherit;text-align:left;background:0 0;border:0;border-radius:0;align-items:center;gap:12px;padding:10px 12px;display:flex}.activity-row:hover{background:var(--surface-2)}.activity-ic{width:20px;height:20px;color:var(--muted);flex:none;place-content:center;display:grid}.activity.is-running .activity-ic{color:var(--accent)}.activity-verb{flex:none;font-size:14px;font-weight:650}.activity-desc{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--muted);flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;overflow:hidden}.activity-detail{gap:14px;padding:4px 14px 16px;display:grid}.tool-detail-block{gap:4px;min-width:0;display:grid}.tool-detail-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.tool-detail-value{background:var(--surface-2);border:1px solid var(--line);white-space:pre;border-radius:6px;max-width:100%;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.tool-detail-value.output{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere;max-height:320px;overflow-y:auto}.tool-detail-value.output pre,.tool-detail-value.output code{white-space:pre-wrap;word-break:break-word;overflow-wrap:anywhere}.diff-viewer{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;max-width:100%;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;overflow:auto}.diff-hunk+.diff-hunk{border-top:1px solid var(--line)}.diff-hunk-title{z-index:1;color:var(--muted);background:var(--surface-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:7px 10px;font-family:inherit;font-size:12px;font-weight:700;display:flex;position:sticky;top:0}.diff-hunk-title>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.diff-line{white-space:pre;grid-template-columns:28px minmax(max-content,1fr);min-width:100%;display:grid}.diff-line.add{background:color-mix(in srgb, var(--ok) 16%, transparent);color:var(--ok)}.diff-line.del{background:var(--danger-soft);color:var(--danger)}.diff-line.ctx{color:var(--ink)}.diff-line.skip{color:var(--muted);background:var(--surface-3);grid-template-columns:28px 1fr;font-style:italic}.diff-gutter{-webkit-user-select:none;user-select:none;text-align:center;color:var(--muted);border-right:1px solid color-mix(in srgb, var(--line) 65%, transparent)}.diff-code{padding:0 10px}.working-row{color:var(--muted);align-items:center;gap:10px;font-size:13px;display:flex}.working-dots{gap:3px;display:inline-flex}.working-dots i{background:var(--accent);border-radius:50%;width:6px;height:6px;animation:1.2s ease-in-out infinite pulse}.working-dots i:nth-child(2){animation-delay:.2s}.working-dots i:nth-child(3){animation-delay:.4s}.approval-stack{flex-direction:column;gap:10px;display:flex}.approval-card{border:1px solid var(--accent);border-radius:var(--radius);background:var(--surface);padding:12px 14px}.approval-card.sev-critical{border-color:var(--danger)}.approval-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.approval-title{font-size:14px;font-weight:650}.approval-badge{text-transform:uppercase;color:var(--accent);background:var(--surface-2);border-radius:999px;flex:none;padding:2px 8px;font-size:11px;font-weight:700}.approval-badge.tone-critical,.approval-badge.tone-high{color:var(--danger)}.approval-consequence{color:var(--muted);margin-bottom:8px;font-size:13px}.approval-reason{color:var(--muted);margin-bottom:8px;font-size:13px;font-style:italic}.approval-tool{font-family:ui-monospace,monospace;font-size:13px}.approval-command{background:var(--surface-2);border:1px solid var(--line);border-radius:8px;margin:0 0 8px;padding:8px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.approval-fields{gap:6px;margin-bottom:8px;display:grid}.approval-field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.approval-field-value{overflow-wrap:anywhere;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px}.approval-raw-toggle{color:var(--muted);background:0 0;border:0;margin-bottom:8px;padding:0;font-size:12px;text-decoration:underline}.approval-raw-toggle:hover{color:var(--ink)}.approval-summary{background:var(--surface-2);border-radius:8px;margin:0 0 10px;padding:8px 10px;font-size:12px;overflow-x:auto}.approval-actions{justify-content:flex-end;gap:8px;display:flex}.approval-card.pending{opacity:.7}.approval-waiting{color:var(--muted);text-align:right;font-size:13px}.approval-stalled{justify-content:flex-end;align-items:center;gap:8px;margin-top:6px;display:flex}.question-card{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:14px;padding:12px 14px;display:flex}.question-item{flex-direction:column;gap:8px;display:flex}.question-head{display:flex}.question-chip{text-transform:uppercase;letter-spacing:.02em;color:var(--accent);background:var(--surface-2);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.question-text{font-size:14px;font-weight:600}.question-options{flex-direction:column;gap:6px;display:flex}.question-option{text-align:left;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 10px;display:flex}.question-option:disabled{opacity:.6}.question-option.selected{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-2))}.question-option-label{font-size:13px;font-weight:600}.question-option-desc{color:var(--muted);font-size:12px}.question-other-input{box-sizing:border-box;resize:vertical;border:1px solid var(--accent);background:var(--surface-2);width:100%;min-height:40px;color:var(--ink);border-radius:10px;padding:8px 10px;font-family:inherit;font-size:16px}.question-other-input:disabled{opacity:.6}.github-pill{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.github-pill .gh-icon{width:14px;height:14px}.github-pill.pr{border-color:var(--ok);color:var(--ok)}.github-pill.pr.merged{border-color:var(--merged);color:var(--merged)}.github-pill.pr.closed{border-color:var(--muted);color:var(--muted)}.github-pill.issue{border-color:var(--accent);color:var(--accent)}.github-pill .gh-text{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.session-pr{border:1px solid var(--ok);color:var(--ok);letter-spacing:.02em;border-radius:999px;flex:none;align-items:center;gap:3px;height:16px;padding:0 6px;font-size:10px;font-weight:700;line-height:1;display:inline-flex}.session-pr .gh-icon{width:10px;height:10px}.session-pr.merged{border-color:var(--merged);color:var(--merged)}.session-pr.closed{border-color:var(--muted);color:var(--muted)}.session-pr-text{white-space:nowrap}.action-sheet{z-index:60;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.action-sheet-backdrop{background:#0006;position:absolute;inset:0}.action-sheet-body{width:100%;max-width:480px;margin:0 12px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;animation:.16s sheet-up;position:relative;overflow:hidden;box-shadow:0 12px 40px #0000004d}@keyframes sheet-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.action-sheet-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:12px 16px;font-weight:700;display:flex}.action-sheet-close{color:var(--muted);background:0 0;border:0;font-size:22px;line-height:1}.action-sheet-item{color:var(--ink);border-bottom:1px solid var(--line);padding:14px 16px;text-decoration:none;display:block}.action-sheet-item:last-child{border-bottom:0}.action-sheet-item:hover{background:var(--surface-2)}button.action-sheet-item{text-align:left;border-style:solid;border-width:0 0 1px;border-color:var(--line);width:100%;font:inherit;background:0 0}button.action-sheet-item:last-child{border-bottom:0}.action-sheet-item.danger{color:var(--danger)}.action-sheet-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.composer-gh,.composer-lead{padding:8px 10px 0;display:flex}.composer-gh{align-items:center;gap:6px}.composer-lead{flex-wrap:wrap;gap:6px}.composer-gh:empty{display:none}.pill-gh{flex:none}.composer-tui-lock{border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--surface-2));border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin:8px 10px 0;padding:8px 12px;display:flex}.composer-tui-lock-text{min-width:0;color:var(--ink);flex:auto;font-size:13px}.composer-tui-lock-actions{flex:none;gap:8px;display:flex}.slash-pill{border:1px solid var(--line);background:var(--surface-2);width:28px;height:28px;color:var(--accent);border-radius:999px;flex:none;justify-content:center;align-items:center;margin-left:auto;padding:0;display:inline-flex}.slash-pill:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3)}.slash-pill:disabled{opacity:.5;cursor:default}.slash-pill .slash-glyph{display:block}.composer{padding:12px 10px;padding-bottom:max(12px, env(safe-area-inset-bottom));display:flex}.composer-card{border:1px solid var(--line-strong);background:var(--surface-2);border-radius:18px;flex-direction:column;flex:1;gap:8px;min-width:0;padding:10px 10px 10px 16px;display:flex;position:relative;box-shadow:0 1px 2px #0000000a}.slash-menu{border:1px solid var(--line-strong);background:var(--surface);z-index:30;border-radius:14px;flex-direction:column;max-height:300px;padding:6px;display:flex;position:absolute;bottom:calc(100% + 8px);left:0;right:0;overflow-y:auto;box-shadow:0 8px 24px #00000029}.slash-item{text-align:left;color:var(--ink);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:8px;align-items:baseline;gap:10px;padding:8px 10px;display:flex}.slash-item:hover,.slash-item.active{background:var(--surface-2)}.slash-name{flex:none;min-width:74px;font-size:14px;font-weight:600}.slash-desc{color:var(--muted);font-size:13px}.composer-card:focus-within{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.composer-input{resize:none;max-height:200px;color:var(--ink);font:inherit;background:0 0;border:0;padding:4px 0;font-size:16px}.composer-input:focus{outline:none}.composer-actions{align-items:center;gap:8px;display:flex}.composer-meta{flex:1;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.pill{border:1px solid var(--line);background:var(--surface);min-width:0;color:var(--ink);border-radius:999px;flex:0 auto;align-items:center;gap:5px;padding:5px 11px;font-size:12px;font-weight:600;display:inline-flex}.pill:hover:not(:disabled){border-color:var(--line-strong);background:var(--surface-3)}.pill:disabled{opacity:.5;cursor:default}.pill-glyph{color:var(--accent);flex:none;align-items:center;display:inline-flex}.pill-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attach-pill,.pause-pill{flex:none}.composer-btn{border:0;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:18px;transition:transform 80ms,background .12s;display:grid}.composer-btn.send{background:var(--accent);color:var(--accent-contrast)}.composer-btn.send:not(:disabled):hover{background:var(--accent-hover)}.composer-btn.send:not(:disabled):active{transform:scale(.92)}.composer-btn.send:disabled{opacity:.35;cursor:default}.composer-btn.stop{background:var(--danger);color:#fff}.composer-btn.stop:active{transform:scale(.92)}.composer-btn.steer{background:var(--unseen);color:#fff}.composer-btn.steer:hover{filter:brightness(1.1)}.composer-btn.steer:active{transform:scale(.92)}.attach-pill,.pause-pill{padding:4px 8px}.composer-btn.mic{background:var(--surface-3);color:var(--muted)}.composer-btn.mic:not(:disabled):hover{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-3))}.composer-btn.mic:not(:disabled):active{transform:scale(.92)}.composer-btn.mic:disabled{opacity:.4;cursor:default}.voice-bar{align-items:center;gap:10px;min-height:44px;padding:4px 6px;display:flex}.voice-btn{cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:15px;transition:transform 80ms,background .12s;display:grid}.voice-btn:active{transform:scale(.92)}.voice-btn:disabled{opacity:.5;cursor:default}.voice-btn.cancel{background:var(--surface-3);color:var(--ink)}.voice-btn.confirm{background:var(--accent);color:var(--accent-contrast)}.voice-btn.confirm:not(:disabled):hover{background:var(--accent-hover)}.voice-wave{flex:1;justify-content:center;align-items:center;gap:3px;min-width:0;height:28px;display:flex;overflow:hidden}.voice-bar-tick{background:var(--accent);transform-origin:50%;border-radius:2px;flex:none;width:3px;height:100%;transition:transform 60ms linear;transform:scaleY(.12)}.voice-time{font-variant-numeric:tabular-nums;color:var(--muted);text-align:right;flex:none;min-width:30px;font-size:12px}.voice-listening{flex:1;align-items:center;gap:8px;min-width:0;display:flex;overflow:hidden}.voice-listening-dot{background:var(--danger);border-radius:50%;flex:none;width:9px;height:9px;animation:1.2s ease-in-out infinite pulse}.voice-listening-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink);font-size:14px;overflow:hidden}.voice-spinner{border:2px solid color-mix(in srgb, var(--accent-contrast) 45%, transparent);border-top-color:var(--accent-contrast);border-radius:50%;width:15px;height:15px;animation:.8s linear infinite spin;display:inline-block}.seg-row{flex-wrap:wrap;gap:8px;margin:2px 0 6px;display:flex}.seg-btn{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:999px;padding:6px 14px;font-size:13px;font-weight:600}.seg-btn:hover{border-color:var(--line-strong)}.seg-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent)}.voice-provider{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:8px;margin-top:10px;padding:10px 12px;display:flex}.voice-provider-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.small{font-size:12px}.btn.sm{border-radius:8px;padding:4px 10px;font-size:12px}.ruleset-rule-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;flex-direction:column;gap:8px;margin-top:8px;padding:12px;display:flex}.ruleset-rule-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.ruleset-chip-row{flex-wrap:wrap;gap:6px;display:flex}.ruleset-chip{border:1px solid var(--line-strong);background:var(--surface);color:var(--muted);cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.ruleset-chip:hover{border-color:var(--accent);color:var(--ink)}.ruleset-chip.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--surface));color:var(--accent)}.ruleset-field-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;display:grid}.ruleset-field-grid .field-label{margin-top:0}.ruleset-chain{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:4px;padding-top:8px;display:flex}.ruleset-chain-row{align-items:flex-end;gap:8px;display:flex}.ruleset-chain-fields{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;min-width:0;display:grid}.ruleset-chain-field{min-width:0;color:var(--muted);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:flex}.ruleset-chain-field .picker-search{min-width:0;margin:0}.ruleset-chain-remove{flex:none;margin-bottom:1px}.ruleset-collapsible{border-top:1px solid var(--line);margin-top:4px;padding-top:8px}.ruleset-collapsible-body{margin-top:8px}.attach-chips{flex-wrap:wrap;gap:6px;padding-bottom:2px;display:flex}.attach-chip{border:1px solid var(--line-strong);background:var(--surface);max-width:200px;color:var(--ink);border-radius:8px;align-items:center;gap:6px;padding:3px 6px 3px 8px;font-size:12px;display:inline-flex}.attach-chip.omitted{opacity:.7}.attach-chip.reading{color:var(--muted)}.attach-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:10px;height:10px;animation:.7s linear infinite spin}.attach-chip .attach-glyph{flex:none}.attach-chip .attach-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.attach-chip .attach-remove{color:var(--muted);background:0 0;border:0;flex:none;padding:6px;font-size:12px;line-height:1}.attach-chip .attach-remove:hover{color:var(--danger)}.attach-chip.has-thumb{padding-left:3px}.attach-thumb-btn{cursor:zoom-in;background:0 0;border:0;border-radius:5px;flex:none;padding:0;line-height:0;overflow:hidden}.attach-thumb{object-fit:cover;border-radius:5px;width:28px;height:28px;display:block}.followup-queue{flex-direction:column;gap:6px;margin:8px 10px 0;display:flex}.followup-queue-head{color:var(--muted);padding:0 2px;font-size:12px;font-weight:600}.followup-list{flex-direction:column;gap:6px;display:flex}.followup-card{border:1px solid var(--line);background:var(--surface-2);border-radius:12px;overflow:hidden}.followup-card.locked{opacity:.75}.followup-card-row{align-items:flex-start;gap:8px;padding:8px 10px;display:flex}.followup-card-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.followup-reorder{flex-direction:column;flex:none;gap:2px;display:flex}.followup-body{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.followup-status{color:var(--muted);text-transform:uppercase;letter-spacing:.02em;font-size:11px;font-weight:600}.followup-card.locked .followup-status{color:var(--accent)}.followup-text{color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}.followup-attachments{flex-wrap:wrap;gap:6px;margin-top:2px;display:flex}.followup-card-actions{flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;display:flex}.followup-edit{flex-direction:column;gap:8px;padding:8px 10px;display:flex}.followup-edit-input{resize:vertical;width:100%;min-height:44px;font:inherit;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);border-radius:8px;padding:6px 8px;font-size:14px}.followup-edit-actions{justify-content:flex-end;gap:8px;display:flex}.followup-reorder .queue-action-btn.icon,.followup-card-actions .queue-action-btn.icon{min-width:32px;min-height:32px}.composer-card.dragging{border-color:var(--accent)}.composer-drop{z-index:5;border-radius:inherit;pointer-events:none;background:color-mix(in srgb, var(--accent) 14%, var(--surface));border:2px dashed var(--accent);color:var(--accent);place-items:center;font-size:13px;font-weight:600;display:grid;position:absolute;inset:0}.image-viewer{z-index:90;cursor:zoom-out;background:#000c;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-viewer-img{object-fit:contain;cursor:default;border-radius:8px;max-width:100%;max-height:100%}.image-viewer-close{top:max(12px, env(safe-area-inset-top));color:#fff;cursor:pointer;background:#00000080;border:0;border-radius:50%;width:40px;height:40px;font-size:26px;line-height:1;position:absolute;right:16px}.sheet{top:var(--app-top,0px);width:100%;height:var(--app-h,100dvh);z-index:76;justify-content:center;align-items:flex-end;display:flex;position:fixed;left:0}.sheet-backdrop{background:#0006;position:absolute;inset:0}.sheet-body{--sheet-clear:max(8px, calc(var(--composer-h,108px) + 8px - var(--keyboard-h,0px)));width:100%;max-width:520px;margin:0 12px var(--sheet-clear);max-height:min(80dvh, calc(var(--app-h,100dvh) - var(--sheet-clear) - 20px));background:var(--surface);border:1px solid var(--line-strong);border-radius:16px;flex-direction:column;min-height:0;animation:.16s sheet-up;display:flex;position:relative;overflow:hidden;box-shadow:0 12px 40px #0000004d}.sheet-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:12px 16px;display:flex}.sheet-title{flex:1;font-weight:700}.sheet-close{color:var(--muted);background:0 0;border:0;font-size:22px;line-height:1}.sheet-content{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:8px;overflow-y:auto}.picker-search{border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);font:inherit;border-radius:10px;margin-bottom:6px;padding:9px 12px;font-size:16px}.sheet-content>.picker-search{z-index:2;box-shadow:0 -8px 0 var(--surface);position:sticky;top:0}.picker-list{flex-direction:column;gap:2px;display:flex}.picker-empty{color:var(--muted);padding:12px 10px;font-size:13px}.picker-item-row{border-radius:10px;align-items:center;display:flex}.picker-item-row.active{background:var(--surface-3)}.picker-item{text-align:left;min-width:0;color:var(--ink);background:0 0;border:0;border-radius:10px;flex:1;align-items:center;gap:10px;padding:10px 12px;display:flex}.picker-item:hover:not(:disabled){background:var(--surface-2)}.picker-item:disabled{opacity:.55}.picker-item-extra{flex:none;align-items:center;padding-right:12px;display:flex}.picker-check{width:14px;color:var(--accent);flex:none}.picker-main{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.picker-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600;overflow:hidden}.picker-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.runtime-meta{flex-direction:column;gap:5px;min-width:0;display:flex}.runtime-meta-text{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.runtime-capabilities{flex-wrap:wrap;gap:4px;display:flex}.runtime-cap,.runtime-tier{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:1px 6px;font-size:10px;line-height:1.5}.runtime-tier.supported{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 65%, var(--line));font-weight:700}.runtime-tier.beta{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 60%, var(--line));font-weight:700}.runtime-tier.planned,.runtime-tier.experimental{opacity:.78}.runtime-cap.ok{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 55%, var(--line))}.runtime-cap.limited{opacity:.72}.picker-action{border:1px solid var(--accent);color:var(--accent);background:0 0;border-radius:8px;flex:none;padding:3px 10px;font-size:12px;font-weight:600}.picker-action.repo-branch-arrow{color:var(--muted);border:0;border-radius:8px;padding:4px 8px;font-size:20px;line-height:1}.picker-action.repo-branch-arrow:hover{color:var(--accent);background:var(--surface-2)}.picker-section-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding:12px 12px 4px;font-size:11px;font-weight:700}.reasoning-wrap{position:relative}.reasoning-pill{border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.reasoning-menu{background:var(--surface);border:1px solid var(--line-strong);z-index:5;border-radius:12px;min-width:160px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.reasoning-opt{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;padding:9px 14px;font-size:13px;display:block}.reasoning-opt:hover{background:var(--surface-2)}.reasoning-opt.active{color:var(--accent);font-weight:700}.picker-section{padding:4px 0}.fork-select-field{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.fork-select-field label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:11px;font-weight:700}.fork-select-field select{border:1px solid var(--line-strong);background:var(--surface);width:100%;color:var(--ink);border-radius:10px;padding:10px 12px}.fork-toggle{color:var(--ink);align-items:center;gap:8px;padding:10px 12px;font-size:13px;display:flex}.fork-toggle input{width:16px;height:16px}.fork-error{background:var(--surface-2);color:var(--danger,#d33);border-radius:10px;margin:4px 12px;padding:8px 10px;font-size:12px}.fork-warn{background:var(--surface-2);color:var(--muted);border-radius:10px;margin:4px 12px;padding:8px 10px;font-size:12px}.fork-submit{background:var(--accent);color:#fff;border:0;border-radius:12px;width:calc(100% - 24px);margin:8px 12px;padding:11px 14px;font-size:14px;font-weight:700}.fork-submit:disabled{opacity:.6}.import-session-hint{color:var(--muted);margin:4px 12px;padding:10px;font-size:12px}.import-session-badge{background:var(--surface-2);color:var(--muted);white-space:nowrap;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-block}.import-session-action{background:var(--accent);color:#fff;white-space:nowrap;border:0;border-radius:10px;padding:7px 12px;font-size:12px;font-weight:700}.import-session-action:disabled{opacity:.6}.import-session-follow{flex-direction:column;align-items:flex-end;gap:4px;display:flex}.import-session-resume-cmd{color:var(--muted);background:var(--surface-2);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;max-width:220px;padding:2px 6px;font-size:10px;overflow:hidden}.sheet-back{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:24px;line-height:1}.settings-form{flex-direction:column;gap:10px;padding:8px;display:flex}.settings-form h3{margin:2px 0}.settings-form .muted{color:var(--muted);margin:0;font-size:13px}.settings-intro{padding:4px 10px 8px}.settings-subhead{margin:8px 0 0;font-size:13px;font-weight:700}.settings-section{flex-direction:column;gap:10px;display:flex}.settings-section+.settings-section{border-top:1px solid var(--line);margin-top:8px;padding-top:18px}.settings-section>.settings-subhead{margin-top:0}.automations-layout{flex-direction:column;gap:18px;min-width:0;display:flex}.automations-main{flex-direction:column;min-width:0;display:flex}.automations-aside{min-width:0}.automations-aside .settings-section{border-top:0;margin-top:0;padding-top:0}@media (min-width:721px){.automations-layout{flex-direction:row;align-items:flex-start;gap:28px}.automations-main{flex:1;min-width:0}.automations-aside{flex:none;width:280px}}.settings-form code{border:1px solid var(--line);background:var(--surface);border-radius:6px;padding:1px 5px;font-size:11px}.settings-list{color:var(--muted);flex-direction:column;gap:4px;margin:0;padding-left:18px;font-size:13px;display:flex}.queue-head{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.queue-list{flex-direction:column;gap:6px;display:flex}.queue-item{border:1px solid var(--line);background:var(--surface-2);color:inherit;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;text-decoration:none;display:flex}a.queue-item:hover{border-color:var(--line-strong);background:var(--surface-3)}.queue-item-main{flex-direction:column;gap:2px;min-width:0;display:flex}.queue-session-list{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex}.field-label{color:var(--muted);margin-top:4px;font-size:12px}.settings-field{flex-direction:column;gap:4px;min-width:0;display:flex}.settings-field .field-label{margin-top:0}.settings-field .picker-search{margin-bottom:0}.settings-hint{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.4}.settings-row{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.settings-row>*{overflow-wrap:anywhere;min-width:0}.settings-actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;display:flex}.settings-error{color:var(--danger);overflow-wrap:anywhere;margin:4px 0 0;font-size:13px}.row-actions{flex-wrap:wrap;gap:8px;display:flex}.link-btn{color:var(--accent);background:0 0;border:0;align-self:flex-start;padding:0;font-size:13px}.chip{border:1px solid var(--line);color:var(--muted);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:700}.chip.ok{color:var(--ok);border-color:var(--ok)}.chip.err{color:var(--danger);border-color:var(--danger)}.chip.warn{color:var(--accent);border-color:var(--accent)}.queue-head-actions{align-items:center;gap:14px;display:flex}.queue-count{background:var(--surface-3);min-width:18px;height:18px;color:var(--muted);vertical-align:middle;border-radius:999px;justify-content:center;align-items:center;margin-left:8px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex}.link-btn.danger{color:var(--danger)}.link-btn:disabled{opacity:.5}.queue-card{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;display:flex;overflow:hidden}.queue-card.open{border-color:var(--line-strong)}.queue-card-row{justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;display:flex}.queue-item-main{min-width:0;color:inherit;flex-direction:column;flex:1;gap:2px;text-decoration:none;display:flex}.queue-item-main.link:hover .queue-item-title{text-decoration:underline}.queue-item-title{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.queue-item-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.queue-card-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.queue-action-btn{border:1px solid var(--line);background:var(--surface-3);color:var(--fg);cursor:pointer;border-radius:8px;padding:4px 10px;font-size:12px;font-weight:600}.queue-action-btn:hover{border-color:var(--line-strong)}.queue-action-btn.active{border-color:var(--accent);color:var(--accent)}.queue-action-btn.icon{padding:4px 9px;font-size:15px;line-height:1}.queue-action-btn.danger:hover{border-color:var(--danger);color:var(--danger)}.queue-action-btn:disabled{opacity:.5;cursor:default}.queue-run{border-top:1px solid var(--line);background:var(--surface-1);flex-direction:column;gap:8px;padding:10px;display:flex}.queue-run-field{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.queue-run-field select,.queue-run-field input{font-size:13px}.queue-run-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.evidence-list{flex-direction:column;gap:8px;display:flex}.evidence-report{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:10px}.evidence-report summary{cursor:pointer;justify-content:space-between;align-items:center;gap:8px;font-size:13px;font-weight:650;list-style:none;display:flex}.evidence-report summary::-webkit-details-marker{display:none}.evidence-meta{color:var(--muted);flex-wrap:wrap;gap:6px 14px;margin:10px 0;font-size:12px;display:flex}.evidence-timeline{flex-direction:column;gap:8px;margin:8px 0 12px;padding-left:22px;display:flex}.evidence-timeline li{grid-template-columns:minmax(125px,auto) 1fr auto;gap:8px;font-size:12px;display:grid}.evidence-timeline time,.evidence-timeline small{color:var(--muted)}.evidence-checks{color:var(--muted);margin:0 0 10px;padding-left:18px;font-size:12px}.ce-form{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;flex-direction:column;gap:6px;margin-top:8px;padding:12px;display:flex}.ce-pem{font-family:var(--mono,ui-monospace, monospace);resize:vertical;font-size:12px}.ce-file{color:var(--muted);font-size:12px}.gh-serving-banner{display:block}.picker-action.danger{border-color:var(--danger);color:var(--danger)}.settings-modal{top:var(--app-top,0px);width:100%;height:var(--app-h,100dvh);z-index:75;justify-content:center;align-items:center;display:flex;position:fixed;left:0}.settings-scrim{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000080;position:absolute;inset:0}.settings-panel{background:var(--surface);border:1px solid var(--line-strong);border-radius:18px;width:min(920px,100% - 40px);height:min(680px,100% - 48px);min-height:0;animation:.16s settings-in;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 80px #0006}@keyframes settings-in{0%{opacity:0;transform:translateY(6px)scale(.99)}to{opacity:1;transform:none}}.settings-nav{border-right:1px solid var(--line);background:var(--surface-2);flex-direction:column;flex:none;width:264px;min-height:0;padding:12px;display:flex}.settings-nav-top{display:none}.settings-search-wrap{flex:none;margin-bottom:10px;position:relative}.settings-search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.settings-search{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:8px 12px 8px 34px;font-size:14px}.settings-search:focus{border-color:var(--accent);outline:none}.settings-nav-groups{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow-y:auto}.settings-nav-group{flex-direction:column;gap:1px;display:flex}.settings-nav-group-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);padding:6px 8px 2px;font-size:11px;font-weight:700}.settings-nav-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;font-size:14px;display:flex}.settings-nav-item:hover{background:var(--surface-3)}.settings-nav-item.active{background:color-mix(in srgb, var(--accent) 14%, var(--surface));color:var(--accent);font-weight:600}.settings-nav-icon{color:var(--muted);flex:none;display:inline-flex}.settings-nav-item.active .settings-nav-icon{color:var(--accent)}.settings-nav-label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.settings-nav-chevron{color:var(--muted);flex:none;font-size:18px;display:none}.settings-content{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.settings-head{border-bottom:1px solid var(--line);flex:none;align-items:center;gap:10px;padding:16px 18px;display:flex}.settings-head-title{flex:1;margin:0;font-size:18px;font-weight:700}.settings-back{color:var(--muted);background:0 0;border:0;align-items:center;gap:3px;padding:0;font-size:15px;display:none}.settings-back span{font-size:22px;line-height:1}.settings-x{color:var(--muted);background:0 0;border:0;padding:0 4px;font-size:26px;line-height:1}.settings-x:hover{color:var(--ink)}.settings-body{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;padding:14px 18px 28px;overflow-y:auto}.settings-body .settings-form{padding:0}.theme-seg{flex-wrap:wrap;gap:8px;margin:4px 0 10px;display:flex}.theme-seg-btn{border:1px solid var(--line);background:var(--surface-2);min-width:92px;color:var(--muted);border-radius:12px;flex-direction:column;flex:1;align-items:center;gap:8px;padding:16px 10px;font-size:13px;font-weight:600;display:flex}.theme-seg-btn:hover{border-color:var(--line-strong);color:var(--ink)}.theme-seg-btn.active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--surface));color:var(--accent)}.theme-seg-icon{display:inline-flex}.settings-toggle-row{justify-content:space-between;align-items:flex-start;gap:16px;padding:10px 0;display:flex}.settings-toggle-row+.settings-toggle-row{border-top:1px solid var(--line)}.settings-toggle-row.disabled{opacity:.5}.settings-toggle-text{flex-direction:column;gap:2px;min-width:0;display:flex}.settings-toggle-text .muted{margin:0}.settings-toggle-title{color:var(--ink);font-size:14px;font-weight:600}.settings-toggle-list{margin:4px 0 10px}.settings-toggle{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-3);border-radius:999px;flex:none;width:42px;height:24px;padding:0;transition:background .15s,border-color .15s;position:relative}.settings-toggle.on{background:var(--accent);border-color:var(--accent)}.settings-toggle:disabled{cursor:not-allowed;opacity:.5}.settings-toggle-knob{background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0000004d}.settings-toggle.on .settings-toggle-knob{transform:translate(18px)}@media (max-width:720px){.settings-modal{align-items:stretch}.settings-panel{border:0;border-radius:0;width:100%;height:100%;animation:.18s sheet-up}.settings-nav{background:var(--surface);width:100%;padding:max(6px, env(safe-area-inset-top)) 14px 14px;border-right:0}.settings-nav-top{justify-content:space-between;align-items:center;padding:6px 2px 14px;display:flex}.settings-nav-heading{font-size:22px;font-weight:800}.settings-nav-group-label{padding:10px 6px 4px;font-size:12px}.settings-nav-item{padding:14px 12px;font-size:16px}.settings-nav-chevron{display:inline-flex}.settings-content{padding-top:max(0px, env(safe-area-inset-top))}.settings-back{display:inline-flex}.settings-body{padding:14px 12px max(28px, env(safe-area-inset-bottom))}.ruleset-rule-card{gap:12px;padding:14px 12px}.ruleset-rule-card .muted,.ruleset-rule-card .field-label,.ruleset-chain-field{color:color-mix(in srgb, var(--ink) 72%, var(--muted))}.ruleset-rule-head .btn{min-height:40px}.ruleset-chip-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.ruleset-chip{min-height:44px;color:color-mix(in srgb, var(--ink) 72%, var(--muted));padding:8px;line-height:1.2}.ruleset-rule-card>.seg-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ruleset-rule-card>.seg-row .seg-btn{min-width:0;min-height:44px;padding:8px 4px}.ruleset-field-grid{grid-template-columns:1fr;gap:12px}.ruleset-chain{gap:10px}.ruleset-chain-row{border:1px solid var(--line);background:var(--surface);border-radius:10px;flex-direction:column;align-items:stretch;padding:10px}.ruleset-chain-fields{grid-template-columns:1fr;gap:10px}.ruleset-chain-field{font-size:12px}.ruleset-chain-field .picker-search{min-height:44px}.ruleset-chain-remove{align-self:flex-end;min-height:40px;margin:0}.ruleset-chain>.btn{min-height:44px}.ruleset-collapsible .link-btn{align-items:center;min-height:44px;display:flex}.settings-head-title{text-align:center;font-size:17px}.settings-panel[data-mode=menu] .settings-content,.settings-panel[data-mode=panel] .settings-nav{display:none}}.main.needs-node>:not(.topbar):not(.banner):not(.connect-runner-scroll){display:none}.connect-runner-scroll{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;flex:1;min-height:0;overflow:hidden auto}.connect-runner{width:min(560px,100%);padding:20px 16px max(24px, env(safe-area-inset-bottom));flex-direction:column;gap:20px;margin:4px auto 0;display:flex}.connect-hero{text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.connect-hero-icon{width:56px;height:56px;color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 26%, transparent);border-radius:16px;place-items:center;margin-bottom:6px;display:grid}.connect-kicker{color:var(--accent);letter-spacing:.09em;text-transform:uppercase;font-size:11px;font-weight:800}.connect-title{letter-spacing:-.01em;margin:0;font-size:22px;line-height:1.2}.connect-sub{max-width:42ch;color:var(--muted);margin:2px 0 0;font-size:13.5px;line-height:1.5}.connect-options{flex-direction:column;gap:12px;display:flex}.connect-option{border:1px solid var(--line);background:var(--surface-2);border-radius:16px;flex-direction:column;gap:12px;padding:16px;transition:border-color .15s,box-shadow .15s;display:flex}.connect-option:hover{border-color:var(--line-strong);box-shadow:0 6px 24px #0000001a}.connect-option-head{align-items:flex-start;gap:12px;display:flex}.connect-option-badge{width:36px;height:36px;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:10px;flex:none;place-items:center;display:grid}.connect-option-copy{min-width:0}.connect-option-copy h3{margin:1px 0 3px;font-size:15px}.connect-option-copy p{color:var(--muted);margin:0;font-size:13px;line-height:1.45}.connect-command{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.connect-command code{white-space:nowrap;min-width:0;color:var(--ink);scrollbar-width:none;flex:1;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;overflow-x:auto}.connect-command code::-webkit-scrollbar{display:none}.connect-copy{cursor:pointer;border:1px solid var(--line-strong);background:var(--surface-2);color:var(--ink);font:inherit;border-radius:8px;flex:none;align-items:center;gap:5px;padding:7px 11px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.connect-copy:hover{background:var(--surface-3)}.connect-copy.is-copied{color:var(--ok);border-color:color-mix(in srgb, var(--ok) 45%, var(--line-strong))}.connect-copy svg{display:block}.connect-option-link{color:var(--accent);align-self:flex-start;font-size:12.5px;font-weight:600;text-decoration:none}.connect-option-link:hover{text-decoration:underline}.connect-option-cta{align-self:flex-start}.connect-nodes{flex-direction:column;gap:8px;display:flex}.connect-nodes-head{color:var(--muted);letter-spacing:.09em;text-transform:uppercase;padding:0 2px;font-size:11px;font-weight:800}.connect-nodes-list{flex-direction:column;gap:8px;display:flex}.connect-node{cursor:pointer;text-align:left;border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);font:inherit;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;transition:border-color .15s,background .15s,box-shadow .15s;display:flex}.connect-node:hover{border-color:var(--line-strong);background:var(--surface-3);box-shadow:0 4px 16px #00000014}.connect-node .node-dot{width:10px;height:10px}.connect-node-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:14px;font-weight:600;overflow:hidden}.connect-node-status{color:var(--muted);flex:none;font-size:11.5px;font-weight:600}.connect-node-status.is-online{color:var(--ok)}.connect-node-caret{color:var(--muted);flex:none}.connect-node:hover .connect-node-caret{color:var(--ink)}.connect-waiting{border:1px dashed var(--line-strong);color:var(--muted);border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;font-size:12.5px;display:flex}.connect-waiting-text{flex:1;min-width:0}.connect-refresh{cursor:pointer;border:1px solid var(--line-strong);color:var(--ink);font:inherit;background:0 0;border-radius:8px;flex:none;padding:5px 10px;font-size:12px;font-weight:600}.connect-refresh:hover{background:var(--surface-2)}.onboarding-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:13px;height:13px;animation:.7s linear infinite spin}@media (max-width:480px){.connect-runner{gap:16px}.connect-title{font-size:20px}}.app-dialog{z-index:80;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.app-dialog-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0000006b;position:absolute;inset:0}.app-dialog-body{border:1px solid var(--line-strong);background:var(--surface);border-radius:18px;flex-direction:column;gap:12px;width:min(420px,100%);padding:18px;display:flex;position:relative;box-shadow:0 24px 80px #0000005c}.app-dialog-body h3{margin:0;font-size:17px}.app-dialog-body p{color:var(--muted);margin:0;font-size:14px;line-height:1.45}.app-dialog-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.stat-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.stat{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;padding:10px 12px}.stat-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:11px}.stat-value{margin-top:2px;font-size:16px;font-weight:700}textarea.picker-search{resize:vertical;font-family:ui-monospace,monospace}.term-btn{justify-content:center;align-items:center;display:inline-flex}.term-btn svg{display:block}.term-overlay{top:var(--app-top,0px);width:100%;height:var(--app-h,100dvh);z-index:65;background:var(--bg);padding-top:env(safe-area-inset-top);flex-direction:column;display:flex;position:fixed;left:0}.term-head{border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:10px 14px;display:flex}.term-title{text-overflow:ellipsis;white-space:nowrap;flex:0 auto;min-width:0;font-weight:700;overflow:hidden}.term-status{color:var(--muted);margin-left:8px;font-size:12px;font-weight:400}.term-scope{color:var(--muted);font-size:12px;font-weight:400}.term-head-actions{scrollbar-width:none;-webkit-overflow-scrolling:touch;flex:auto;justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex;overflow-x:auto}.term-head-actions::-webkit-scrollbar{display:none}.term-head-actions>*{flex:none}.term-attach-wrap{position:relative}.term-attach-menu{background:var(--surface);border:1px solid var(--line-strong);z-index:5;border-radius:12px;min-width:220px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.term-attach-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;padding:10px 14px;font-size:13px;display:block}.term-attach-item:hover{background:var(--surface-2)}.term-attach-row{align-items:stretch;display:flex}.term-attach-row .term-attach-item{flex:1}.term-attach-chat{border:0;border-left:1px solid var(--line);background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);white-space:nowrap;padding:10px 14px;font-size:12px;font-weight:700}.term-attach-chat:hover{background:color-mix(in srgb, var(--accent) 24%, transparent)}.term-continue-chat{box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);font-weight:700}.term-out{-webkit-touch-callout:none;touch-action:none;overscroll-behavior:contain;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;flex:1;min-height:0;padding:6px 8px;position:relative;overflow:hidden}.term-out .xterm{height:100%}.term-out .xterm-viewport{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;overflow-y:auto}.term-status-connecting{color:var(--warn,#d9a441)}.term-status-connected{color:var(--ok,#4ea36a)}.term-status-exited{color:var(--muted)}.term-status-error{color:var(--danger,#d9534f)}.term-zoom{gap:2px;display:inline-flex}.term-zoom .icon-btn{border:1px solid var(--line-strong);border-radius:8px;padding:4px 6px;font-size:13px;font-weight:700;line-height:1}.ghost-btn.is-active{background:var(--surface-2);border-color:var(--accent)}.ghost-btn:disabled{opacity:.4;cursor:default}.term-search{border-bottom:1px solid var(--line);background:var(--surface);align-items:center;gap:6px;padding:6px 12px;display:flex}.term-search-input{background:var(--bg);min-width:0;color:var(--ink);border:1px solid var(--line-strong);border-radius:8px;flex:1;padding:6px 10px;font-size:16px}.term-search .icon-btn{border:1px solid var(--line-strong);border-radius:8px;padding:4px 8px;font-size:15px}.term-keybar{padding:8px 10px;padding-bottom:calc(8px + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--surface);scrollbar-width:none;-webkit-overflow-scrolling:touch;gap:6px;display:flex;overflow-x:auto}.term-keybar::-webkit-scrollbar{display:none}.term-key{border:1px solid var(--line-strong);background:var(--surface-2);min-width:42px;height:38px;color:var(--ink);touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:9px;flex:none;padding:0 12px;font-family:ui-monospace,monospace;font-size:14px;font-weight:600}.term-key:active{background:var(--surface-3)}.term-key.is-armed{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.term-bell-flash{box-shadow:inset 0 0 0 2px var(--accent);transition:box-shadow 60ms ease-out}.term-selmenu{z-index:80;background:var(--surface);border:1px solid var(--line-strong);border-radius:10px;gap:2px;padding:4px;display:flex;position:fixed;box-shadow:0 10px 30px #00000052}.term-selmenu-item{color:var(--ink);touch-action:manipulation;background:0 0;border:0;border-radius:7px;padding:7px 12px;font-size:13px;font-weight:600}.term-selmenu-item:active{background:var(--surface-2)}.term-selhandle{z-index:79;border:2px solid var(--bg);background:var(--accent);touch-action:none;border-radius:50%;width:22px;height:22px;padding:0;position:fixed;box-shadow:0 2px 8px #0006}.term-selhandle-start{transform:translate(-50%,-100%)}.term-selhandle-end{transform:translate(-50%)}.term-selhandle:active{background:var(--accent);filter:brightness(1.15)}.term-selhandle:after{content:"";border-radius:50%;position:absolute;inset:-12px}.term-snipbar{border-top:1px solid var(--line);background:var(--surface);scrollbar-width:none;-webkit-overflow-scrolling:touch;align-items:center;gap:6px;padding:7px 10px;display:flex;overflow-x:auto}.term-snipbar::-webkit-scrollbar{display:none}.term-snipbar>*{flex:none}.term-snip-add{border:1px solid var(--line-strong);background:var(--surface-2);min-width:36px;height:34px;color:var(--ink);touch-action:manipulation;border-radius:9px;font-size:18px;line-height:1}.term-snip-edit{border:1px solid var(--line-strong);height:34px;color:var(--muted);touch-action:manipulation;background:0 0;border-radius:9px;padding:0 12px;font-size:12px;font-weight:600}.term-chip-wrap{display:inline-flex;position:relative}.term-chip{border:1px solid var(--line-strong);background:var(--surface-2);max-width:46vw;height:34px;color:var(--ink);white-space:nowrap;text-overflow:ellipsis;touch-action:manipulation;-webkit-user-select:none;user-select:none;border-radius:9px;padding:0 12px;font-family:ui-monospace,monospace;font-size:13px;font-weight:600;overflow:hidden}.term-chip:active{background:var(--surface-3)}.term-chip-badge{z-index:1;border:1px solid var(--line-strong);background:var(--surface);width:20px;height:20px;color:var(--ink);border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:12px;line-height:1;display:flex;position:absolute;top:-7px;right:-7px}.btn{border:1px solid var(--line-strong);background:var(--surface);color:var(--ink);font:inherit;cursor:pointer;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:7px 14px;text-decoration:none;display:inline-flex}.btn:disabled{cursor:default}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.btn.ghost{background:0 0}.btn.danger-ghost{color:var(--danger);border-color:var(--danger);background:0 0}.ghost-btn{border:1px solid var(--line-strong);color:var(--ink);background:0 0;border-radius:8px;padding:5px 10px;font-size:13px}.icon-btn{color:var(--ink);background:0 0;border:0;font-size:20px}.settings-gear{border:1px solid var(--line);background:var(--surface-2);color:var(--ink);border-radius:10px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:13px;font-weight:600;display:inline-flex;position:relative}.settings-gear:hover{border-color:var(--line-strong);background:var(--surface-3)}.settings-gear svg{color:var(--muted);flex:none}.settings-gear:hover svg,.settings-gear-label{color:var(--ink)}.usage-bar{color:var(--muted);background:var(--surface-2);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:5px 18px;font-size:12px;display:flex}.usage-text{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.usage-dismiss{color:var(--muted);background:0 0;border:0;flex:none;padding:2px 4px;font-size:12px;line-height:1}.usage-dismiss:hover{color:var(--ink)}.banner{align-items:center;gap:10px;padding:10px 18px;font-size:13px;display:flex}.banner.error{background:var(--danger-soft);color:var(--danger)}.banner.info{background:var(--surface-2);color:var(--muted)}.banner.warn{background:color-mix(in srgb, var(--warn,#d9a441) 16%, transparent);color:var(--warn,#d9a441)}.banner-text{flex:1}.banner-dismiss{color:inherit;background:0 0;border:0;margin-left:auto;font-size:18px;line-height:1}.reconnect-spinner{border:2px solid var(--line-strong);border-top-color:var(--accent);border-radius:50%;flex:none;width:12px;height:12px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.node-switcher{flex:none;min-width:0;position:relative}.node-switcher-btn{max-width:100%;color:var(--muted);background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;font-weight:500;line-height:1.25;display:inline-flex}.node-switcher-btn:hover{color:var(--ink)}.node-switcher-btn.locked{cursor:default}.node-switcher-name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.node-switcher-caret{color:var(--muted);font-size:9px}.node-menu{background:var(--surface);border:1px solid var(--line-strong);z-index:40;border-radius:12px;min-width:220px;animation:.14s sheet-up;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 12px 40px #00000047}.node-menu-status{color:var(--muted);border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:10px 14px;font-size:13px;display:flex}.node-menu-status .reconnect-spinner{width:12px;height:12px}.node-menu-head{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);padding:10px 14px 6px;font-size:11px}.node-menu-empty{color:var(--muted);padding:6px 14px 12px;font-size:13px}.node-menu-row{align-items:center;display:flex}.node-menu-row .node-menu-item{flex:1;min-width:0}.node-menu-item{text-align:left;width:100%;color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;padding:10px 14px;font-size:14px;display:flex}.node-menu-item:hover{background:var(--surface-2)}.node-menu-item.active{font-weight:600}.node-menu-item.danger{color:var(--danger)}.node-menu-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.node-provider-chip{font:inherit;cursor:pointer;flex:none;margin-right:8px;font-size:11px;font-weight:700}.node-provider-chip:hover{filter:brightness(1.2)}.node-menu-check{color:var(--accent)}.node-menu-glyph{color:var(--accent);flex:none}.eph-steps{color:var(--muted);gap:4px;margin:4px 0;padding-left:18px;font-size:13px;display:grid}.code-snippet{border:1px solid var(--line);background:var(--surface);border-radius:10px;margin:6px 0 0;padding:10px;font-size:12px;overflow:auto}.eph-row{flex-direction:column;gap:4px;display:flex}.first-run-credentials{gap:8px;padding-bottom:6px;display:grid}.first-run-credentials .settings-subhead{border-top:1px solid var(--line);margin-top:12px;padding-top:14px}.first-run-credentials .settings-subhead:first-child{border-top:0;margin-top:0;padding-top:0}.first-run-credentials .chip{justify-self:start}select.picker-search{appearance:auto}.node-menu-sep{background:var(--line);height:1px;margin:4px 0}.toast-stack{left:50%;bottom:calc(84px + env(safe-area-inset-bottom));z-index:85;flex-direction:column;align-items:center;gap:10px;display:flex;position:fixed;transform:translate(-50%)}.update-toast{background:var(--surface);border:1px solid var(--line-strong);border-radius:12px;align-items:center;gap:10px;width:max-content;max-width:min(92vw,420px);padding:10px 14px;animation:.16s sheet-up;display:flex;box-shadow:0 8px 30px #00000040}.update-toast>span{flex:1;min-width:0;font-size:13px;line-height:1.4}.update-toast .btn{white-space:nowrap;flex:none;padding:6px 12px}.error-toast{background:var(--surface);border:1px solid var(--danger);border-left-width:3px;border-radius:12px;align-items:flex-start;gap:10px;max-width:min(92vw,560px);max-height:min(60vh,100dvh - 160px);padding:10px 12px;animation:.16s sheet-up;display:flex;overflow-y:auto;box-shadow:0 8px 30px #00000047}.error-toast-icon{background:var(--danger);color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-weight:700;display:grid}.error-toast-text{min-width:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;flex:1;font-size:13px;line-height:1.4}.error-toast-close{color:var(--muted);background:0 0;border:0;flex:none;font-size:18px;line-height:1;position:sticky;top:0}.notice-toast{background:var(--surface);border:1px solid var(--ok);border-left-width:3px;border-radius:12px;align-items:flex-start;gap:10px;max-width:min(92vw,560px);max-height:min(60vh,100dvh - 160px);padding:10px 12px;animation:.16s sheet-up;display:flex;overflow-y:auto;box-shadow:0 8px 30px #00000047}.notice-toast-icon{background:var(--ok);color:#fff;border-radius:50%;flex:none;place-items:center;width:18px;height:18px;margin-top:1px;font-size:12px;font-weight:700;display:grid}.notice-toast-text{min-width:0;color:var(--ink);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;flex:1;font-size:13px;line-height:1.4}.notice-toast-close{color:var(--muted);background:0 0;border:0;flex:none;font-size:18px;line-height:1;position:sticky;top:0}.setup{top:var(--app-top,0px);width:100%;height:var(--app-h,100dvh);-webkit-overflow-scrolling:touch;padding:max(24px, env(safe-area-inset-top)) 24px max(24px, env(safe-area-inset-bottom));flex-direction:column;align-items:center;display:flex;position:fixed;left:0;overflow-y:auto}.setup-card{text-align:center;background:var(--surface);border:1px solid var(--line);border-radius:16px;width:100%;max-width:380px;margin:auto;padding:32px 28px}.setup-glyph{font-size:44px}.setup-card h1{margin:6px 0 12px}.setup-card p{color:var(--ink);margin:8px 0}.setup-card .muted{color:var(--muted);font-size:13px}.setup-foot{margin-top:18px}.btn.block{text-align:center;width:100%;margin-top:12px;padding:11px;text-decoration:none;display:block}.setup-or{color:var(--muted);margin:16px 0 8px;font-size:13px}.setup-email{flex-direction:column;gap:8px;display:flex}.setup-email input{border:1px solid var(--line-strong);background:var(--surface-2);width:100%;min-width:0;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px;font-size:16px}.setup-email .btn{white-space:nowrap;width:100%}.setup-note{word-break:break-word;margin-top:10px}.setup-error{border:1px solid var(--danger);background:var(--danger-soft,transparent);color:var(--ink);text-align:left;border-left-width:3px;border-radius:10px;margin:8px 0 4px;padding:10px 12px;font-size:13px;line-height:1.4}.banner.inline{border-radius:8px;margin:8px 0}.gh-connected{border:1px solid color-mix(in srgb, var(--ok) 45%, transparent);background:color-mix(in srgb, var(--ok) 12%, transparent);border-radius:10px;flex-direction:column;gap:6px;margin:8px 0;padding:12px 14px;display:flex}.gh-connected-head{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.gh-connected-status{color:var(--ok);white-space:nowrap;font-size:13px;font-weight:700}.gh-connected-name{color:var(--ink);word-break:break-word;font-size:14px}.gh-connected-owner{color:var(--ink-dim);white-space:nowrap;font-size:12px}.gh-connected-edit{white-space:nowrap;margin-left:auto;font-size:13px}.gh-connected-hint{color:var(--muted);margin:0;font-size:13px;line-height:1.5}.gh-connected-hint code{white-space:nowrap}.node-picker{flex-direction:column;gap:6px;margin:16px 0 0;padding:0;list-style:none;display:flex}.node-pick{text-align:left;border:1px solid var(--line);background:var(--surface-2);width:100%;color:var(--ink);border-radius:12px;align-items:center;gap:10px;padding:12px 14px;display:flex}.node-pick:hover{border-color:var(--accent)}.node-dot{background:var(--line-strong);box-sizing:border-box;border-radius:50%;flex:none;width:9px;height:9px}.node-dot.online{background:var(--ok)}.node-dot.connecting{border:2px solid var(--line-strong);border-top-color:var(--accent);background:0 0;width:10px;height:10px;animation:.7s linear infinite spin}.node-pick-name{text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.node-pick-state{color:var(--muted);font-size:12px}.only-mobile{display:none}.scrim{z-index:20;background:#0006;position:fixed;inset:0}@media (max-width:720px){.app{grid-template-columns:1fr}.only-mobile{display:inline-flex}.sidebar{top:var(--app-top,0px);height:var(--app-h,100dvh);z-index:30;width:84%;max-width:320px;transition:transform .2s;position:fixed;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}}.changes-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:8px 0;padding:10px 12px}.changes-head{justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;display:flex}.changes-title{font-size:13px;font-weight:600}.changes-collapse{min-width:0;color:inherit;font:inherit;cursor:pointer;text-align:left;background:0 0;border:0;flex:1;align-items:center;gap:6px;margin:0;padding:0;display:inline-flex}.changes-collapse:hover .changes-title{color:var(--accent)}.changes-chevron{opacity:.7;flex:none;width:12px;font-size:10px}.changes-card.collapsed{padding-bottom:10px}.changes-card.collapsed .changes-head{margin-bottom:0}.changes-undo{padding:4px 10px;font-size:12px}.changes-files{flex-direction:column;gap:2px;display:flex}.changes-file-head{cursor:pointer;width:100%;color:inherit;text-align:left;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:4px 2px;display:flex}.changes-file-head:hover{background:color-mix(in srgb, var(--ink) 6%, transparent);border-radius:6px}.changes-file-glyph{opacity:.8;width:1em;font-weight:700}.changes-file-path{text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:ui-monospace,monospace;font-size:12px;overflow:hidden}.changes-file-status{opacity:.6;font-size:11px}.changes-file.status-added .changes-file-glyph{color:var(--add,#1a7f37)}.changes-file.status-deleted .changes-file-glyph{color:var(--del,#cf222e)}.changes-binary{opacity:.6;padding:4px 2px;font-size:12px}.changes-actions{align-items:center;gap:6px;display:flex}.changes-history-toggle{border:1px solid var(--line);color:inherit;cursor:pointer;background:0 0;border-radius:6px;padding:4px 8px;font-size:12px}.changes-history-toggle:hover{background:color-mix(in srgb, var(--ink) 6%, transparent)}.changes-total{margin-left:8px;font-family:ui-monospace,monospace;font-size:12px;font-weight:500}.changes-total .add,.changes-file-stat .add{color:var(--add,#1a7f37)}.changes-total .del,.changes-file-stat .del{color:var(--del,#cf222e)}.changes-file-stat{gap:6px;margin-left:auto;font-family:ui-monospace,monospace;font-size:12px;display:inline-flex}.changes-timeline{border-top:1px solid var(--line);flex-direction:column;gap:2px;margin-top:8px;padding-top:8px;display:flex}.changes-cp{align-items:center;gap:8px;padding:3px 2px;display:flex}.changes-cp-label{text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:12px;overflow:hidden}.changes-cp-time{opacity:.55;white-space:nowrap;font-size:11px}.changes-cp-btn{padding:3px 8px;font-size:11px}.error-boundary{max-width:560px;color:var(--ink);flex-direction:column;gap:12px;margin:0 auto;padding:48px 24px;display:flex}.error-boundary h1{margin:0;font-size:18px}.error-boundary p{color:var(--muted);margin:0}.error-boundary__detail{background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius);white-space:pre-wrap;color:var(--danger);padding:12px;font-size:12px;overflow-x:auto}.error-boundary__actions{gap:8px;display:flex}.stats-panel{flex-direction:column;gap:16px;padding:4px 2px 8px;display:flex}.stats-empty{color:var(--muted);text-align:center;padding:20px 4px;font-size:13px}.stat-card{flex-direction:column;gap:9px;display:flex}.stat-card-head{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.stat-card-title{color:var(--ink);font-size:13px;font-weight:600}.stat-card-detail{color:var(--muted);font-variant-numeric:tabular-nums;text-align:right;font-size:12px}.stat-rows{flex-direction:column;gap:4px;margin:1px 0 0;display:flex}.stat-row{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.stat-row dt{color:var(--muted);flex:none;font-size:12px}.stat-row dd{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;margin:0;font-size:12px}.stat-dim{color:var(--muted)}.stat-meter-track{background:var(--surface-2);border:1px solid var(--line);border-radius:999px;height:8px;overflow:hidden}.stat-meter-fill{border-radius:inherit;background:var(--ok);min-width:2px;height:100%;transition:width .5s,background-color .3s}.stat-meter-fill.warn{background:var(--accent)}.stat-meter-fill.danger{background:var(--danger)}.stats-meta{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin:2px 0 0;padding:12px 0 0;display:flex}.stats-meta-row{justify-content:space-between;align-items:baseline;gap:12px;margin:0;display:flex}.stats-meta-row dt{color:var(--muted);flex:none;font-size:12px}.stats-meta-row dd{color:var(--ink);text-align:right;font-variant-numeric:tabular-nums;text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.stats-note{color:var(--muted);margin:2px 0 0;font-size:11px;line-height:1.4}
