:root{--bg: #fcfcfb;--surface: #ffffff;--border: #e3e3e2;--track: #e3e3e2;--user-bg: #f0f0ef;--fg: #0b0b0b;--fg2: #52514e;--fg3: #898781;--code-bg: #f0f0ef;--code-border: #d9d9d8;--code-fg: #8e2626;--str: #1e7a34;--add-bg: #d2ecd8;--add-fg: #1e9e3c;--del-bg: #f3d0da;--del-fg: #cd2054;--clay: #d97757;--primary: #0b0b0b;--primary-fg: #ffffff;--ok: #1e9e3c;--danger: #8e2626;--switch-on: #0b0b0b;--switch-off: #d9d9d8;--knob-on: #ffffff;--knob-off: #ffffff;--composer-shadow: 0 1px 2px rgba(11, 11, 11, .06), 0 2px 8px rgba(11, 11, 11, .08);--card-shadow: 0 2px 4px rgba(11, 11, 11, .07), 0 6px 16px rgba(11, 11, 11, .08);--mono: ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, monospace;--ease: cubic-bezier(.165, .84, .44, 1);--ease-open: cubic-bezier(.32, .72, 0, 1);color-scheme:light}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){--bg: #151515;--surface: #1a1a19;--border: #2c2c2b;--track: #2c2c2b;--user-bg: #212120;--fg: #f0efec;--fg2: #c3c2b7;--fg3: #898781;--code-bg: #212120;--code-border: #333332;--code-fg: #ec7e7e;--str: #55bf50;--add-bg: #1b3c20;--add-fg: #32d74b;--del-bg: #441a22;--del-fg: #ff2c56;--primary: #f0efec;--primary-fg: #0b0b0b;--ok: #32d74b;--danger: #ec7e7e;--switch-on: #f0efec;--switch-off: #333332;--knob-on: #151515;--knob-off: #898781;--composer-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .24);--card-shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .24);color-scheme:dark}}:root[data-theme=dark]{--bg: #151515;--surface: #1a1a19;--border: #2c2c2b;--track: #2c2c2b;--user-bg: #212120;--fg: #f0efec;--fg2: #c3c2b7;--fg3: #898781;--code-bg: #212120;--code-border: #333332;--code-fg: #ec7e7e;--str: #55bf50;--add-bg: #1b3c20;--add-fg: #32d74b;--del-bg: #441a22;--del-fg: #ff2c56;--primary: #f0efec;--primary-fg: #0b0b0b;--ok: #32d74b;--danger: #ec7e7e;--switch-on: #f0efec;--switch-off: #333332;--knob-on: #151515;--knob-off: #898781;--composer-shadow: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 8px rgba(0, 0, 0, .24);--card-shadow: 0 2px 4px rgba(0, 0, 0, .3), 0 6px 16px rgba(0, 0, 0, .24);color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,PingFang SC,HarmonyOS Sans SC,Microsoft YaHei,sans-serif;font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased;overscroll-behavior:none}button,input,textarea{font:inherit;color:inherit}button{cursor:pointer}a{color:inherit}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tnum{font-variant-numeric:tabular-nums}.screen{height:100%;display:flex;flex-direction:column;overflow:hidden;padding-top:env(safe-area-inset-top)}.scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.icon-btn{width:44px;height:44px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;background:transparent;color:var(--fg2);text-decoration:none;border-radius:8px}.icon-btn:active{background:var(--user-bg)}.list-header{display:flex;flex-direction:column;gap:8px;padding:8px 8px 10px 16px;border-bottom:1px solid var(--border)}.list-title{margin:0;font-size:18px;font-weight:600;line-height:1.35}.conn{display:flex;align-items:center;gap:6px;font-size:12px;line-height:1.35;color:var(--fg3)}.dot{width:6px;height:6px;border-radius:3px;background:var(--fg3);flex-shrink:0}.dot.ok{background:var(--ok)}.dot.clay{width:7px;height:7px;border-radius:4px;background:var(--clay)}.search{display:flex;align-items:center;gap:8px;height:36px;margin-right:8px;padding:0 10px;border-radius:8px;background:var(--user-bg);color:var(--fg3)}.search input{flex:1;min-width:0;border:0;outline:none;background:transparent;color:var(--fg);font-size:16px}.avatar{width:28px;height:28px;border-radius:14px;display:flex;align-items:center;justify-content:center;background:var(--user-bg);color:var(--fg2);font-size:12px;font-weight:600}.nav{padding:6px 8px calc(16px + env(safe-area-inset-bottom)) 8px}.group-head{display:flex;align-items:center;height:32px;margin-top:8px;padding:0 10px;font-size:12px;font-weight:500;color:var(--fg3)}.row{display:flex;align-items:center;gap:10px;min-height:44px;padding:0 10px;border-radius:8px;color:var(--fg);text-decoration:none}.row:active,.row.current{background:var(--user-bg)}.row .title{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.row .state{flex-shrink:0;font-size:12px;color:var(--fg3)}.empty{padding:40px 20px;text-align:center;color:var(--fg3)}.chat-header{display:flex;align-items:center;height:52px;padding:0 4px;border-bottom:1px solid var(--border);flex-shrink:0}.chat-title{flex:1;min-width:0;display:flex;flex-direction:column;align-items:flex-start}.chat-title .t{max-width:100%;font-size:15px;font-weight:600;line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-title .p{font-size:12px;line-height:1.35;color:var(--fg3)}.thread{display:flex;flex-direction:column;gap:12px;padding:16px 18px}.bubble{align-self:flex-end;max-width:82%;padding:8px 12px;border-radius:12px;background:var(--user-bg);white-space:pre-wrap;word-break:break-word}.bubble .img{color:var(--fg3);font-size:14px}.md{word-break:break-word}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p{margin:.5em 0}.md ul,.md ol{margin:.5em 0;padding-left:20px}.md li{margin:2px 0}.md strong{font-weight:600}.md h1,.md h2,.md h3,.md h4{margin:1em 0 .4em;line-height:1.35;font-weight:600}.md h1{font-size:18px}.md h2{font-size:16px}.md h3,.md h4{font-size:15px}.md code{padding:1px 4px;border:1px solid var(--code-border);border-radius:4px;background:var(--code-bg);color:var(--code-fg);font-family:var(--mono);font-size:13px}.md pre{margin:.6em 0;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow-x:auto;font-size:12px;line-height:1.55}.md pre code{padding:0;border:0;background:transparent;color:var(--fg);font-size:inherit}.md blockquote{margin:.6em 0;padding-left:12px;color:var(--fg2);box-shadow:inset 2px 0 0 var(--border)}.md .table{overflow-x:auto;margin:.6em 0;border:1px solid var(--border);border-radius:12px}.md table{border-collapse:collapse;font-size:14px;line-height:1.5}.md th,.md td{padding:6px 10px;text-align:left;vertical-align:top}.md tr+tr td,.md tbody tr:first-child td{border-top:1px solid var(--border)}.md th{font-weight:600;white-space:nowrap}.md a{color:var(--fg);text-decoration-color:var(--fg3)}.md hr{border:0;height:1px;background:var(--border)}.inline-btn{align-self:flex-start;display:flex;align-items:center;gap:4px;min-height:28px;padding:0;border:0;background:transparent;color:var(--fg3);font-size:14px;text-align:left}.inline-btn .name{color:var(--fg)}.chev{flex-shrink:0;transition:transform .2s var(--ease)}.chev.closed{transform:rotate(-90deg)}.collapse{display:grid;grid-template-rows:0fr;transition:grid-template-rows .2s var(--ease-open)}.collapse.open{grid-template-rows:1fr}.collapse>div{min-height:0;overflow:hidden}.steps{display:flex;flex-direction:column;gap:6px}.steps-card{display:flex;flex-direction:column;border:1px solid var(--border);border-radius:12px;background:var(--surface);overflow:hidden}.step-row{width:100%;display:flex;align-items:center;gap:6px;min-height:40px;padding:0 12px;border:0;background:transparent;color:var(--fg3);font-size:14px;text-align:left}.step+.step .step-row{border-top:1px solid var(--border)}.step-row .lbl{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.term{display:flex;flex-direction:column;margin:0 10px 10px;border:1px solid var(--border);border-radius:8px;font-family:var(--mono);font-size:12px;line-height:1.55}.term .cmd{display:flex;gap:8px;padding:8px 10px}.term .cmd .p{color:var(--fg3)}.term .cmd .c{flex:1;min-width:0;color:var(--fg);word-break:break-all;white-space:pre-wrap}.term .out{padding:8px 10px;border-top:1px solid var(--border);color:var(--fg2);white-space:pre-wrap;word-break:break-all;max-height:220px;overflow:hidden}.badge{font-size:12px;font-weight:500;line-height:18px;padding:0 5px;border-radius:4px;font-variant-numeric:tabular-nums}.badge.add{background:var(--add-bg);color:var(--add-fg)}.badge.del{background:var(--del-bg);color:var(--del-fg)}.plan{margin:0;padding:10px 14px;list-style:none;display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:12px}.plan li{display:flex;align-items:center;gap:10px}.plan li.done{color:var(--fg3)}.wrapup{display:flex;flex-direction:column;gap:8px;padding:12px 14px;border:1px solid var(--border);border-radius:12px;background:var(--surface)}.wrapup .recap{font-size:14px;line-height:1.55;color:var(--fg2)}.wrapup .ask{font-weight:600}.wrapup .actions{display:flex;flex-wrap:wrap;gap:8px;padding-top:2px}.btn{height:34px;padding:0 14px;border:0;border-radius:8px;font-size:14px}.btn.primary{background:var(--primary);color:var(--primary-fg);font-weight:500}.btn.secondary{border:1px solid var(--border);background:transparent}.btn:disabled{opacity:.45;cursor:default}.live{display:flex;align-items:center;gap:8px;min-height:28px;font-size:14px;color:var(--fg3);min-width:0}.live .what{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live .time{flex-shrink:0;font-size:13px}.earlier{align-self:center;font-size:12px;color:var(--fg3)}.composer-wrap{padding:6px 12px calc(14px + env(safe-area-inset-bottom)) 12px;flex-shrink:0}.composer{display:flex;flex-direction:column;gap:2px;padding:10px 8px 6px 14px;border:1px solid var(--border);border-radius:14px;background:var(--surface);box-shadow:var(--composer-shadow)}.composer textarea{min-height:28px;max-height:140px;border:0;outline:none;resize:none;background:transparent;color:var(--fg);font-size:16px;line-height:1.5;padding:2px 0}.composer .bar{display:flex;align-items:center;margin-left:-8px}.composer .bar .icon-btn{width:36px;height:36px}.chip{height:30px;display:flex;align-items:center;gap:3px;padding:0 8px;border:0;border-radius:8px;background:transparent;color:var(--fg2);font-size:13px;white-space:nowrap}.round{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:0;border-radius:16px;background:transparent;color:var(--fg2)}.round.first{margin-left:auto}.round.send{background:var(--user-bg);color:var(--fg3)}.round.send.on,.round.stop{background:var(--primary);color:var(--primary-fg)}.settings{display:flex;flex-direction:column;gap:20px;padding:18px 16px 24px}.profile{display:flex;align-items:center;gap:12px;padding:0 4px}.profile .avatar{width:40px;height:40px;border-radius:20px;font-size:15px}.section h2{margin:0 4px 6px;font-size:12px;font-weight:500;color:var(--fg3)}.group{border:1px solid var(--border);border-radius:12px;overflow:hidden}.group-row{width:100%;display:flex;align-items:center;gap:12px;min-height:48px;padding:0 14px;border:0;background:transparent;text-align:left}.group-row+.group-row{border-top:1px solid var(--border)}.group-row .val{margin-left:auto;color:var(--fg3);font-size:13px}.group-row .val.mono{font-family:var(--mono)}.pair{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;padding:24px}.pair h1{margin:0;font-size:18px;font-weight:600}.pair input{height:44px;padding:0 12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);outline:none;font-size:16px}.pair .err{color:var(--danger);font-size:13px}.pair .btn{height:44px;font-size:15px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:spin 1s linear infinite;flex-shrink:0}@keyframes blink{0%,to{opacity:1}50%{opacity:.25}}.loader circle{animation:blink 1.2s infinite}.loader circle:nth-child(2){animation-delay:.3s}.loader circle:nth-child(3){animation-delay:.6s}.loader circle:nth-child(4){animation-delay:.9s}
