.list-screen{position:relative;display:flex;flex-direction:column;min-width:0;height:100%}.list-scroll{flex:1;min-height:0;padding-bottom:var(--s-5);overflow-y:auto}.app[data-layout=phone] .list-scroll{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-7))}.top{display:flex;align-items:center;gap:var(--s-2);flex:none;min-height:calc(52px + max(var(--s-2),env(safe-area-inset-top)));padding:var(--s-2) var(--s-3);padding-top:max(var(--s-2),env(safe-area-inset-top));border-bottom:1px solid var(--line)}.top h1{flex:1;min-width:0}.list-search{display:flex;align-items:center;gap:var(--s-2);flex:none;padding:var(--s-2) var(--s-3);border-bottom:1px solid var(--line);color:var(--fg-2)}.list-search-input{flex:1;min-width:0;min-height:36px;border:0;background:transparent;outline-offset:-2px}.list-empty{padding:var(--s-5) var(--s-4)}.machine-pills{display:flex;gap:var(--s-2);padding:var(--s-3) var(--s-3) var(--s-2);overflow-x:auto}.machine-pills .pill{flex:none;min-height:30px;background:transparent}.pill.is-off{color:var(--fg-2)}.status-chips{display:flex;gap:var(--s-2);padding:var(--s-1) var(--s-3) var(--s-2);overflow-x:auto}.status-chips .pill{position:relative;flex:none;min-height:36px;padding:0 var(--s-3);background:transparent;font-size:var(--fs-meta)}.status-chips .pill:before{content:"";position:absolute;top:-5px;right:0;bottom:-5px;left:0}.sec-label{padding:var(--s-2) var(--s-4) var(--s-1);color:var(--fg-2);font-size:var(--fs-meta);font-weight:600}.glist{margin:0 var(--s-3) var(--s-4)}.list-scroll>.glist:first-child{margin-top:var(--s-3)}.card{border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.card>*,.card-rows>*{position:relative}.card>*+*:before,.card-rows>*+*:before{content:"";position:absolute;top:0;left:var(--s-3);right:0;height:1px;background:var(--line)}.card-head{display:flex;align-items:center;gap:var(--s-1);min-height:24px;padding:0 var(--s-1) var(--s-1);color:var(--fg-2);font-size:var(--fs-meta);font-weight:600;text-decoration:none}.card-head-name{flex:1;min-width:0;font-family:var(--font-mono);font-size:var(--fs-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:56px;padding:var(--s-2) var(--s-3);border:0;background:transparent;color:inherit;font:inherit;text-align:left;text-decoration:none}a.srow:hover,button.srow:hover{background:var(--hover)}button.srow{cursor:pointer}.srow-wrap{display:flex;align-items:center;padding-right:var(--s-2)}.srow-wrap>.srow{flex:1;min-width:0}.srow-main{display:flex;flex-direction:column;flex:1;min-width:0}.srow-title{font-size:var(--fs-name);font-weight:600;line-height:1.3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dot.srow-live{display:inline-block;width:8px;height:8px;margin-right:var(--s-2);vertical-align:middle}.srow-sub{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono);line-height:1.4;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.srow-toggle .srow-title,.srow.is-muted .srow-title{color:var(--fg-2);font-weight:400}.row-act{display:inline-flex;align-items:center;justify-content:center;flex:none;border:0;border-radius:50%;background:transparent;color:var(--fg-2);cursor:pointer}.row-act:hover{background:var(--hover);color:var(--fg)}.row-chev{flex:none;color:var(--fg-3)}.fab{position:absolute;right:var(--s-4);bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + var(--s-4));display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border:0;border-radius:50%;background:var(--accent);color:var(--on-accent);cursor:pointer}.fab:hover{box-shadow:0 0 0 2px var(--accent)}.form-screen{position:relative;display:flex;flex-direction:column;min-width:0;height:100%}.form{display:flex;flex-direction:column;gap:var(--s-5);width:100%;max-width:40rem;margin:0 auto;padding:var(--s-4) var(--s-3)}.form-sec{display:flex;flex-direction:column;gap:var(--s-2);min-width:0;margin:0;padding:0;border:0}.two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--s-3)}.group{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface);overflow:hidden}.group>*+*{border-top:1px solid var(--line)}.radio{display:flex;align-items:center;gap:var(--s-3);min-height:48px;padding:var(--s-2) var(--s-3);cursor:pointer}.radio:hover{background:var(--hover)}.radio input{flex:none;width:18px;height:18px;accent-color:var(--fg)}.radio input:disabled{cursor:default}.radio:has(input:disabled){color:var(--fg-2);cursor:default}.radio-main{display:flex;flex-direction:column;flex:1;min-width:0}.radio-name{font-size:var(--fs-name);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.radio-sub{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono)}.check{display:flex;align-items:center;gap:var(--s-2);min-height:44px;color:var(--fg-2);font-size:var(--fs-meta);cursor:pointer}.check input{width:18px;height:18px;accent-color:var(--fg)}.pick{display:flex;flex-direction:column;gap:var(--s-3);min-width:0}.pick .list-search{border:1px solid var(--line);border-radius:var(--r-row);padding:0 var(--s-2)}.pick .srow[aria-current=true]{background:var(--surface-2);box-shadow:inset 2px 0 0 var(--fg)}.pick-actions{display:flex;flex-wrap:wrap;gap:var(--s-2)}.pick-form{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.wt-name{color:var(--fg)}.inline-link{border:0;padding:0;background:transparent;color:var(--fg);font:inherit;text-decoration:underline;cursor:pointer}.link-row{display:flex;align-items:center;justify-content:center;gap:var(--s-1);width:100%;min-height:44px;border:0;background:transparent;color:var(--fg-2);font:inherit;cursor:pointer}.link-row:hover:not(:disabled){color:var(--fg)}.link-row:disabled{opacity:.5;cursor:default}.resume{display:flex;flex-direction:column;gap:var(--s-3)}.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1)}.crumb{min-height:32px;padding:0 var(--s-2);border:0;border-radius:var(--r-row);background:transparent;color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono);cursor:pointer}.crumb:hover{background:var(--hover);color:var(--fg)}.crumb+.crumb:before{content:"/";margin-right:var(--s-1);color:var(--fg-3)}.add-head{margin:0;color:var(--fg);font-size:var(--fs-body);font-weight:600}.add-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2)}.add-cmd{display:flex;align-items:flex-start;gap:var(--s-2)}.add-code{flex:1;min-width:0;margin:0;padding:var(--s-1) var(--s-2);color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-mono);line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.add-note{margin:0;padding:0 var(--s-2)}.add-copied{color:var(--fg-2)}.add-waiting{font-weight:400}.add-waiting-sub{font-family:var(--font-sans);font-size:var(--fs-meta)}.add-ok{flex:none;color:var(--diff-added)}.session{display:flex;flex-direction:column;min-width:0;height:100%;overflow:hidden}.session-web{flex-direction:row}.session-web[data-stack=true]{flex-direction:column}.session-main{display:flex;flex-direction:column;flex:1;min-width:0;min-height:0;container-type:inline-size}@container (max-width: 640px){.toolbar .btn-word{display:none}}.session-web .drawer{min-width:420px}.session-web[data-stack=true] .drawer{width:100%;height:45%;min-width:0;min-height:0;border-top:1px solid var(--line);border-left:0}.session-web .sheet{max-width:26rem;margin:auto;border-radius:var(--r-card)}.head{display:flex;align-items:center;gap:var(--s-2);flex:none;padding:var(--s-1) var(--s-3);padding-top:max(var(--s-1),env(safe-area-inset-top));border-bottom:1px solid var(--line)}.head-main{flex:1;min-width:0;padding:var(--s-1) 0}.head-title{font-size:var(--fs-name);font-weight:600;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.head-sub{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono);line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar{display:flex;flex-direction:column;gap:var(--s-1);flex:none;padding:var(--s-2) var(--s-4);border-bottom:1px solid var(--line)}.toolbar-row{display:flex;align-items:center;gap:var(--s-2)}.toolbar-title{flex:1;min-width:0;font-size:var(--fs-name);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar-row.sub{flex-wrap:wrap;gap:var(--s-1) var(--s-2)}.note{color:var(--fg-2);font-size:var(--fs-meta)}.pill-select select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:transparent;color:inherit;font-size:var(--fs-mono);cursor:pointer}.kv{display:flex;align-items:center;gap:var(--s-3);width:100%;min-height:40px;border:0;background:transparent;text-align:left}.kv+.kv{border-top:1px solid var(--line)}.kv .k{flex:none;color:var(--fg-2);font-size:var(--fs-meta)}.kv .v{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kv.is-off .k,.kv.is-off .v{color:var(--fg-2)}.kv-btn{min-height:44px;color:inherit;cursor:pointer}.kv-btn:hover{background:var(--hover)}.stop-confirm{display:flex;align-items:center;gap:var(--s-2)}.stop-confirm .meta{flex:1}.model-pick{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2) 0;border-top:1px solid var(--line)}.model-choices{display:flex;flex-wrap:wrap;gap:var(--s-2)}.model-actions{display:flex;justify-content:flex-end;gap:var(--s-2)}.model-note{padding:0 0 var(--s-2);color:var(--fg-2)}.seg-field{display:flex;flex-direction:column;gap:var(--s-2);margin:0;padding:0;border:0}.segmented{display:flex;overflow:hidden;border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface)}.seg{flex:1;min-height:44px;padding:0 var(--s-2);border:0;background:transparent;color:var(--fg-2);font-size:var(--fs-meta);cursor:pointer}.seg+.seg{border-left:1px solid var(--line)}.seg:hover{background:var(--hover)}.seg[aria-checked=true]{background:var(--surface-2);color:var(--fg);font-weight:600}.agents{display:flex;flex-direction:column;padding:0 var(--s-3)}.agents-none{padding:var(--s-3)}.agent{display:flex;align-items:flex-start;gap:var(--s-2);padding:var(--s-2) 0}.agent+.agent{border-top:1px solid var(--line)}.agent>.dot,.agent>.agent-ok{margin-top:6px}.agent-ok{color:var(--ok)}.agent-main{flex:1;min-width:0}.agent-what{font-size:var(--fs-meta)}.agent-meta{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono)}.hist-rows{margin:0;padding:0;list-style:none}.hist-alert{display:flex;align-items:center;gap:var(--s-3);padding:var(--s-2) var(--s-4)}.hist-alert>.field-error{flex:1;min-width:0}.hist-empty{padding:var(--s-6) var(--s-4);text-align:center}.hist-empty h2{color:var(--fg-2);font-size:var(--fs-name);line-height:1.4}.hist-path{overflow-wrap:anywhere}.toggle{display:flex;align-items:center;gap:var(--s-3);width:100%;padding:var(--s-2) 0;border:0;background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.toggle-main{display:flex;flex-direction:column;gap:var(--s-1);flex:1;min-width:0}.toggle-title{font-size:var(--fs-name);font-weight:600}.switch{display:inline-flex;align-items:center;flex:none;width:44px;height:26px;padding:2px;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);transition:background var(--t),border-color var(--t)}.switch i{width:20px;height:20px;border-radius:50%;background:var(--fg-3);transition:transform var(--t),background var(--t)}.switch.is-on{border-color:var(--fg);background:var(--fg)}.switch.is-on i{background:var(--surface);transform:translate(18px)}.proj-head{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3) var(--s-4) 0}.state-row{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-1) var(--s-2);min-width:0}.bar{flex:none;padding:var(--s-3);padding-bottom:max(var(--s-3),env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--bg)}.composer{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-2) var(--s-3)}.composer.safe-b,.view-only.safe-b{padding-bottom:max(var(--s-3),env(safe-area-inset-bottom))}.composer-inner{display:flex;flex-direction:column;gap:var(--s-2);width:100%;max-width:var(--chat-max);margin:0 auto}.composer-hint{padding:0 var(--s-3);color:var(--fg-2);font-size:var(--fs-meta)}.queue{padding:0 var(--s-3);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono)}.input{display:flex;align-items:flex-end;gap:2px;min-height:48px;padding:var(--s-1);border:1px solid var(--line);border-radius:var(--r-composer);background:var(--surface);transition:border-color var(--t),box-shadow var(--t),background var(--t)}.input:focus-within{border-color:var(--focus);box-shadow:0 0 0 1px var(--focus)}.input.is-off{background:var(--surface-2)}.ta{flex:1;min-width:0;padding:9px var(--s-2);border:0;background:transparent;color:var(--fg);font-family:var(--font-sans);font-size:var(--fs-body);line-height:1.35;resize:none}.ta::placeholder{color:var(--fg-2)}.ta:focus-visible{outline:none}.ta:disabled{cursor:default}.kb,.send{display:inline-flex;flex:none;align-items:center;justify-content:center;width:44px;height:44px;padding:0;border-radius:50%;background-clip:padding-box;cursor:pointer;transition:background var(--t),color var(--t)}.kb:disabled{opacity:.5;cursor:default}.kb{border:8px solid transparent;background-color:transparent;color:var(--fg-3)}.kb:hover:not(:disabled){color:var(--fg-2)}.kb.is-on{background-color:var(--surface-2);color:var(--fg)}.send{border:6px solid transparent;background-color:var(--accent);color:var(--on-accent)}.send[data-empty=true]{background-color:var(--surface-2);color:var(--fg-3)}.send.is-stop{background-color:var(--surface-2);color:var(--fg)}.send.is-stop svg{fill:currentColor}.send.is-stop:hover:not(:disabled){background-color:var(--hover)}.send:disabled{opacity:1;background-color:var(--surface-2);color:var(--fg-2);cursor:default}.att-input{display:none}.atts{display:flex;flex-wrap:wrap;gap:var(--s-1);padding:0 var(--s-2);list-style:none}.att{display:inline-flex;align-items:center;gap:var(--s-1);max-width:100%;min-height:28px;padding-left:var(--s-2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);font-size:var(--fs-meta)}.att-name{max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.att-note{max-width:16rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono)}.att-error{border-color:var(--err)}.att-error .att-note{color:var(--err)}.att-act{padding:0 var(--s-1);border:0;background:transparent;color:var(--accent-text);font-size:var(--fs-meta);cursor:pointer}.att-x{display:inline-flex;flex:none;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:0;border-radius:50%;background:transparent;color:var(--fg-3);cursor:pointer;transition:color var(--t),background var(--t)}.att-x:hover{background:var(--hover);color:var(--fg)}@media(pointer:coarse){.att{min-height:40px}.att-x{width:40px;height:40px}.att-act{min-height:40px;padding:0 var(--s-2)}}.att-spin{flex:none;width:12px;height:12px;border:2px solid var(--line);border-top-color:var(--fg-2);border-radius:50%;animation:att-spin .8s linear infinite}@keyframes att-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.att-spin{animation:none}}.keys{display:flex;flex-wrap:wrap;gap:var(--s-1);animation:keys-in var(--t) ease-out}@keyframes keys-in{0%{opacity:0;transform:translateY(8px)}}@media(prefers-reduced-motion:reduce){.keys{animation:none}}.key{display:inline-flex;align-items:center;justify-content:center;min-width:32px;min-height:28px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface);color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono);cursor:pointer;transition:background var(--t),border-color var(--t)}.key:hover{background:var(--hover);border-color:var(--fg-2)}.keys-large .key{min-width:44px;min-height:48px;color:var(--fg)}.view-only{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-3);border-top:1px solid var(--line)}.view-only p{max-width:21rem;color:var(--fg-2);font-size:var(--fs-meta)}.view-only .btn{min-height:44px;text-decoration:none}.feed-scroll{position:relative;display:flex;flex-direction:column;flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;overflow-x:hidden}.feed{display:flex;flex-direction:column;flex:none;gap:var(--s-3);margin-top:auto;padding:var(--s-3) var(--s-3) var(--s-4)}.feed>*{min-width:0}.feed-col{width:100%;max-width:var(--chat-max);margin-inline:auto;padding:var(--s-4) var(--s-4) var(--s-5)}.feed-guard{height:1px}.feed-down{position:sticky;bottom:var(--s-3);display:flex;align-items:center;justify-content:center;width:44px;margin:0 auto;border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface);color:var(--fg-2);cursor:pointer}.tool-row:hover,.think-row:hover,.q-option:hover:not(:disabled){background:var(--hover)}.msg-user{align-self:flex-end;max-width:85%;padding:var(--s-2) var(--s-3);border-radius:var(--r-card);background:var(--user-bubble);white-space:pre-wrap;overflow-wrap:anywhere}.msg-user[data-pending=true]{color:var(--fg-2)}.msg-user-note{display:block;margin-top:var(--s-1);color:var(--fg-2);font-size:var(--fs-meta)}.msg-assistant{display:flex;flex-direction:column;gap:var(--s-2);overflow-wrap:anywhere}.msg-assistant .code{margin:0;padding:var(--s-2);border-radius:var(--r-card);background:var(--surface-2);font-size:var(--fs-mono);line-height:1.5;overflow-x:auto;white-space:pre}.seam{display:flex;align-items:center;gap:var(--s-2)}.seam:before,.seam:after{content:"";flex:1;height:1px;background:var(--line)}.note{padding-left:var(--s-1);color:var(--fg-2);font-size:var(--fs-meta)}.note.is-err{color:var(--err)}.think-text{color:var(--fg-2)}.think-full{padding:0 var(--s-2) var(--s-2) var(--s-5);color:var(--fg-2);font-size:var(--fs-meta);white-space:pre-wrap;overflow-wrap:anywhere}.live{display:flex;align-items:center;gap:var(--s-1);padding-left:var(--s-1);color:var(--fg-2);font-size:var(--fs-meta)}.live i{width:4px;height:4px;border-radius:50%;background:var(--fg-3);animation:dot-pulse 1.2s ease-in-out infinite}.live i:nth-child(2){animation-delay:.15s}.live i:nth-child(3){animation-delay:.3s}@media(prefers-reduced-motion:reduce){.live i{animation:none}}.q-card{display:flex;flex-direction:column;gap:var(--s-2);padding:var(--s-3);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface-2)}.q-title{font-size:var(--fs-body);font-weight:600}.q-option{display:flex;flex-direction:column;align-items:flex-start;gap:1px;width:100%;min-height:44px;padding:var(--s-1) var(--s-3);border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface);font-size:var(--fs-meta);text-align:left;cursor:pointer}.q-option.is-default,.q-option.is-chosen{box-shadow:0 0 0 2px var(--accent)}.q-option:disabled{cursor:default}.q-option .desc{color:var(--fg-2);font-size:var(--fs-mono)}.q-done{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);min-width:0;min-height:32px;padding:0 var(--s-2) 0 var(--s-1);color:var(--fg-2);font-size:var(--fs-meta)}.q-ok{flex:none;color:var(--diff-added)}.q-done .ans{min-width:0;color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-mono);white-space:normal;overflow-wrap:anywhere}.tool{border-radius:var(--r-card);overflow:hidden}.tool.is-open{background:var(--surface-2)}.tool-row,.think-row{display:flex;align-items:center;gap:var(--s-2);width:100%;min-height:32px;padding:0 var(--s-2) 0 var(--s-1);border:0;background:transparent;color:var(--fg);font-family:var(--font-mono);font-size:var(--fs-mono);text-align:left;cursor:pointer}.caret{flex:none;color:var(--fg-3)}.tool-name{font-weight:600}.tool-arg,.think-text,.q-done .qt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-arg{color:var(--fg-2)}.tool-sum{color:var(--fg-2);white-space:nowrap}.tool.is-err :is(.tool-name,.tool-sum){color:var(--diff-removed)}.tool-body{border-top:1px solid var(--line)}.tool-file{display:flex;align-items:center;gap:var(--s-2);min-height:28px;padding:0 var(--s-2) 0 var(--s-5)}.tool-out{display:flex;flex-direction:column;gap:var(--s-1);padding:var(--s-2)}.tool-out pre{margin:0;line-height:1.5;overflow-x:auto;white-space:pre}.tool-out pre.is-clipped{max-height:20rem;overflow-y:hidden}.tool-more{align-self:flex-start;padding:0;border:0;background:transparent;color:var(--fg-2);font-size:var(--fs-meta);text-decoration:underline;text-decoration-color:var(--line);cursor:pointer}.tool-cut,.diff-cut{padding:0 var(--s-2) var(--s-2)}.diff{font-family:var(--font-mono);font-size:var(--fs-mono)}.diff-head{display:flex;align-items:center;gap:var(--s-2);min-height:28px;padding:0 var(--s-2);border-bottom:1px solid var(--line)}.diff-stat{margin-left:auto;white-space:nowrap}.diff-stat .add,.dl.add .g{color:var(--diff-added)}.diff-stat .del,.dl.del .g{color:var(--diff-removed)}.diff-body{padding:var(--s-1) 0;overflow-x:auto}.dl{display:flex;gap:var(--s-2);padding:0 var(--s-2);line-height:1.55;white-space:pre}.dl .g{width:1ch;flex:none;color:var(--fg-3)}.dl.add{background:var(--diff-added-bg)}.dl.del{background:var(--diff-removed-bg)}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}:root{--term-bg: #1f1e1d;--term-fg: #f4f3ee}:root[data-theme=dark]{--term-bg: #1c1c1a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--term-bg: #1c1c1a}}.term{flex:1;min-height:0;padding:var(--s-2);border-radius:var(--r-row);background:var(--term-bg);overflow:hidden}.term-bar{display:flex;align-items:center;gap:var(--s-2);flex:none}.term-bar .hint{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.term-wrap{display:flex;flex-direction:column;gap:var(--s-2);height:100%;min-height:0;padding:var(--s-3)}.sheet.term-sheet{display:flex;flex-direction:column;height:60vh;max-height:100vh}.sheet.term-sheet.is-full{height:100vh}.term-sheet .sheet-body{flex:1;min-height:0;padding-bottom:max(var(--s-3),env(safe-area-inset-bottom))}.theme-buttons{display:flex;align-items:center;gap:var(--s-1)}.theme-buttons-wide{gap:var(--s-2)}.theme-buttons-wide .btn{flex:1}.theme-buttons .btn[aria-pressed=true],.theme-buttons .icon-btn[aria-pressed=true]{background:var(--surface);color:var(--fg)}.sidebar{display:flex;flex-direction:column;gap:var(--s-2);width:var(--sidebar-w);padding:var(--s-3);border-right:1px solid var(--line);background:var(--surface-2);overflow:hidden}.sidebar[data-rail=true]{align-items:center;width:56px;padding:var(--s-3) 0}.rail-hr{width:24px;height:1px;background:var(--line)}.sidebar-brand{display:flex;align-items:center;gap:var(--s-2);min-height:28px;font-size:var(--fs-name);font-weight:600}.sidebar-brand .icon-btn{margin-left:auto}.sidebar-search{display:flex;align-items:center;gap:var(--s-2);flex:none;padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface);color:var(--fg-2)}.sidebar-search-input{flex:1;min-width:0;min-height:34px;border:0;background:transparent;outline-offset:-2px}.filters{display:flex;flex-wrap:wrap;gap:var(--s-2)}.sidebar-scroll{flex:1;min-height:0;overflow-y:auto}.sidebar .glist{margin:0 0 var(--s-2)}.sidebar .sec-label{padding:var(--s-2) 0 var(--s-1)}.sidebar .card{margin-left:var(--s-2);border:0;border-left:1px solid var(--line);border-radius:0;background:transparent}.sidebar .card>*+*:before,.sidebar .card-rows>*+*:before{display:none}.sidebar .card-head{padding-left:0}.sidebar .srow{min-height:40px;padding:var(--s-1) var(--s-2);border-radius:0 var(--r-row) var(--r-row) 0}.sidebar .srow-title{font-size:var(--fs-meta)}.sidebar .srow[aria-current=true]{background:var(--surface)}.sidebar-foot{display:flex;flex-direction:column;gap:var(--s-1);flex:none;padding-top:var(--s-2);border-top:1px solid var(--line);color:var(--fg-2);font-size:var(--fs-meta)}.sidebar-row{display:flex;align-items:center;gap:var(--s-2);min-width:0}.sidebar-row .mono{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-row a{text-decoration:none}.sidebar-row a:hover{text-decoration:underline}.sidebar-spacer{flex:1}.conn-banner{position:fixed;inset:0 0 auto;z-index:15;animation:conn-appear var(--t) 1.2s both;padding:var(--s-1) var(--s-3);padding-top:max(var(--s-1),env(safe-area-inset-top));border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--fg-2);font-size:var(--fs-meta);text-align:center}@keyframes conn-appear{0%{opacity:0}to{opacity:1}}.app:has(.conn-banner){--conn-h: 32px}.app:has(.conn-banner) .toasts{top:calc(max(var(--s-3),env(safe-area-inset-top)) + var(--conn-h))}.toasts{position:fixed;top:max(var(--s-3),env(safe-area-inset-top));left:50%;transform:translate(-50%);z-index:20;display:flex;flex-direction:column;gap:var(--s-2);width:min(32rem,calc(100% - var(--s-5)))}.toast{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3);padding:var(--s-2) var(--s-3);border:1px solid var(--err);border-radius:var(--r-card);background:var(--surface)}.toast-text{min-width:0;color:var(--err);font-size:var(--fs-meta);overflow-wrap:anywhere}:root{--bg: #f4f3ee;--surface: #ffffff;--surface-2: #edebe3;--hover: #e5e2d8;--line: #d6d3c7;--fg: #262624;--fg-2: #5e5d59;--fg-3: #8a897f;--accent: #d97757;--accent-text: #ae4b29;--on-accent: #1f1e1d;--ok: #5b8c5a;--warn: #c9963b;--err: #a32d28;--diff-added: #26702f;--diff-added-bg: #e3efe1;--diff-removed: #a32d28;--diff-removed-bg: #f6e3e0;--user-bubble: #e9e6dc;--focus: #d97757;--font-serif: "Iowan Old Style", "Palatino Linotype", Georgia, serif;--font-sans: -apple-system, "Segoe UI", Inter, system-ui, sans-serif;--font-mono: "SF Mono", "JetBrains Mono", Menlo, monospace;--fs-mono: 12px;--fs-meta: 13px;--fs-body: 15px;--fs-name: 15px;--fs-screen: 15px;--lh: 1.55;--s-1: 4px;--s-2: 8px;--s-3: 12px;--s-4: 16px;--s-5: 24px;--s-6: 32px;--s-7: 48px;--r-card: 8px;--r-row: 6px;--r-pill: 999px;--r-sheet: 16px;--r-composer: 24px;--t: .18s;--sidebar-w: 280px;--chat-max: 48rem;--drawer-w: 45%;--tabbar-h: 50px;color-scheme:light}:root[data-theme=dark]{--bg: #262624;--surface: #2f2e2b;--surface-2: #34332f;--hover: #3a3935;--line: #3c3b37;--fg: #f4f3ee;--fg-2: #a8a69c;--fg-3: #7f7e76;--accent-text: #e89070;--err: #e88f8a;--diff-added: #7fbe85;--diff-added-bg: #2c3a2e;--diff-removed: #e88f8a;--diff-removed-bg: #3c2e2d;--user-bubble: #3a3935;color-scheme:dark}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--bg: #262624;--surface: #2f2e2b;--surface-2: #34332f;--hover: #3a3935;--line: #3c3b37;--fg: #f4f3ee;--fg-2: #a8a69c;--fg-3: #7f7e76;--accent-text: #e89070;--err: #e88f8a;--diff-added: #7fbe85;--diff-added-bg: #2c3a2e;--diff-removed: #e88f8a;--diff-removed-bg: #3c2e2d;--user-bubble: #3a3935;color-scheme:dark}}@media(max-width:899px){:root{--fs-mono: 13px;--fs-body: 16px;--fs-screen: 17px}}@media(prefers-reduced-motion:reduce){:root{--t: 0ms}}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--fg);font:var(--fs-body) / var(--lh) var(--font-sans);-webkit-font-smoothing:antialiased;overflow-x:hidden;overscroll-behavior-y:none}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em}h1{font-size:var(--fs-screen)}h2,h3{font-size:var(--fs-name)}.serif{font-family:var(--font-serif);font-weight:400}p{margin:0}code,kbd,pre,samp{font-family:var(--font-mono);font-size:var(--fs-mono)}a{color:inherit;text-decoration-color:var(--line);text-underline-offset:2px}a:hover{text-decoration-color:currentcolor}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:var(--r-row)}:focus:not(:focus-visible){outline:none}.tap{min-height:44px;min-width:44px}.safe-b{padding-bottom:max(12px,env(safe-area-inset-bottom))}.meta{color:var(--fg-2);font-size:var(--fs-meta)}.app{display:grid;grid-template-columns:auto minmax(0,1fr);height:100%}.app[data-layout=phone]{grid-template-columns:minmax(0,1fr);height:100dvh}.app>main{min-width:0;overflow-y:auto}.tabbar{position:fixed;right:0;bottom:0;left:0;z-index:5;display:flex;border-top:1px solid var(--line);background:var(--surface);padding-bottom:env(safe-area-inset-bottom)}.tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:var(--tabbar-h);color:var(--fg-2);font-size:11px;line-height:1.2;text-decoration:none}.tab[aria-current=page]{color:var(--fg)}.token-screen{display:grid;place-items:center;min-height:100%;padding:var(--s-5)}.token-card{display:flex;flex-direction:column;gap:var(--s-4);width:100%;max-width:22rem;padding:var(--s-6);border:1px solid var(--line);border-radius:var(--r-card);background:var(--surface)}.token-lede{color:var(--fg-2)}.token-refused{padding:var(--s-2) var(--s-3);border-left:2px solid var(--err);color:var(--err)}.empty-screen{display:grid;place-items:center;min-height:100%;padding:var(--s-6) var(--s-5);text-align:center}.empty-screen>div{display:flex;flex-direction:column;gap:var(--s-2);max-width:28rem}.empty-screen h1{font-size:20px;line-height:1.3}.empty-hint{color:var(--fg-2)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s-2);border:1px solid transparent;border-radius:var(--r-row);background:transparent;cursor:pointer;transition:background var(--t),border-color var(--t),color var(--t),box-shadow var(--t)}.btn:disabled{opacity:.5;cursor:default}.btn-md{min-height:36px;padding:var(--s-2) var(--s-3)}.btn-sm{min-height:28px;padding:var(--s-1) var(--s-2);font-size:var(--fs-meta)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover:not(:disabled){box-shadow:0 0 0 2px var(--accent)}.btn-primary:active:not(:disabled){box-shadow:0 0 0 2px var(--accent);transform:translateY(1px)}.btn-primary:disabled{opacity:1;border-color:var(--line);background:var(--surface-2);color:var(--fg-2)}.btn-ghost{border-color:var(--line);color:var(--fg)}.btn-ghost:hover:not(:disabled){background:var(--hover);border-color:var(--fg-2)}.btn-danger{border-color:var(--line);color:var(--err)}.btn-danger:hover:not(:disabled){background:var(--hover);border-color:var(--err)}.btn-block{width:100%}a.btn{text-decoration:none}.icon-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;padding:var(--s-2);border:0;border-radius:var(--r-row);background:transparent;color:var(--fg-2);cursor:pointer}.icon-btn:hover{background:var(--hover);color:var(--fg)}.chip{display:inline-flex;align-items:center;gap:var(--s-1);min-height:24px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-pill);color:var(--fg-2);font-size:var(--fs-mono);white-space:nowrap}.chip:hover{background:var(--hover)}.chip-dot,.dot{width:6px;height:6px;border-radius:50%;background:var(--fg-3);flex:none}.chip-ok .chip-dot,.dot-ok{background:var(--ok)}.chip-warn .chip-dot,.dot-warn{background:var(--warn)}.chip-err .chip-dot,.dot-err{background:var(--diff-removed)}.chip-accent .chip-dot,.dot-accent{background:var(--accent)}.dot-off{background:transparent;box-shadow:inset 0 0 0 1px var(--fg-3)}.pulse{animation:dot-pulse 1.6s ease-in-out infinite}@keyframes dot-pulse{0%,to{opacity:1}50%{opacity:.3}}@media(prefers-reduced-motion:reduce){.pulse{animation:none}}.pill{display:inline-flex;align-items:center;gap:var(--s-1);min-height:26px;padding:0 var(--s-2);border:1px solid var(--line);border-radius:var(--r-pill);background:var(--surface-2);color:var(--fg-2);font-size:var(--fs-mono);white-space:nowrap}button.pill{cursor:pointer}button.pill:hover{background:var(--hover)}.pill-mono{font-family:var(--font-mono)}.pill-on{border-color:var(--accent);color:var(--fg)}.pill-accent{border-color:var(--accent);background:var(--accent);color:var(--on-accent);font-weight:600}.dim{color:var(--fg-2)}.stat{display:inline-flex;align-items:center;gap:var(--s-1);flex:none;color:var(--fg-2);font-size:var(--fs-meta);white-space:nowrap}.stat-wait,.stat-live{color:var(--accent-text)}.mono{font-family:var(--font-mono);font-size:var(--fs-mono)}.hint{color:var(--fg-2);font-family:var(--font-mono);font-size:var(--fs-mono)}.path{min-width:0;color:var(--fg-3);font-family:var(--font-mono);font-size:var(--fs-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.path b{color:var(--fg);font-weight:400}.field{display:flex;flex-direction:column;gap:var(--s-2)}.field-label{color:var(--fg-2);font-size:var(--fs-meta)}.field-control{width:100%;min-width:0;min-height:44px;padding:var(--s-2) var(--s-3);border:1px solid var(--line);border-radius:var(--r-row);background:var(--surface);transition:border-color var(--t)}.field-control:hover{border-color:var(--fg-2)}.field-hint{color:var(--fg-2);font-size:var(--fs-meta)}.field-error{color:var(--err);font-size:var(--fs-meta)}.sheet{width:100%;max-width:none;margin:auto auto 0;padding:0;border:1px solid var(--line);border-radius:var(--r-sheet) var(--r-sheet) 0 0;background:var(--surface);color:var(--fg)}.sheet::backdrop{background:#26262461}.sheet-body{display:flex;flex-direction:column;gap:var(--s-3);padding:var(--s-2) var(--s-4) 0}.sheet-grip{width:36px;height:4px;margin:var(--s-2) auto var(--s-1);border-radius:2px;background:var(--line)}.sheet-head,.drawer-head{display:flex;align-items:center;justify-content:space-between;gap:var(--s-3)}.drawer{display:flex;flex-direction:column;width:var(--drawer-w);min-width:320px;border-left:1px solid var(--line);background:var(--surface)}.drawer-head{padding:var(--s-3) var(--s-4);border-bottom:1px solid var(--line)}.drawer-body{flex:1;min-height:0;overflow:auto}
