:root{--bg: #1d1f21;--fg: #c5c8c6;--panel: #26282b;--panel-2: #2e3135;--border: #3a3e44;--muted: #8a8f96;--accent: #81a2be;--waiting: #ff8a3d;--working: #7aa6da;--idle: #8abe8a;--error: #e5534b;--warn: #e7c547;--mono: ui-monospace, Menlo, "Noto Sans Mono CJK SC", monospace;color-scheme:dark}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--fg);font:15px/1.4 -apple-system,PingFang SC,Noto Sans CJK SC,system-ui,sans-serif;touch-action:manipulation}.app{position:fixed;left:0;right:0;top:var(--vv-top, 0px);height:var(--vv-height, 100dvh);display:flex;flex-direction:column;overflow:hidden}.page{position:relative;flex:1;min-height:0;display:flex;flex-direction:column}.conn-banner{flex:none;padding:4px 12px;text-align:center;font-size:13px;background:#5a4a1a;color:#f5e6b0}.topbar{flex:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:0 8px;padding-top:env(safe-area-inset-top);background:var(--panel);border-bottom:1px solid var(--border)}.topbar .title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.btn{flex:none;min-height:34px;padding:4px 12px;border:1px solid var(--border);border-radius:8px;background:var(--panel-2);color:var(--fg);font:inherit;font-size:14px}.btn:disabled,.btn.disabled{opacity:.4}.btn.icon{min-width:38px;padding:4px 8px;font-size:17px}.btn.active{background:var(--accent);border-color:var(--accent);color:#10161c}.hint{padding:12px 16px;color:var(--muted);font-size:13px}.error{padding:8px 16px;color:#fff;background:#5c2320;font-size:13px}.warn{padding:4px 12px;color:#2a2205;background:var(--warn);font-size:12px}.small{font-size:12px;padding:4px 12px}.list-body{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:4px 0 calc(16px + env(safe-area-inset-bottom))}.group{margin:8px 12px 12px}.group-label{padding:4px;color:var(--muted);font-size:12px}.session{display:block;width:100%;margin:0 0 6px;padding:10px 12px;text-align:left;border:1px solid var(--border);border-radius:10px;background:var(--panel);color:var(--fg);font:inherit}.session-line{display:flex;align-items:center;gap:8px}.session-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.session-detail{margin-top:4px;font:13px/1.4 var(--mono);color:var(--fg);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-path{margin-top:4px;color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tag{margin-left:6px;padding:0 6px;border:1px solid var(--border);border-radius:6px;font-size:11px}.claude-state{flex:none;display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}.claude-state .dot{width:8px;height:8px;border-radius:50%;background:var(--muted)}.st-idle .claude-state{color:var(--idle)}.st-idle .dot{background:var(--idle)}.st-working .claude-state{color:var(--working)}.st-working .dot{background:var(--working);animation:pulse 1.2s ease-in-out infinite}.session.st-waiting{border-color:var(--waiting);background:#3a2716}.st-waiting .claude-state{color:var(--waiting);font-weight:700}.st-waiting .dot{width:10px;height:10px;background:var(--waiting);box-shadow:0 0 6px var(--waiting)}@keyframes pulse{50%{opacity:.3}}.settings{flex:none;padding:8px 12px;background:var(--panel-2);border-bottom:1px solid var(--border)}.settings-row{display:flex;align-items:center;gap:8px;padding:6px 0}.settings .hint{padding:4px 0}.term-viewport{position:relative;flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;background:var(--bg)}.term-sizer{overflow:hidden}.term-zoom{width:max-content}.term{--fg: #c5c8c6;--bg: #1d1f21;color:var(--fg);background:var(--bg);font-size:14px;font-family:var(--mono);font-variant-ligatures:none;user-select:none;-webkit-user-select:none}@media(pointer:fine){.term{user-select:text;-webkit-user-select:text}}.term .row{overflow:hidden}.term.mouse .history{display:none}.kbd-input{position:absolute;top:44px;left:0;width:1px;height:1px;padding:0;border:0;margin:0;opacity:0;font-size:16px;color:transparent;background:transparent;caret-color:transparent;resize:none;pointer-events:none}.toast{position:absolute;top:52px;left:50%;transform:translate(-50%);max-width:calc(100% - 32px);padding:8px 14px;border-radius:8px;background:#282a2ef2;border:1px solid var(--border);font-size:13px;z-index:10}.overlay{position:absolute;top:44px;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:#141517d9;z-index:5}.accessory{flex:none;display:flex;gap:4px;padding:4px 4px calc(4px + env(safe-area-inset-bottom));overflow-x:auto;background:var(--panel);border-top:1px solid var(--border)}.accessory .key{flex:1 0 auto;min-width:40px;height:36px;padding:0 6px;border:1px solid var(--border);border-radius:6px;background:var(--panel-2);color:var(--fg);font:14px var(--mono);touch-action:manipulation;user-select:none;-webkit-user-select:none}.accessory .key:active{background:var(--border)}.accessory .key.latched{background:var(--accent);border-color:var(--accent);color:#10161c;font-weight:700}.composer{flex:none;background:var(--panel);border-top:1px solid var(--border)}.composer-row{display:flex;align-items:flex-end;gap:6px;padding:6px}.composer-text{flex:1;min-width:0;max-height:40vh;padding:7px 8px;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--fg);font-family:inherit;font-size:16px;line-height:1.35;resize:none}.btn.send{color:var(--accent)}.thumbs{display:flex;gap:6px;padding:6px 6px 0;overflow-x:auto}.thumb{position:relative;flex:none;width:56px;height:56px}.thumb img{width:100%;height:100%;object-fit:cover;border-radius:6px;border:1px solid var(--border)}.thumb-del{position:absolute;top:-4px;right:-4px;width:22px;height:22px;padding:0;border:0;border-radius:50%;background:var(--error);color:#fff;font-size:14px;line-height:22px}.replies-btn{flex:none;padding:0 10px}.replies-panel{position:absolute;top:44px;right:0;bottom:0;left:0;z-index:6;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;padding:0 12px calc(16px + env(safe-area-inset-bottom));background:var(--bg);user-select:text;-webkit-user-select:text;-webkit-touch-callout:default}.replies-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;gap:8px;padding:8px 0;background:var(--bg)}.replies-title{flex:1;color:var(--muted);font-size:13px}.replies-empty{padding:32px 8px;color:var(--muted);text-align:center;font-size:14px}.reply-card{margin:0 0 12px;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--panel)}.reply-meta{display:flex;gap:8px;color:var(--muted);font-size:12px}.reply-live{color:var(--working)}.reply-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.replies-more{display:block;margin:4px auto 0}.md{font:15px/1.6 -apple-system,BlinkMacSystemFont,PingFang SC,Helvetica Neue,sans-serif;word-break:break-word}.md h1,.md h2,.md h3,.md h4{margin:12px 0 6px;font-size:16px}.md p,.md ul,.md ol,.md blockquote{margin:6px 0}.md ul,.md ol{padding-left:22px}.md blockquote{padding-left:10px;border-left:3px solid var(--border);color:var(--muted)}.md a{color:var(--accent)}.md code{font:13px var(--mono)}.md table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:14px}.md th,.md td{padding:4px 8px;border:1px solid var(--border);white-space:nowrap}.md-code{position:relative;margin:8px 0;border-radius:8px;background:var(--panel-2)}.md-code pre{margin:0;padding:10px 12px 40px;overflow-x:auto;white-space:pre}.md-copy{position:absolute;right:6px;bottom:6px}
