:root{--buncss-light:initial;--buncss-dark: ;color-scheme:light;--bg:#faf9f5;--bg-elev:#fff;--sidebar:#f3f1ea;--surface:#fff;--surface-2:#f1eee7;--hover:#3c32230f;--active:#3c322317;--text:#1f1e1b;--text-2:#5f5b54;--text-3:#959087;--border:#e5e1d7;--border-soft:#ece8df;--accent:#c96442;--accent-strong:#ad5134;--accent-soft:#c964421f;--on-accent:#fff;--user-bubble:#efe9de;--code-bg:#f5f2ec;--inline-code:#3c322312;--danger:#c0392b;--danger-soft:#c0392b1a;--ok:#2f7d4f;--ok-soft:#2f7d4f1c;--add-bg:#2f7d4f12;--del-bg:#c0392b12;--bar-bg:#faf9f5db;--input-bg:#fff;--shadow-sm:0 1px 2px #281e0f0f;--shadow:0 2px 10px #281e0f12,0 1px 2px #281e0f0d;--shadow-lg:0 18px 50px #281e0f2e,0 2px 8px #281e0f14;--toast-bg:#2b2925;--toast-text:#f6f3ec;--backdrop:#1c181261;--src-web-bg:#c964421f;--src-web:#a9502f;--src-desktop-bg:#406ebe1c;--src-desktop:#34609f;--src-cli-bg:#28826e1f;--src-cli:#23705e;--src-telegram-bg:#785abe1c;--src-telegram:#6a4ea8;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,"Helvetica Neue",sans-serif;--mono:ui-monospace,"SF Mono",SFMono-Regular,Menlo,Consolas,monospace;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px)}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#1c1b19;--bg-elev:#262522;--sidebar:#201f1c;--surface:#2a2926;--surface-2:#2c2b27;--hover:#fff5e10f;--active:#fff5e117;--text:#ecebe6;--text-2:#b0aca3;--text-3:#7d7970;--border:#383631;--border-soft:#2f2d29;--accent:#e0886a;--accent-strong:#eb9c80;--accent-soft:#e0886a29;--on-accent:#1e1612;--user-bubble:#312f2b;--code-bg:#181715;--inline-code:#fff5e114;--danger:#ef7466;--danger-soft:#ef746621;--ok:#6cc28c;--ok-soft:#6cc28c21;--add-bg:#6cc28c14;--del-bg:#ef746614;--bar-bg:#1c1b19d6;--input-bg:#262522;--shadow-sm:0 1px 2px #0000004d;--shadow:0 2px 12px #00000059;--shadow-lg:0 20px 60px #0000008c;--toast-bg:#f1eee7;--toast-text:#1f1e1b;--backdrop:#0000008c;--src-web-bg:#e0886a29;--src-web:#eda287;--src-desktop-bg:#6ea0f026;--src-desktop:#9dc0f5;--src-cli-bg:#5ac8aa24;--src-cli:#84d6bf;--src-telegram-bg:#aa8cf026;--src-telegram:#c3adf5}}:root[data-theme=dark]{--buncss-light: ;--buncss-dark:initial;color-scheme:dark;--bg:#1c1b19;--bg-elev:#262522;--sidebar:#201f1c;--surface:#2a2926;--surface-2:#2c2b27;--hover:#fff5e10f;--active:#fff5e117;--text:#ecebe6;--text-2:#b0aca3;--text-3:#7d7970;--border:#383631;--border-soft:#2f2d29;--accent:#e0886a;--accent-strong:#eb9c80;--accent-soft:#e0886a29;--on-accent:#1e1612;--user-bubble:#312f2b;--code-bg:#181715;--inline-code:#fff5e114;--danger:#ef7466;--danger-soft:#ef746621;--ok:#6cc28c;--ok-soft:#6cc28c21;--add-bg:#6cc28c14;--del-bg:#ef746614;--bar-bg:#1c1b19d6;--input-bg:#262522;--shadow-sm:0 1px 2px #0000004d;--shadow:0 2px 12px #00000059;--shadow-lg:0 20px 60px #0000008c;--toast-bg:#f1eee7;--toast-text:#1f1e1b;--backdrop:#0000008c;--src-web-bg:#e0886a29;--src-web:#eda287;--src-desktop-bg:#6ea0f026;--src-desktop:#9dc0f5;--src-cli-bg:#5ac8aa24;--src-cli:#84d6bf;--src-telegram-bg:#aa8cf026;--src-telegram:#c3adf5}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;font-size:16px;line-height:1.5}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer;-webkit-user-select:none;user-select:none}a{color:var(--accent-strong)}:focus{outline:none}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:8px}h1,h2,h3{letter-spacing:-.01em;margin:0;font-weight:650}p{margin:0}.mono{font-family:var(--mono);font-size:.9em}.muted{color:var(--text-3)}.small{font-size:13px}.center{text-align:center;display:flex;justify-content:center;align-items: center;gap:8px}.pad{padding:24px}.row-gap{display:flex;flex-wrap:wrap;gap:8px}.error-text{color:var(--danger)}.visually-hidden,.offscreen{overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;opacity:0;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute!important}.icon{display:block;flex:none}.app{position:fixed;left:0;right:0;top:var(--vvt,0px);height:var(--vvh,100dvh);display:flex;overflow:hidden;flex-direction:column}.shell{display:flex;flex:1;min-height:0}.sidebar{display:flex;background:var(--sidebar);border-right:1px solid var(--border-soft);flex-direction:column;flex:none;width:340px;min-height:0}.pane{display:flex;background:var(--bg);flex-direction:column;flex:1;min-width:0;min-height:0}.list-view,.chat-view,.settings-view{display:flex;position:relative;flex-direction:column;flex:1;min-height:0}.pane-empty{display:flex;color:var(--text-3);flex-direction:column;flex:1;justify-content:center;align-items: center;gap:12px;font-size:15px}.bar{display:flex;padding:calc(var(--safe-t) + 6px)max(10px,var(--safe-r))6px max(10px,var(--safe-l));background:var(--bar-bg);-webkit-backdrop-filter:saturate(1.5)blur(14px);backdrop-filter:saturate(1.5)blur(14px);border-bottom:1px solid var(--border-soft);position:relative;z-index:5;flex:none;align-items: center;gap:4px;min-height:56px}.bar-title{flex:1;min-width:0;padding-left:6px;font-size:20px;font-weight:700}.bar-actions{display:flex;align-items: center;gap:2px}.sidebar .bar{background:0 0;border-bottom-color:#0000}.sidebar .bar-title{font-size:18px}.back-btn{margin-left:-4px}.btn{display:inline-flex;text-align:center;background:0 0;border:1px solid #0000;border-radius:12px;justify-content:center;align-items: center;gap:8px;min-height:44px;padding:0 16px;transition:background-color .15s,border-color .15s,opacity .15s,transform .1s;font-size:15px;font-weight:600;line-height:1.2}.btn:active:not(:disabled){transform:scale(.985)}.btn.primary{background:var(--accent);color:var(--on-accent);box-shadow:var(--shadow-sm)}@media (hover:hover){.btn.primary:hover:not(:disabled){background:var(--accent-strong)}}.btn.ghost{background:var(--surface);border-color:var(--border);color:var(--text)}@media (hover:hover){.btn.ghost:hover:not(:disabled){background:var(--surface-2)}}.btn.danger{background:var(--danger);color:#fff}.btn.ghost.danger{color:var(--danger);border-color:var(--border);background:0 0}.btn.large{border-radius:14px;min-height:54px;font-size:16.5px}.btn.block{width:100%}.btn.small{border-radius:10px;min-height:36px;padding:0 12px;font-size:14px;font-weight:550}.btn:disabled{opacity:.5;cursor:default}.icon-btn{display:inline-grid;color:var(--text-2);background:0 0;border:0;border-radius:12px;flex:none;place-items: center;width:44px;height:44px;padding:0;transition:background-color .15s,color .15s}@media (hover:hover){.icon-btn:hover:not(:disabled){background:var(--hover);color:var(--text)}}.icon-btn:disabled{opacity:.4;cursor:default}.icon-btn.accent{color:var(--accent)}.icon-btn.subtle{color:var(--text-3)}.link-btn{color:var(--accent-strong);background:0 0;border:0;min-height:32px;padding:6px 0;font-size:14px;font-weight:550}.pill{display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--text-2);white-space:nowrap;border-radius:999px;align-items: center;gap:6px;min-height:36px;margin-right:2px;padding:0 12px;transition:background-color .15s,color .15s;font-size:13.5px;font-weight:550}@media (hover:hover){.pill:hover:not(:disabled){background:var(--surface-2)}}.pill.active{background:var(--accent-soft);color:var(--accent-strong);border-color:#0000}@media (pointer:coarse){.pill{min-height:40px}}.spinner{display:inline-flex;color:currentColor;vertical-align:middle}.spinner svg{animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.badge{display:inline-flex;white-space:nowrap;letter-spacing:.01em;border-radius:999px;align-items: center;height:20px;padding:0 7px;font-size:11.5px;font-weight:600}.badge.subtle{background:var(--surface-2);color:var(--text-2);margin-left:6px}.badge.accent{background:var(--accent-soft);color:var(--accent-strong);margin-left:6px}.badge.src-web{background:var(--src-web-bg);color:var(--src-web)}.badge.src-desktop{background:var(--src-desktop-bg);color:var(--src-desktop)}.badge.src-cli{background:var(--src-cli-bg);color:var(--src-cli)}.badge.src-telegram{background:var(--src-telegram-bg);color:var(--src-telegram)}.badge.live{background:var(--ok-soft);color:var(--ok)}.badge.live.busy{background:var(--danger-soft);color:var(--danger)}.dot{background:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);display:inline-block;border-radius:50%;width:9px;height:9px}.chip{display:inline-flex;background:var(--surface-2);color:var(--text-2);overflow:hidden;border-radius:999px;align-items: center;gap:5px;max-width:100%;min-height:26px;padding:2px 9px;font-size:12.5px;font-weight:550}.chip.accent{background:var(--accent-soft);color:var(--accent-strong)}.chips{display:flex;flex-wrap:wrap;gap:6px}.search{display:flex;margin:8px 12px 6px;margin-left:max(12px,var(--safe-l));margin-right:max(12px,var(--safe-r));background:var(--surface-2);color:var(--text-3);border-radius:12px;flex:none;align-items: center;gap:8px;min-height:40px;padding:0 12px}.sidebar .search{background:var(--hover)}.search input{outline:none;color:var(--text);background:0 0;border:0;flex:1;min-width:0;padding:8px 0;font-size:16px}.search input::placeholder{color:var(--text-3)}.search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}.search:focus-within{box-shadow:0 0 0 2px var(--accent-soft)}.list-scroll{overflow-y:auto;overscroll-behavior:contain;padding:4px 0 calc(16px + var(--safe-b));flex:1;min-height:0}.chat-list{list-style:none;padding:0 8px;padding-left:max(8px,var(--safe-l));padding-right:max(8px,var(--safe-r));margin:0}.chat-row{display:block;color:inherit;text-decoration:none;position:relative;border-radius:14px;padding:11px 12px 10px;transition:background-color .12s}@media (hover:hover){.chat-row:hover{background:var(--hover)}}.chat-row:active{background:var(--active)}.chat-row.active{background:var(--accent-soft)}.chat-list li+li .chat-row:before{content:"";position:absolute;border-top:1px solid var(--border-soft);top:0;left:12px;right:12px}.chat-list li+li .chat-row.active:before{border-top-color:#0000}.chat-list li:has(.chat-row.active)+li .chat-row:before{border-top-color:#0000}@media (hover:hover){.chat-list li+li .chat-row:hover:before{border-top-color:#0000}.chat-list li:has(.chat-row:hover)+li .chat-row:before{border-top-color:#0000}}.row-top{display:flex;align-items: flex-start;gap:10px}.row-title{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;overflow:hidden;overflow-wrap:anywhere;-webkit-box-orient:vertical;flex:1;min-width:0;font-size:15.5px;font-weight:600;line-height:1.32}.row-time{color:var(--text-3);font-variant-numeric:tabular-nums;flex:none;padding-top:2px;font-size:12.5px}.row-meta{display:flex;color:var(--text-2);overflow:hidden;align-items: center;gap:6px;min-height:20px;margin-top:4px;font-size:13px}.row-project{display:inline-flex;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-3);align-items: center;gap:4px;min-width:0}.row-flags{display:inline-flex;color:var(--accent);align-items: center;gap:8px;margin-left:auto;padding-right:2px}.list-empty{text-align:center;color:var(--text-3);display:flex;flex-direction:column;align-items: center;gap:14px;padding:48px 28px;font-size:15px}.list-foot{text-align:center;color:var(--text-3);padding:14px 24px 0;font-size:12.5px}.sidebar-foot{padding:8px 10px calc(8px + var(--safe-b));border-top:1px solid var(--border-soft);flex:none}.sidebar-foot .btn{color:var(--text-2);background:0 0;border-color:#0000;justify-content:flex-start;width:100%}@media (hover:hover){.sidebar-foot .btn:hover{background:var(--hover)}}.chat-bar{gap:2px}.chat-title-btn{display:flex;text-align:left;background:0 0;border:0;border-radius:10px;flex-direction:column;flex:1;justify-content:center;align-items: flex-start;min-width:0;min-height:44px;padding:2px 8px}@media (hover:hover){.chat-title-btn:hover:not(.static){background:var(--hover)}}.chat-title{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:16px;font-weight:650;line-height:1.25}.chat-sub{color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:12.5px}.live-tag{color:var(--ok)}.model-pick{position:relative;display:inline-flex;border:1px solid var(--border);background:var(--surface);color:var(--text-2);border-radius:999px;flex:none;align-items: center;max-width:150px;min-height:34px;padding:0 25px 0 11px;font-size:13px;font-weight:550}.model-pick:focus-within{outline:2px solid var(--accent);outline-offset:2px}.model-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.model-pick select{position:absolute;opacity:0;cursor:pointer;border:0;width:100%;height:100%;font-size:16px;inset:0}.model-pick:after{content:"";position:absolute;border-right:1.6px solid var(--text-3);border-bottom:1.6px solid var(--text-3);pointer-events:none;width:6px;height:6px;margin-top:-5px;top:50%;right:11px;transform:rotate(45deg)}@media (pointer:coarse){.model-pick{min-height:38px}}@media (max-width:599px){.model-pick{max-width:112px}.list-bar .bar-title{font-size:24px}}.menu-wrap{position:relative;flex:none}.menu{position:absolute;background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow-lg);z-index:20;animation:.14s ease-out pop;border-radius:14px;min-width:210px;padding:6px;top:calc(100% + 4px);right:0}.menu-item{display:flex;text-align:left;background:0 0;border:0;border-radius:9px;align-items: center;gap:10px;width:100%;min-height:44px;padding:0 12px;font-size:15px}@media (hover:hover){.menu-item:hover{background:var(--hover);outline:none}.menu-item:focus-visible{background:var(--hover);outline:none}}.menu-item .icon{color:var(--text-2)}.menu-item.danger{color:var(--danger)}@keyframes pop{0%{opacity:0;transform:translateY(-4px)scale(.98)}}.messages{overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:1;min-height:0}.messages-inner{padding:18px 16px 20px;padding-left:max(16px,var(--safe-l));padding-right:max(16px,var(--safe-r));display:flex;flex-direction:column;gap:12px;max-width:780px;margin:0 auto}.msg{min-width:0}.msg.user{display:flex;justify-content:flex-end;margin:6px 0 2px}.msg.user .bubble{background:var(--user-bubble);display:flex;border-radius:20px 20px 6px;flex-direction:column;gap:8px;max-width:min(85%,620px);padding:9px 14px}.user-text{white-space:pre-wrap;overflow-wrap:anywhere;font-size:15.5px;line-height:1.45}.msg.user .chip{background:var(--hover)}.msg.system{text-align:center;color:var(--text-3);align-self: center;max-width:90%;padding:2px 10px;font-size:12.5px}.msg.system.error{color:var(--danger);background:var(--danger-soft);border-radius:10px;padding:6px 12px;font-size:13.5px}.chat-empty{text-align:center;color:var(--text-2);display:flex;flex-direction:column;align-items: center;gap:8px;max-width:420px;margin:12vh auto 0;font-size:15px}.chat-empty .icon{color:var(--accent);margin-bottom:4px}.chat-empty .mono{overflow-wrap:anywhere}.chat-placeholder{display:flex;color:var(--text-3);flex:1;justify-content:center;align-items: center;padding:24px}.card{background:var(--bg-elev);border:1px solid var(--border);box-shadow:var(--shadow-sm);border-radius:16px}.center-card{display:flex;text-align:center;color:var(--text);flex-direction:column;align-items: center;gap:12px;max-width:420px;padding:24px}.center-card>.icon{color:var(--accent)}.center-card p{color:var(--text-2);font-size:15px}.thinking-line{display:flex;color:var(--text-2);align-items: center;gap:10px;min-height:28px;font-size:14.5px}.pulse-dot{background:var(--accent);animation:1.4s ease-in-out infinite pulse;border-radius:50%;flex:none;width:9px;height:9px}@keyframes pulse{0%,to{opacity:.35;transform:scale(.85)}50%{opacity:1;transform:scale(1.1)}}.shimmer{background:linear-gradient(90deg,var(--text-3)0%,var(--text-3)35%,var(--text)50%,var(--text-3)65%,var(--text-3)100%);color:#0000;animation:2s linear infinite shimmer;background-size:250% 100%;-webkit-background-clip:text;background-clip:text}@keyframes shimmer{0%{background-position:100% 0}to{background-position:-150% 0}}.md{overflow-wrap:break-word;min-width:0;font-size:15.5px;line-height:1.6}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol,.md blockquote,.md table,.md pre{margin:0 0 .75em}.md h1,.md h2,.md h3,.md h4,.md h5,.md h6{margin:1.1em 0 .45em;font-weight:650;line-height:1.3}.md h1{font-size:1.35em}.md h2{font-size:1.2em}.md h3{font-size:1.08em}.md h4,.md h5,.md h6{font-size:1em}.md ul,.md ol{padding-left:1.45em}.md li,.md li>p{margin:.2em 0}.md li::marker{color:var(--text-3)}.md blockquote{border-left:3px solid var(--border);color:var(--text-2);padding:2px 0 2px 14px}.md hr{border:0;border-top:1px solid var(--border);margin:1.2em 0}.md a{color:var(--accent-strong);text-decoration-thickness:1px;text-underline-offset:2px}.md :not(pre)>code{font-family:var(--mono);background:var(--inline-code);overflow-wrap:anywhere;border-radius:6px;padding:.12em .38em;font-size:.86em}.md table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:14px}.md th,.md td{border:1px solid var(--border);text-align:left;vertical-align:top;padding:6px 10px}.md th{background:var(--surface-2);font-weight:600}.md input[type=checkbox]{vertical-align:-1px;accent-color:var(--accent);margin:0 6px 0 0}.code-block{border:1px solid var(--border);background:var(--code-bg);overflow:hidden;border-radius:12px;margin:.4em 0 .9em}.code-head{display:flex;border-bottom:1px solid var(--border-soft);color:var(--text-3);justify-content:space-between;align-items: center;min-height:34px;padding:0 4px 0 12px;font-size:12px}.code-lang{font-family:var(--mono);text-transform:lowercase}.code-copy{color:var(--text-2);background:0 0;border:0;border-radius:8px;min-height:30px;padding:0 10px;font-size:12.5px;font-weight:550}@media (hover:hover){.code-copy:hover{background:var(--hover);color:var(--text)}}.code-copy.done{color:var(--ok)}.code-block pre{overflow-x:auto;font-family:var(--mono);tab-size:4;margin:0;padding:12px 14px;font-size:13px;line-height:1.55}.md .code-block pre code{font-size:inherit;background:0 0;padding:0}.collapsible{border:1px solid var(--border-soft);background:var(--bg);border-radius:12px;min-width:0}.collapsible.open{background:var(--bg-elev);border-color:var(--border)}.collapse-head{display:flex;text-align:left;color:var(--text-2);background:0 0;border:0;border-radius:12px;align-items: center;gap:8px;width:100%;min-height:38px;padding:6px 12px 6px 10px;font-size:13.5px}@media (hover:hover){.collapse-head:hover{background:var(--hover)}}@media (pointer:coarse){.collapse-head{min-height:44px}}.caret{color:var(--text-3);transition:transform .15s}.open>.collapse-head .caret{transform:rotate(90deg)}.tool-name{color:var(--text);flex:none;font-weight:650}.tool-summary{font-family:var(--mono);color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0;font-size:12.5px}.tool-state{display:inline-flex;color:var(--accent);flex:none;margin-left:auto}.tool.error{border-color:var(--danger-soft)}.tool.error .tool-name{color:var(--danger)}.err-tag{color:var(--danger);background:var(--danger-soft);border-radius:999px;padding:1px 7px;font-size:11.5px;font-weight:650}.tool-body{display:flex;flex-direction:column;gap:10px;padding:2px 12px 12px}.tool-input{display:flex;flex-direction:column;gap:6px;min-width:0}.sub-label{letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);margin-bottom:4px;font-size:11.5px;font-weight:650}.file-path{color:var(--text-2);overflow-wrap:anywhere;font-size:12.5px}pre.code,pre.out{background:var(--code-bg);border:1px solid var(--border-soft);font-family:var(--mono);overflow:auto;white-space:pre;border-radius:10px;max-height:360px;margin:0;padding:10px 12px;font-size:12.5px;line-height:1.5}pre.out{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--text-2)}pre.out.error{color:var(--danger);background:var(--danger-soft);border-color:#0000}pre.code.add{background:var(--add-bg);border-left:3px solid var(--ok)}pre.code.del{background:var(--del-bg);border-left:3px solid var(--danger)}.edit-pair{display:flex;flex-direction:column;gap:4px}.tool-wait{display:flex;align-items: center;gap:6px}.thinking{border-style:dashed;align-self: flex-start}.thinking.open{align-self:stretch}.thinking-text{white-space:pre-wrap;color:var(--text-2);padding:2px 14px 12px 32px;font-size:14px;font-style:italic;line-height:1.55}.chat-bottom{position:relative;flex:none;width:100%;max-width:812px;margin:0 auto}.scroll-down{position:absolute;right:max(18px,var(--safe-r));border:1px solid var(--border);background:var(--bg-elev);color:var(--text-2);box-shadow:var(--shadow);display:grid;z-index:4;animation:.15s ease-out pop;border-radius:50%;place-items: center;width:42px;height:42px;top:-56px}.pending-area{max-height:calc(var(--vvh,100dvh)*.55);overflow-y:auto;overscroll-behavior:contain;padding:8px 12px 0;padding-left:max(12px,var(--safe-l));padding-right:max(12px,var(--safe-r));display:flex;flex-direction:column;gap:10px}.pending{display:flex;border-color:color-mix(in srgb,var(--accent)38%,var(--border));box-shadow:var(--shadow);flex-direction:column;align-items:stretch;gap:8px;padding:12px 14px 14px}.pending .link-btn{align-self: flex-start;min-height:28px;padding:2px 0}.pending-actions .btn{min-height:42px}.pending-head{display:flex;color:var(--accent);align-items: flex-start;gap:8px}.pending-title{color:var(--text);overflow-wrap:anywhere;font-size:15px;font-weight:650;line-height:1.35}.pending-rule{color:var(--text-3);overflow-wrap:anywhere;margin:8px 0 0;font-size:12px}.pending-desc{color:var(--text-2);font-size:14px}.pending-summary{background:var(--code-bg);border:1px solid var(--border-soft);white-space:pre-wrap;overflow-wrap:anywhere;overflow:auto;border-radius:10px;max-height:140px;padding:8px 10px;font-size:12.5px}.plan{overflow:auto;background:var(--bg);border:1px solid var(--border-soft);border-radius:10px;max-height:34vh;padding:10px 12px}.plan .md{font-size:14.5px}.pending-actions{display:flex;flex-wrap:wrap;gap:8px}.pending-actions .btn{flex:auto}.q{display:flex;flex-direction:column;gap:8px;min-width:0}.q+.q{border-top:1px solid var(--border-soft);margin-top:4px;padding-top:12px}.q-legend{display:flex;flex-direction:column;align-items: flex-start;gap:6px}.q-legend .chip{min-height:22px;font-size:12px}.q-text{font-size:15px;font-weight:650;line-height:1.4}.q-options{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px}.q-opt{display:flex;border:1px solid var(--border);background:var(--surface);text-align:left;border-radius:12px;flex-direction:column;align-items: flex-start;gap:2px;min-height:44px;padding:7px 11px;transition:border-color .12s,background-color .12s}@media (hover:hover){.q-opt:hover{background:var(--surface-2)}}.q-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)inset}.q-opt.other{color:var(--text-2);justify-content:center}.q-opt-label{display:flex;align-items: center;gap:7px;font-size:14.5px;font-weight:600}.q-opt-desc{color:var(--text-2);font-size:13px;line-height:1.35}.tick{border:1.5px solid var(--text-3);display:inline-grid;border-radius:5px;flex:none;place-items: center;width:16px;height:16px}.tick.on{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.q-other,.field input,.field select,.field textarea{border:1px solid var(--border);background:var(--input-bg);resize:vertical;border-radius:12px;width:100%;min-height:44px;padding:10px 12px;font-size:16px;line-height:1.4}.q-other:focus,.field input:focus,.field select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.composer{padding:8px 12px calc(10px + var(--safe-b));padding-left:max(12px,var(--safe-l));padding-right:max(12px,var(--safe-r));display:flex;flex-direction:column;gap:8px}.composer.resending{color:var(--text-2);flex-direction:row;justify-content:center;align-items: center;min-height:64px;font-size:14px}.composer-row{display:flex;border:1px solid var(--border);background:var(--input-bg);box-shadow:var(--shadow);border-radius:24px;align-items: flex-end;gap:4px;padding:4px;transition:border-color .15s,box-shadow .15s}.composer-row:focus-within{border-color:color-mix(in srgb,var(--accent)55%,var(--border));box-shadow:0 0 0 3px var(--accent-soft),var(--shadow)}.composer-attach{border-radius:50%;width:40px;height:40px}.composer-input{outline:none;resize:none;overflow-y:auto;background:0 0;border:0;flex:1;min-width:0;min-height:40px;max-height:40vh;padding:9px 4px 9px 2px;font-size:16px;line-height:1.4}.composer-input::placeholder{color:var(--text-3)}.composer-input:focus-visible{outline:none}.send-btn{display:grid;background:var(--accent);color:var(--on-accent);border:0;border-radius:50%;flex:none;place-items: center;width:40px;height:40px;transition:background-color .15s,opacity .15s,transform .1s}@media (hover:hover){.send-btn:hover:not(:disabled){background:var(--accent-strong)}}.send-btn:active:not(:disabled){transform:scale(.94)}.send-btn:disabled{background:var(--surface-2);color:var(--text-3);cursor:default}.send-btn.stop,.send-btn.stop:hover:not(:disabled){background:var(--text);color:var(--bg)}.composer-chips .chip{background:var(--surface);border:1px solid var(--border);padding-right:3px}.chip-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);max-width:180px}.chip-size{color:var(--text-3);font-weight:500}.chip-x{display:grid;color:var(--text-3);background:0 0;border:0;border-radius:50%;place-items: center;width:24px;height:24px}@media (hover:hover){.chip-x:hover{background:var(--hover);color:var(--text)}}dialog.dialog{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-lg);overflow:hidden;border:0;border-radius:18px;width:min(480px,100vw - 32px);max-width:none;max-height:min(86dvh,760px);padding:0}dialog.dialog[open]{display:flex;animation:.18s ease-out dialog-in;flex-direction:column}dialog.dialog::backdrop{background:var(--backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.dialog-body{display:flex;flex-direction:column;flex:1;min-height:0}.dialog-head{display:flex;align-items: center;gap:8px;padding:14px 10px 6px 20px}.dialog-head h2{flex:1;font-size:18px}.dialog-content{overflow-y:auto;display:flex;flex-direction:column;flex:auto;gap:14px;min-height:0;padding:6px 20px 18px;font-size:15px}.dialog-content>p{color:var(--text-2)}.dialog-foot{display:flex;border-top:1px solid var(--border-soft);justify-content:flex-end;gap:8px;padding:12px 16px}@media (max-width:599px){dialog.dialog.sheet{border-radius:20px 20px 0 0;width:100%;max-width:100%;max-height:90dvh;margin:auto 0 0}dialog.dialog.sheet[open]{animation:.22s cubic-bezier(.2,.8,.2,1) sheet-in}dialog.dialog.sheet .dialog-foot{padding-bottom:calc(12px + var(--safe-b))}dialog.dialog.sheet .dialog-foot .btn{flex:1}}@keyframes sheet-in{0%{transform:translateY(40px);opacity:.4}}.field{display:flex;text-align:left;flex-direction:column;gap:6px;width:100%}.field-label{color:var(--text-2);font-size:13px;font-weight:600}.field-hint{color:var(--text-3);font-size:12.5px}.field-hint.error{color:var(--danger)}.field select{-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--text-3)50%),linear-gradient(135deg,var(--text-3)50%,transparent 50%);background-position:calc(100% - 18px) 52%,calc(100% - 13px) 52%;background-repeat:no-repeat;background-size:5px 5px;padding-right:34px}.project-list{display:flex;overflow-y:auto;flex-direction:column;gap:6px;max-height:38vh;margin-top:-6px;padding:2px}.project-opt{display:flex;border:1px solid var(--border);background:var(--surface);text-align:left;color:var(--text-2);border-radius:12px;align-items: center;gap:12px;min-height:52px;padding:8px 12px;transition:border-color .12s,background-color .12s}@media (hover:hover){.project-opt:hover{background:var(--surface-2)}}.project-opt.on{border-color:var(--accent);background:var(--accent-soft);box-shadow:0 0 0 1px var(--accent)inset;color:var(--accent)}.project-text{display:flex;flex-direction:column;flex:1;min-width:0}.project-label{display:flex;color:var(--text);align-items: center;font-size:15px;font-weight:600}.project-path{font-family:var(--mono);color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.project-count{color:var(--text-3);font-variant-numeric:tabular-nums;font-size:12.5px}.toasts{position:fixed;left:50%;bottom:calc(var(--safe-b) + 92px);display:flex;z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:min(440px,100vw - 24px);transform:translate(-50%)}.toast{pointer-events:auto;display:flex;background:var(--toast-bg);color:var(--toast-text);box-shadow:var(--shadow-lg);animation:.2s ease-out toast-in;border-radius:14px;align-items: center;gap:10px;padding:10px 6px 10px 16px;font-size:14.5px;line-height:1.35}.toast span{flex:1}.toast.error{border-left:4px solid var(--danger)}.toast-x{display:grid;color:inherit;opacity:.7;background:0 0;border:0;border-radius:50%;place-items: center;width:32px;height:32px}@keyframes toast-in{0%{opacity:0;transform:translateY(10px)}}.auth-screen{overflow-y:auto;display:flex;padding:calc(24px + var(--safe-t))20px calc(24px + var(--safe-b));background:radial-gradient(1200px 500px at 50% -10%,var(--accent-soft),transparent 60%),var(--bg);flex:1;justify-content:center;align-items: center}.auth-card{display:flex;text-align:center;flex-direction:column;align-items: center;gap:14px;width:100%;max-width:400px}.auth-card .app-mark{border-radius:16px;margin-bottom:6px;box-shadow:0 10px 30px #b44f3040}.auth-card h1{font-size:26px;font-weight:700}.auth-sub{color:var(--text-2);margin-bottom:10px;font-size:15.5px}.auth-card .field{margin-bottom:4px}.auth-card .btn.secondary{color:var(--text-2);padding:0 12px;font-size:14.5px;font-weight:550}.notice{text-align:left;background:var(--surface-2);color:var(--text-2);border-radius:12px;width:100%;padding:11px 14px;font-size:14.5px;line-height:1.45}.notice.error{background:var(--danger-soft);color:var(--danger)}.notice.ok{background:var(--ok-soft);color:var(--ok)}.settings-scroll{overflow-y:auto;overscroll-behavior:contain;flex:1;min-height:0}.settings-inner{padding:16px 16px calc(28px + var(--safe-b));padding-left:max(16px,var(--safe-l));padding-right:max(16px,var(--safe-r));display:flex;flex-direction:column;gap:16px;max-width:640px;margin:0 auto}.settings-card{display:flex;flex-direction:column;gap:12px;padding:16px}.card-title{font-size:16px}.sub-title{letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);margin-top:4px;font-size:12px;font-weight:650}.segmented{display:grid;grid-template-columns:repeat(3,1fr);background:var(--surface-2);border-radius:13px;gap:4px;padding:4px}.seg{display:inline-flex;color:var(--text-2);background:0 0;border:0;border-radius:10px;justify-content:center;align-items: center;gap:6px;min-height:40px;transition:background-color .15s,color .15s;font-size:14.5px;font-weight:550}.seg.on{background:var(--bg-elev);color:var(--text);box-shadow:var(--shadow-sm)}.dev-list{list-style:none;margin:0;padding:0}.dev-row{display:flex;align-items: center;gap:12px;padding:8px 0}.dev-row+.dev-row{border-top:1px solid var(--border-soft)}.dev-icon{display:grid;background:var(--surface-2);color:var(--text-2);border-radius:10px;flex:none;place-items: center;width:36px;height:36px}.dev-text{display:flex;flex-direction:column;flex:1;min-width:0}.dev-label{display:flex;flex-wrap:wrap;align-items: center;row-gap:2px;font-size:15px;font-weight:600}.dev-meta{color:var(--text-3);font-size:12.5px}.settings-actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:4px}.switch-row{display:flex;align-items: center;gap:12px;min-height:44px;font-size:15px}.switch{-webkit-appearance:none;appearance:none;background:var(--border);position:relative;cursor:pointer;border-radius:999px;flex:none;width:46px;height:28px;margin:0;transition:background-color .15s}.switch:after{content:"";position:absolute;background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .18s;top:3px;left:3px;box-shadow:0 1px 3px #00000040}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(18px)}.link-box{display:flex;flex-direction:column;align-items: center;gap:12px}.qr-wrap{border:1px solid var(--border);background:#fff;border-radius:16px;padding:12px;transition:opacity .2s}.qr-wrap.expired{opacity:.25}.qr{display:block;width:216px;height:216px}.link-url{background:var(--surface-2);color:var(--text-2);overflow-wrap:anywhere;text-align:center;border-radius:10px;max-width:100%;padding:8px 12px;font-size:12px}@media (min-width:900px){.messages-inner{padding-top:24px}.chat-bar{padding-left:14px}}.hljs{color:var(--text)}.hljs-comment,.hljs-quote{color:#8d887e;font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-section{color:#a8432a}.hljs-string,.hljs-regexp,.hljs-char.escape_,.hljs-addition{color:#3c7a35}.hljs-number,.hljs-literal,.hljs-symbol,.hljs-bullet{color:#2d6aa3}.hljs-title,.hljs-title.function_,.hljs-selector-id,.hljs-selector-class{color:#7b48ad}.hljs-type,.hljs-title.class_,.hljs-class .hljs-title{color:#996200}.hljs-attr,.hljs-attribute,.hljs-property,.hljs-name{color:#8e5520}.hljs-built_in,.hljs-tag{color:#0c7781}.hljs-variable,.hljs-template-variable,.hljs-params{color:#a34f37}.hljs-meta,.hljs-meta .hljs-keyword{color:#6f6a62}.hljs-deletion{color:#b03a2e;background:var(--del-bg)}.hljs-addition{background:var(--add-bg)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.hljs-section{font-weight:650}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .hljs-comment,:root:not([data-theme=light]) .hljs-quote{color:#827d73}:root:not([data-theme=light]) .hljs-keyword,:root:not([data-theme=light]) .hljs-selector-tag,:root:not([data-theme=light]) .hljs-doctag,:root:not([data-theme=light]) .hljs-section{color:#f19470}:root:not([data-theme=light]) .hljs-string,:root:not([data-theme=light]) .hljs-regexp,:root:not([data-theme=light]) .hljs-char.escape_,:root:not([data-theme=light]) .hljs-addition{color:#a9d58c}:root:not([data-theme=light]) .hljs-number,:root:not([data-theme=light]) .hljs-literal,:root:not([data-theme=light]) .hljs-symbol,:root:not([data-theme=light]) .hljs-bullet{color:#82b8ea}:root:not([data-theme=light]) .hljs-title,:root:not([data-theme=light]) .hljs-title.function_,:root:not([data-theme=light]) .hljs-selector-id,:root:not([data-theme=light]) .hljs-selector-class{color:#cba6f2}:root:not([data-theme=light]) .hljs-type,:root:not([data-theme=light]) .hljs-title.class_,:root:not([data-theme=light]) .hljs-class .hljs-title{color:#e8c36d}:root:not([data-theme=light]) .hljs-attr,:root:not([data-theme=light]) .hljs-attribute,:root:not([data-theme=light]) .hljs-property,:root:not([data-theme=light]) .hljs-name{color:#e6b07a}:root:not([data-theme=light]) .hljs-built_in,:root:not([data-theme=light]) .hljs-tag{color:#72d0d6}:root:not([data-theme=light]) .hljs-variable,:root:not([data-theme=light]) .hljs-template-variable,:root:not([data-theme=light]) .hljs-params{color:#eea489}:root:not([data-theme=light]) .hljs-meta,:root:not([data-theme=light]) .hljs-meta .hljs-keyword{color:#a39f96}:root:not([data-theme=light]) .hljs-deletion{color:#f08a7e}}:root[data-theme=dark] .hljs-comment,:root[data-theme=dark] .hljs-quote{color:#827d73}:root[data-theme=dark] .hljs-keyword,:root[data-theme=dark] .hljs-selector-tag,:root[data-theme=dark] .hljs-doctag,:root[data-theme=dark] .hljs-section{color:#f19470}:root[data-theme=dark] .hljs-string,:root[data-theme=dark] .hljs-regexp,:root[data-theme=dark] .hljs-char.escape_,:root[data-theme=dark] .hljs-addition{color:#a9d58c}:root[data-theme=dark] .hljs-number,:root[data-theme=dark] .hljs-literal,:root[data-theme=dark] .hljs-symbol,:root[data-theme=dark] .hljs-bullet{color:#82b8ea}:root[data-theme=dark] .hljs-title,:root[data-theme=dark] .hljs-title.function_,:root[data-theme=dark] .hljs-selector-id,:root[data-theme=dark] .hljs-selector-class{color:#cba6f2}:root[data-theme=dark] .hljs-type,:root[data-theme=dark] .hljs-title.class_,:root[data-theme=dark] .hljs-class .hljs-title{color:#e8c36d}:root[data-theme=dark] .hljs-attr,:root[data-theme=dark] .hljs-attribute,:root[data-theme=dark] .hljs-property,:root[data-theme=dark] .hljs-name{color:#e6b07a}:root[data-theme=dark] .hljs-built_in,:root[data-theme=dark] .hljs-tag{color:#72d0d6}:root[data-theme=dark] .hljs-variable,:root[data-theme=dark] .hljs-template-variable,:root[data-theme=dark] .hljs-params{color:#eea489}:root[data-theme=dark] .hljs-meta,:root[data-theme=dark] .hljs-meta .hljs-keyword{color:#a39f96}:root[data-theme=dark] .hljs-deletion{color:#f08a7e}@media (prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.spinner svg{animation:1.6s linear infinite spin!important}}
