:root{--font-sans:-apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", "Noto Sans CJK SC", "Segoe UI", Roboto, sans-serif;--font-serif:"Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", Georgia, "Times New Roman", serif;--font-mono:ui-monospace, "SF Mono", Menlo, Consolas, "Noto Sans Mono CJK SC", monospace;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:24px;--s6:32px;--r1:6px;--r2:10px;--r3:14px;--shadow1:0 1px 2px #0000000f;--shadow2:0 8px 28px #00000024;--bg:#f8f8f6;--surface:#fff;--surface2:#f1f0ec;--border:#e4e2dc;--border-strong:#cfccc3;--text:#1f1e1b;--text2:#524f47;--text3:#67635a;--primary:#1f1e1b;--primary-text:#fff;--primary-hover:#3a3833;--accent:#c8623f;--accent-soft:#f6e7e0;--accent-text:#a04a2a;--accent-solid:#b3502d;--on-accent:#fff;--link:#2468c8;--danger:#b3342f;--danger-soft:#f8e4e2;--ok:#276d44;--warn:#855209;--user-bg:#efede7;--hl-keyword:#b3202f;--hl-string:#0a3069;--hl-number:#0b4fa8;--hl-title:#6639a6;--hl-builtin:#a8470a;--hl-comment:#59606a;--hl-name:#1a6b30;--hl-regexp:#8a3b00;--chart:#c8623f;--code-bg:#f3f1ec;--fg:var(--text);--muted:var(--text3);--panel:var(--surface);--err:var(--danger-soft);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--bg:#181817;--surface:#202020;--surface2:#2a2a28;--border:#33332f;--border-strong:#4a4943;--text:#ecebe6;--text2:#c4c1b7;--text3:#a09c92;--primary:#ecebe6;--primary-text:#181817;--primary-hover:#fff;--accent:#e07a58;--accent-soft:#3a2a23;--accent-text:#e88a68;--accent-solid:#e07a58;--on-accent:#181817;--link:#6ea8fe;--danger:#f08a84;--danger-soft:#3a2220;--ok:#6cc08c;--warn:#e0b060;--user-bg:#2a2a28;--code-bg:#262624;--chart:#d9694a;--hl-keyword:#ff9b85;--hl-string:#a5d6a7;--hl-number:#79c0ff;--hl-title:#d2a8ff;--hl-builtin:#ffb86c;--hl-comment:#a09c92;--hl-name:#7ee787;--hl-regexp:#ff9bce;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--bg:#181817;--surface:#202020;--surface2:#2a2a28;--border:#33332f;--border-strong:#4a4943;--text:#ecebe6;--text2:#c4c1b7;--text3:#a09c92;--primary:#ecebe6;--primary-text:#181817;--primary-hover:#fff;--accent:#e07a58;--accent-soft:#3a2a23;--accent-text:#e88a68;--accent-solid:#e07a58;--on-accent:#181817;--link:#6ea8fe;--danger:#f08a84;--danger-soft:#3a2220;--ok:#6cc08c;--warn:#e0b060;--user-bg:#2a2a28;--code-bg:#262624;--chart:#d9694a;--hl-keyword:#ff9b85;--hl-string:#a5d6a7;--hl-number:#79c0ff;--hl-title:#d2a8ff;--hl-builtin:#ffb86c;--hl-comment:#a09c92;--hl-name:#7ee787;--hl-regexp:#ff9bce;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}html,body,#root{height:100%}body{font:15px/1.6 var(--font-sans);background:var(--bg);color:var(--text);-webkit-text-size-adjust:100%;margin:0}button,select,textarea,input{font:inherit;color:inherit}button{cursor:pointer}.sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}:focus-visible{outline:2px solid var(--link);outline-offset:2px}.boot{height:100%;color:var(--text3);place-items:center;display:grid}.btn{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);color:var(--text);padding:8px 14px}.btn:hover{background:var(--surface2)}.btn.primary{background:var(--primary);color:var(--primary-text);border-color:var(--primary)}.btn.primary:hover{background:var(--primary-hover)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.wide{width:100%}.icon{border-radius:var(--r1);color:var(--text2);background:0 0;border:0;padding:6px 8px}.icon:hover{background:var(--surface2)}.app{height:100%;display:flex}.side{width:var(--side-w,272px);background:var(--surface2);border-right:1px solid var(--border);padding:var(--s3);gap:var(--s3);flex-direction:column;flex:none;display:flex}.brand{font:600 18px var(--font-serif);padding:var(--s2) var(--s2) 0}.logo{color:var(--accent)}.tabs{background:var(--border);border-radius:var(--r2);gap:4px;padding:3px;display:flex}.tabs button{color:var(--text2);background:0 0;border:0;border-radius:8px;flex:1;padding:6px 4px}.tabs button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow1);font-weight:600}.new{text-align:left}.sessions{margin:0 calc(var(--s2) * -1);padding:0 var(--s2);flex-direction:column;flex:1;gap:2px;display:flex;overflow:auto}.sess{border-radius:var(--r1);align-items:center;display:flex;position:relative}.sess:hover{background:var(--border)}.sess.active{background:var(--surface);box-shadow:var(--shadow1)}.sess-main{text-align:left;border-radius:var(--r1);background:0 0;border:0;flex-direction:column;flex:1;min-width:0;padding:5px 10px;display:flex}.sess .t{align-items:center;min-width:0;line-height:1.35;display:flex}.sess .t .tt{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;overflow:hidden}.sess .t .tag{flex:none;margin:0 0 0 6px}.sess.proj .t{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.sess .d{color:var(--text3);font-size:12px}.sess .d.err{color:var(--danger)}.sess .more{opacity:0;flex:none}.sess:hover .more,.sess:focus-within .more,.sess .more[aria-expanded=true]{opacity:1}@media (hover:none){.sess .more{opacity:1}}.pin{background:var(--accent);vertical-align:1px;border-radius:50%;width:7px;height:7px;margin-right:7px;display:inline-block}.sess.editing{flex-direction:column;align-items:stretch;padding:4px}.sess.editing input{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);padding:6px 8px}.menu{z-index:5;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);min-width:120px;box-shadow:var(--shadow2);flex-direction:column;padding:4px;display:flex;position:absolute;top:100%;right:4px}.menu button{text-align:left;border-radius:var(--r1);background:0 0;border:0;padding:7px 10px}.menu button:hover{background:var(--surface2)}.search{border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);width:100%;padding:7px 10px}.group{color:var(--text3);padding:8px 10px 2px;font-size:11px}.archived-toggle{color:var(--text3);padding:0 var(--s2);align-items:center;gap:6px;font-size:12px;display:flex}.tag{background:var(--accent-soft);color:var(--accent-text);border-radius:4px;margin-right:6px;padding:0 5px;font-size:11px;font-style:normal}.none{color:var(--text3);padding:var(--s3);font-size:13px}.foot{color:var(--text3);border-top:1px solid var(--border);padding-top:var(--s2);justify-content:space-between;align-items:center;font-size:12px;display:flex}.who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{align-items:center;gap:var(--s2);padding:var(--s2) var(--s3);border-bottom:1px solid var(--border);background:var(--surface);display:none}.topbar .title{font-weight:600}.scrim{display:none}@media (width<=767px){.topbar{display:flex}.side{z-index:20;width:min(86vw,320px);box-shadow:var(--shadow2);transition:transform .18s;position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.side.open{transform:none}.scrim.scrim{z-index:19;background:#00000059;display:block;position:fixed;inset:0}}.chat{flex-direction:column;flex:1;min-height:0;display:flex}.scroll{flex:1;overflow:auto}.thread{max-width:820px;padding:var(--s5) var(--s4) var(--s4);gap:var(--s4);flex-direction:column;margin:0 auto;display:flex}.empty{text-align:center;padding:10vh 0 var(--s4)}.empty h1{font:500 28px var(--font-serif);margin:0 0 var(--s2)}.empty p{color:var(--text2);margin:0 0 var(--s5)}.examples{gap:var(--s2);max-width:560px;margin:0 auto;display:grid}.example{text-align:left;background:var(--surface);border:1px solid var(--border);border-radius:var(--r2);color:var(--text2);padding:10px 14px}.example:hover{border-color:var(--border-strong);color:var(--text)}.msg.user{justify-content:flex-end;display:flex}.bubble{background:var(--user-bg);border-radius:var(--r3);white-space:pre-wrap;word-break:break-word;max-width:85%;padding:8px 14px}.msg.assistant{gap:var(--s3);align-items:flex-start;display:flex}.avatar{background:var(--accent-soft);width:26px;height:26px;color:var(--accent);border-radius:50%;flex:none;place-items:center;margin-top:2px;font-size:14px;display:grid}.msg.assistant .md{flex:1;min-width:0}.msg.streaming .md>:last-child:after{content:"▍";color:var(--accent);margin-left:2px;animation:1s steps(2,end) infinite blink}@keyframes blink{50%{opacity:0}}.meta{color:var(--text3);text-align:center;font-size:12px}.meta.live:before{content:"";background:var(--accent);border-radius:50%;width:6px;height:6px;margin-right:8px;animation:1s steps(2,end) infinite blink;display:inline-block}.banner.error{background:var(--danger-soft);color:var(--danger);border-radius:var(--r2);padding:10px 14px}.thinking{color:var(--text3);border-left:2px solid var(--border);padding-left:var(--s3);font-style:italic}.thinking summary{cursor:pointer}.thinking div{white-space:pre-wrap;margin-top:6px}.md>:first-child{margin-top:0}.md>:last-child{margin-bottom:0}.md p,.md ul,.md ol{margin:.6em 0}.md h1,.md h2,.md h3{font-family:var(--font-serif);margin:1.1em 0 .4em;line-height:1.3}.md a{color:var(--link)}.md blockquote{padding-left:var(--s3);border-left:3px solid var(--border-strong);color:var(--text2);margin:.6em 0}.md code{font-family:var(--font-mono);background:var(--code-bg);border-radius:4px;padding:.1em .35em;font-size:.9em}.codeblock{margin:.8em 0;position:relative}.codeblock pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r2);margin:0;padding:12px 14px;overflow:auto}.codeblock pre code{background:0 0;padding:0;font-size:13px}.codeblock .copy{background:var(--surface);border:1px solid var(--border);border-radius:var(--r1);color:var(--text2);opacity:0;padding:2px 8px;font-size:12px;transition:opacity .12s;position:absolute;top:6px;right:6px}.codeblock:hover .copy,.codeblock .copy:focus-visible{opacity:1}@media (hover:none){.codeblock .copy{opacity:1}}.table-wrap{margin:.8em 0;overflow-x:auto}.md table{border-collapse:collapse;font-size:14px}.md th,.md td{border:1px solid var(--border);text-align:left;padding:6px 10px}.md th{background:var(--surface2)}.blocked-img{color:var(--text3);font-size:13px}.hljs{color:var(--text);background:0 0}.hljs-keyword,.hljs-selector-tag,.hljs-doctag,.hljs-deletion{color:var(--hl-keyword)}.hljs-string,.hljs-meta .hljs-string,.hljs-addition{color:var(--hl-string)}.hljs-number,.hljs-literal,.hljs-attr,.hljs-attribute,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-pseudo{color:var(--hl-number)}.hljs-title,.hljs-section{color:var(--hl-title)}.hljs-built_in,.hljs-variable,.hljs-template-variable,.hljs-type{color:var(--hl-builtin)}.hljs-comment,.hljs-quote,.hljs-meta{color:var(--hl-comment)}.hljs-name,.hljs-tag,.hljs-selector-id{color:var(--hl-name)}.hljs-regexp,.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--hl-regexp)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.tool{border:1px solid var(--border);border-radius:var(--r2);background:var(--surface);margin-left:38px;font-size:13px}.tool.err{border-color:var(--danger)}.tool-head{text-align:left;background:0 0;border:0;align-items:center;gap:8px;width:100%;padding:8px 12px;display:flex}.tool-head .sum{color:var(--text3);font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tool-head .state{color:var(--text3);font-size:12px}.tool.err .state{color:var(--danger)}.tool-body{padding:0 12px 10px}.tool-body pre{background:var(--code-bg);border-radius:var(--r1);max-height:280px;font:12px var(--font-mono);white-space:pre-wrap;word-break:break-all;margin:4px 0 8px;padding:8px 10px;overflow:auto}.lbl{color:var(--text3);font-size:11px}.perm{border:1px solid var(--warn);background:var(--surface);border-radius:var(--r2);margin-left:38px;padding:12px 14px}.perm.allowed{border-color:var(--ok)}.perm.denied,.perm.expired{border-color:var(--border-strong);opacity:.8}.perm-title{font-weight:600}.perm pre{background:var(--code-bg);border-radius:var(--r1);font:12px var(--font-mono);white-space:pre-wrap;word-break:break-all;max-height:160px;margin:8px 0;padding:8px 10px;overflow:auto}.perm-actions{gap:var(--s2);display:flex}.perm-state{color:var(--text2);font-size:13px}@media (width<=767px){.tool,.perm{margin-left:0}}.composer{width:100%;max-width:880px;padding:0 var(--s4) var(--s4);margin:0 auto}.composer textarea{resize:none;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3) var(--r3) 0 0;border-bottom:0;outline:none;width:100%;min-height:52px;max-height:220px;padding:14px 16px 6px;display:block}.toolbar{align-items:center;gap:var(--s2);background:var(--surface);border:1px solid var(--border-strong);border-radius:0 0 var(--r3) var(--r3);border-top:0;flex-wrap:wrap;padding:6px 10px 8px;display:flex}.composer:focus-within textarea,.composer:focus-within .toolbar{border-color:var(--text3)}.grow{flex:1}.sel{color:var(--text3);align-items:center;gap:6px;font-size:12px;display:inline-flex}.sel select{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r1);max-width:210px;padding:4px 6px;font-size:13px}@media (width<=767px){.sel select{max-width:150px}}.seg{background:var(--surface2);border-radius:var(--r1);padding:2px;display:inline-flex}.seg button{color:var(--text2);background:0 0;border:0;border-radius:4px;padding:3px 10px;font-size:13px}.seg button.on{background:var(--surface);color:var(--text);box-shadow:var(--shadow1);font-weight:600}.send{background:var(--accent-solid);color:var(--on-accent);border-radius:var(--r2);border:0;padding:6px 14px;font-weight:600}.send:disabled{opacity:.4;cursor:not-allowed}.send.stop{background:var(--primary);color:var(--primary-text)}.login{background:var(--bg);place-items:center;display:grid;position:fixed;inset:0}.login .card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s5);width:min(360px,90vw);box-shadow:var(--shadow2)}.login h1{font:600 22px var(--font-serif);margin:0 0 4px}.login p{color:var(--text2);margin:0 0 var(--s4)}.login input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r2);width:100%;padding:10px 12px}.login .err{color:var(--danger);min-height:22px;margin:6px 0;font-size:13px}.attachments{gap:var(--s2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r3) var(--r3) 0 0;border-bottom:0;flex-wrap:wrap;align-items:center;padding:10px 12px 0;display:flex}.attachments+textarea{border-top:0;border-radius:0}.att{width:64px;height:64px;position:relative}.att img{object-fit:cover;border-radius:var(--r1);border:1px solid var(--border);width:100%;height:100%}.att button{border:1px solid var(--border-strong);background:var(--surface);border-radius:50%;width:20px;height:20px;padding:0;line-height:1;position:absolute;top:-6px;right:-6px}.att-note{color:var(--warn);flex:1;min-width:160px;font-size:12px}.att-note.err{color:var(--danger)}.composer.drag textarea,.composer.drag .toolbar{border-color:var(--accent)}.img-view-back{background:#000000bf}.img-view{outline:none;flex-direction:column;align-items:center;gap:10px;max-width:100%;max-height:100%;display:flex}.img-view img{object-fit:contain;border-radius:var(--r1);background:var(--surface);max-width:100%;max-height:calc(100vh - 90px)}.zoomable{cursor:zoom-in;background:0 0;border:0;padding:0;display:block}.att button.zoomable{background:0 0;border:0;border-radius:0;width:100%;height:100%;padding:0;position:static}.att .zoomable img{display:block}.bubble .zoomable{margin:2px 0 8px}.bubble .zoomable .thumb{margin:0}.bubble .thumb{border-radius:var(--r2);max-width:min(260px,100%);max-height:200px;margin:2px 0 8px;display:block}.attach{padding:3px 9px;font-size:18px;line-height:1}.attach:disabled{opacity:.35;cursor:not-allowed}.project,.empty-proj{flex:1;padding-bottom:40px;overflow:auto}.empty-proj{text-align:center;padding:12vh var(--s5);color:var(--text2)}.empty-proj h1{font:500 28px var(--font-serif);color:var(--text);margin:0 0 var(--s2)}.proj-head{z-index:3;background:var(--bg);border-bottom:1px solid var(--border);padding:var(--s3) var(--s5) 0;align-items:center;gap:var(--s2) var(--s4);flex-wrap:wrap;display:flex;position:sticky;top:0}.proj-head h1{font:600 20px var(--font-serif);text-overflow:ellipsis;white-space:nowrap;max-width:40ch;margin:0;overflow:hidden}.subtabs{flex:1;gap:2px;display:flex;overflow-x:auto}.subtabs button{color:var(--text2);white-space:nowrap;background:0 0;border:0;border-bottom:2px solid #0000;padding:8px 14px}.subtabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.san-msg{min-height:22px;color:var(--text2);flex-basis:100%;padding:0 2px 8px;font-size:13px}.san-msg.ok{color:var(--ok)}.san-msg.err{color:var(--danger)}.san-msg.busy{color:var(--accent-text)}.proj-body{max-width:980px;padding:0 var(--s5);margin:0 auto}.proj-sec{margin:var(--s5) 0;background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:var(--s4) var(--s5)}.proj-sec h2{font:600 16px var(--font-serif);margin:0 0 4px}.hint{color:var(--text3);margin:0 0 10px;font-size:13px;line-height:1.65}.row{gap:var(--s2);flex-wrap:wrap;align-items:center;margin:6px 0;display:flex}.proj-sec select,.proj-sec input[type=text],.newproj input{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r1);min-width:0;padding:6px 8px}.row input[type=text]{flex:1;min-width:120px}.proj-sec textarea{background:var(--bg);border:1px solid var(--border-strong);border-radius:var(--r2);resize:vertical;width:100%;font:inherit;padding:10px 12px;line-height:1.6}.btn.sm{padding:4px 10px;font-size:13px}.btn.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.btn.ghost{background:0 0}.checks{gap:var(--s4);color:var(--text2);flex-wrap:wrap;margin:8px 0;font-size:13px;display:flex}.checks label,.files label,.release>label{cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:14px;display:flex}.drop{border:2px dashed var(--border-strong);border-radius:var(--r2);text-align:center;color:var(--text3);cursor:pointer;padding:28px}.drop:hover,.drop.over{border-color:var(--accent);color:var(--accent-text);background:var(--accent-soft)}.files{margin:10px 0}.badge{background:var(--surface2);color:var(--text2);border-radius:10px;padding:1px 8px;font-size:12px;font-weight:600;display:inline-block}.badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.badge.review{background:color-mix(in srgb, var(--warn) 20%, transparent);color:var(--warn)}.badge.blocked,.badge.error{background:var(--danger-soft);color:var(--danger)}.badge.done{background:var(--accent-soft);color:var(--accent-text)}.card{border:1px solid var(--border);border-radius:var(--r2);background:var(--bg);margin:10px 0;padding:10px 12px}.card .top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.card .names{word-break:break-all;font-size:13px}.chips{flex-wrap:wrap;gap:6px;margin:6px 0;display:flex}.chip{background:var(--surface2);border-radius:var(--r1);color:var(--text2);padding:1px 8px;font-size:12px}.card ul{margin:6px 0;padding-left:20px;font-size:13px;line-height:1.6}.card li.warn{color:var(--warn)}.card li.dim{color:var(--text3)}.card li.bad{color:var(--danger)}.card pre{background:var(--code-bg);border:1px solid var(--border);border-radius:var(--r1);white-space:pre-wrap;max-height:220px;font:12.5px var(--font-mono);padding:8px;overflow:auto}.release{border-top:1px solid var(--border);margin-top:14px;padding-top:12px}.dl{flex-wrap:wrap;align-items:center;gap:8px;padding:5px 0;font-size:14px;display:flex}.dl .sz{color:var(--text3);flex:1;font-size:12px}progress{height:10px;accent-color:var(--accent);border-radius:5px}#jobBox{margin-top:10px}.conv{text-align:left;background:var(--bg);border:1px solid var(--border);border-radius:var(--r2);flex-direction:column;width:100%;margin:6px 0;padding:10px 12px;display:flex}.conv:hover{border-color:var(--border-strong)}.conv .t{font-weight:500}.conv .d{color:var(--text3);font-size:12px}.newproj{flex-direction:column;gap:6px;display:flex}.newproj input{padding:8px 10px}.newproj .err{color:var(--danger);font-size:12px}.sess.proj{flex-direction:column;align-items:stretch;padding:8px 10px}.sess.proj .d{color:var(--text3);font-size:12px}.proj-group{color:var(--text2);margin-top:6px;font-weight:600}.instr{font-family:var(--font-sans)}@media (width<=767px){.proj-head{padding:var(--s2) var(--s3) 0}.proj-body{padding:0 var(--s3)}.proj-sec{padding:var(--s3)}}.settings{flex:1;padding-bottom:40px;overflow:auto}.set-title{font:600 22px var(--font-serif);margin:var(--s5) 0 0}.foot-btns{gap:2px;display:inline-flex}.icon.on{background:var(--surface);color:var(--text)}.seg[role=radiogroup]{display:inline-flex}.meters{gap:var(--s4);margin-bottom:var(--s3);grid-template-columns:repeat(auto-fit,minmax(240px,1fr));display:grid}.meter-top{justify-content:space-between;margin-bottom:4px;font-size:14px;display:flex}.meter-top b{font-variant-numeric:tabular-nums}.meter-bar{background:var(--surface2);border-radius:4px;height:8px;overflow:hidden}.meter-bar i{background:var(--chart);border-radius:4px;height:100%;display:block}.meter-bar i.hot{background:var(--danger)}.range .hint{margin:0 0 0 auto}.chart{margin:var(--s3) 0 var(--s4)}.chart-head{justify-content:space-between;align-items:center;margin-bottom:4px;display:flex}.chart-title{color:var(--text2);font-size:13px;font-weight:600}.chart-box{position:relative}.chart svg{width:100%;height:auto;display:block;overflow:visible}.chart .grid{stroke:var(--border);stroke-width:1px}.chart .axis{fill:var(--text3);font-variant-numeric:tabular-nums;font-size:11px}.chart .peak{fill:var(--text2);font-variant-numeric:tabular-nums;font-size:11px}.chart .bar{fill:var(--chart);opacity:.9;outline:none}.chart .bar.hot,.chart .bar:focus-visible{opacity:1;stroke:var(--text);stroke-width:1.5px;paint-order:stroke}.tip{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r1);box-shadow:var(--shadow2);pointer-events:none;white-space:nowrap;font-variant-numeric:tabular-nums;padding:4px 8px;font-size:12px;position:absolute;top:0;transform:translate(-50%,-100%)}.chart-table,.dist table{border-collapse:collapse;width:100%;font-size:14px}.chart-table th,.chart-table td,.members th,.members td{text-align:left;border-bottom:1px solid var(--border);font-variant-numeric:tabular-nums;padding:4px 8px}.dists{gap:var(--s5);margin-top:var(--s3);grid-template-columns:repeat(auto-fit,minmax(260px,1fr));display:grid}.dist h3{color:var(--text2);margin:0 0 6px;font-size:13px}.dist th[scope=row]{text-align:left;word-break:break-all;width:38%;padding:4px 8px 4px 0;font-weight:400}.dist .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding:4px 0 4px 8px}.bar-cell{width:40%}.bar-cell i{background:var(--chart);border-radius:0 4px 4px 0;min-width:2px;height:8px;display:block}.proj-menu{position:relative}.proj-menu .menu{left:0;right:auto}.rename{font:600 18px var(--font-serif);border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);max-width:24ch;padding:4px 8px}.menu .danger-item{color:var(--danger)}.danger-panel{max-width:980px;margin:var(--s4) auto 0;padding:var(--s4) var(--s5);border:1px solid var(--danger);background:var(--danger-soft);border-radius:var(--r3)}.danger-panel h2{font:600 16px var(--font-serif);color:var(--danger);margin:0 0 8px}.danger-panel p{margin:6px 0;font-size:14px}.danger-panel input{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);margin-left:8px;padding:6px 8px}@media (width<=767px){.danger-panel{margin:var(--s3);padding:var(--s3)}}.chat-wrap{flex:1;min-height:0;display:flex;position:relative}.chat-wrap>.chat{flex:1;min-width:0}.panel-toggle{z-index:4;background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);color:var(--text2);box-shadow:var(--shadow1);padding:4px 12px;font-size:13px;position:absolute;top:10px;right:14px}.panel-toggle.on{color:var(--text)}.rpanel{width:var(--panel-w,340px);border-left:1px solid var(--border);background:var(--surface);padding:var(--s3) var(--s4) var(--s5);flex:none;overflow:auto}.rp-head{margin-bottom:var(--s2);justify-content:space-between;align-items:center;padding-right:76px;display:flex}.rp-sec{padding:var(--s3) 0;border-top:1px solid var(--border)}.rp-sec h3{color:var(--text2);align-items:center;gap:8px;margin:0 0 6px;font-size:13px;display:flex}.rp-count{font-variant-numeric:tabular-nums;color:var(--text3);font-weight:400}.todos,.outs{margin:0;padding:0;list-style:none}.todo{gap:8px;padding:3px 0;font-size:14px;display:flex}.todo .ico{text-align:center;flex:none;width:1.2em}.todo.completed{color:var(--text3);text-decoration:line-through}.todo.completed .ico{color:var(--ok)}.todo.in_progress{font-weight:600}.todo.in_progress .ico{color:var(--accent)}.out-row{align-items:center;gap:6px;padding:2px 0;display:flex}.out-name{text-align:left;min-width:0;color:var(--link);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;flex:1;padding:3px 0;font-size:14px;overflow:hidden}.out-row .sz{color:var(--text3);font-size:12px}.icon.sm{padding:2px 6px;font-size:14px}.out-time{color:var(--text3);font-variant-numeric:tabular-nums;padding-bottom:2px;font-size:12px;display:block}.preview{border:1px solid var(--border);border-radius:var(--r2);background:var(--bg);max-height:360px;margin:4px 0 10px;padding:8px 10px;font-size:14px;overflow:auto}.preview pre{white-space:pre-wrap;word-break:break-all;font:12.5px var(--font-mono);margin:0}.preview img{max-width:100%;height:auto;display:block}@media (width<=1099px){.rpanel{z-index:5;width:min(92vw,380px);box-shadow:var(--shadow2);position:absolute;top:0;bottom:0;right:0}}.notice{background:var(--accent-soft);color:var(--text);border-bottom:1px solid var(--border);padding:8px var(--s5);justify-content:space-between;align-items:center;gap:12px;font-size:14px;display:flex}.compare{border:1px solid var(--border-strong);border-radius:var(--r2);background:var(--surface);margin-top:10px;padding:10px 12px}.cmp-head,.cmp-bar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:8px;display:flex}.cmp-head{justify-content:space-between}.cmp-bar .hint{margin:0}.cmp-cols{gap:var(--s3);grid-template-columns:1fr 1fr;display:grid}.cmp-cols .col{min-width:0}.cmp-cols h4{color:var(--text2);margin:0 0 4px;font-size:13px}.cmp-cols pre{background:var(--bg);border:1px solid var(--border);border-radius:var(--r1);max-height:420px;font:12.5px var(--font-mono);white-space:pre-wrap;word-break:break-all;margin:0;padding:6px 0;overflow:auto}.cmp-cols .ln{padding:0 8px}.cmp-cols .ln.chg{background:color-mix(in srgb, var(--warn) 18%, transparent)}mark.code{background:var(--accent-soft);color:var(--accent-text);border-radius:3px;padding:0 2px;font-weight:600}.cmp-img{border:1px solid var(--border);border-radius:var(--r1);background:#fff;max-width:100%;height:auto;display:block}@media (width<=767px){.cmp-cols{grid-template-columns:1fr}}.brand{flex-wrap:wrap;align-items:baseline;gap:6px;display:flex}.ver{font:500 11px var(--font-mono);background:var(--surface);border:1px solid var(--border-strong);color:var(--text2);cursor:pointer;border-radius:999px;align-self:center;padding:1px 8px}.ver:hover{color:var(--text);border-color:var(--text3)}.rel{border-top:1px solid var(--border);padding:8px 0}.rel:first-of-type{border-top:0}.rel summary{cursor:pointer;font-size:14px}.rel ul{margin:8px 0 4px;padding-left:20px;font-size:14px;line-height:1.7}.rel li{margin:2px 0}.login-seg{margin:0 0 var(--s3);display:flex}.login-seg button{flex:1}.login input+input{margin-top:8px}.pair-code{font:600 22px var(--font-mono);letter-spacing:.15em;text-align:center;text-transform:uppercase}.devs{margin:0 0 var(--s3);padding:0;list-style:none}.devs li{border-bottom:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.dev-main{min-width:0}.dev-act{gap:6px;display:inline-flex}.pair-box{margin:var(--s3) 0;padding:var(--s4);border:1px dashed var(--accent);border-radius:var(--r2);background:var(--accent-soft);text-align:center}.pair-code-show{font:700 34px var(--font-mono);letter-spacing:.2em;color:var(--text);-webkit-user-select:all;user-select:all}.att-note.ok{color:var(--ok)}.howto{margin:var(--s3) 0}.howto summary{cursor:pointer;color:var(--link);font-size:14px}.howto ol{font-size:14px;line-height:1.8}.howto code,.only code{font:12.5px var(--font-mono);background:var(--code-bg);word-break:break-all;border-radius:4px;padding:1px 5px}.only{margin-top:var(--s4);padding-top:var(--s3);border-top:1px solid var(--border);align-items:flex-start;gap:8px;font-size:14px;display:flex}.only input{margin-top:4px}button,a,label,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}@media (width<=1024px){input,select,textarea{font-size:16px}}.composer{padding-bottom:calc(var(--s4) + env(safe-area-inset-bottom,0px))}.side{padding-bottom:calc(var(--s3) + env(safe-area-inset-bottom,0px))}.rpanel{padding-bottom:calc(var(--s5) + env(safe-area-inset-bottom,0px))}@media (width<=1099px){.panel-toggle.on{display:none}.rp-head{padding-right:0}}.tag.run{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.tag.run:before{content:"";background:var(--ok);border-radius:50%;width:6px;height:6px;margin-right:5px;animation:1.2s steps(2,end) infinite blink;display:inline-block}.bg-banner{width:100%;max-width:820px;padding:8px var(--s4);color:var(--text2);align-items:center;gap:10px;margin:0 auto;font-size:14px;display:flex}.bg-banner:before{content:"";background:var(--ok);border-radius:50%;flex:none;width:8px;height:8px;animation:1.2s steps(2,end) infinite blink}html,body{overscroll-behavior:none;width:100%;position:fixed;inset:0;overflow:hidden}.app{height:auto;position:fixed;inset:0}.scroll,.project,.empty-proj,.settings,.sessions,.rpanel{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.topbar{padding-top:calc(var(--s2) + env(safe-area-inset-top,0px));padding-left:calc(var(--s3) + env(safe-area-inset-left,0px));padding-right:calc(var(--s3) + env(safe-area-inset-right,0px))}.side{padding-top:calc(var(--s3) + env(safe-area-inset-top,0px));padding-left:calc(var(--s3) + env(safe-area-inset-left,0px))}.composer{padding-left:calc(var(--s4) + env(safe-area-inset-left,0px));padding-right:calc(var(--s4) + env(safe-area-inset-right,0px))}@media (width>=768px){.topbar{padding-top:var(--s2)}.side{padding-top:var(--s3)}}@media (width<=767px){.toolbar{gap:6px}.sel select{max-width:40vw}.composer{padding-left:calc(var(--s3) + env(safe-area-inset-left,0px));padding-right:calc(var(--s3) + env(safe-area-inset-right,0px))}}.credits{align-items:center;gap:var(--s2) var(--s3);margin:0 0 var(--s3);padding:var(--s2) var(--s3);background:var(--surface2);border-radius:var(--r2);flex-wrap:wrap;display:flex}.perm.question,.perm.plan{max-width:720px}.q{margin:0 0 var(--s3);border:0;min-width:0;padding:0}.q legend{margin-bottom:6px;padding:0;font-weight:600}.q-tag{font:600 12px var(--font-sans);background:var(--surface2);color:var(--text2);border-radius:var(--r1);margin-right:8px;padding:1px 8px;display:inline-block}.q-opt{align-items:flex-start;gap:8px;padding:5px 0;display:flex}.q-opt input[type=radio],.q-opt input[type=checkbox]{flex:none;margin-top:5px}.q-other{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);width:min(100%,260px);min-width:0;padding:3px 8px}.q-done{margin:0 0 var(--s2);padding-left:1.2em}dl.q-done{padding:0}dl.q-done div{margin-bottom:4px}dl.q-done dt{color:var(--text2)}dl.q-done dd{margin:0;font-weight:600}.plan-body{border:1px solid var(--border);border-radius:var(--r2);background:var(--bg);max-height:420px;margin-bottom:var(--s2);padding:4px 14px;overflow:auto}.plan-note{color:var(--text2);margin-bottom:var(--s2);font-size:13px;display:block}.plan-note textarea{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);resize:vertical;width:100%;margin-top:4px;padding:6px 8px;display:block}.queued{margin:0 0 var(--s2);flex-direction:column;gap:4px;padding:0;list-style:none;display:flex}.queued li{background:var(--surface2);border:1px dashed var(--border-strong);border-radius:var(--r2);align-items:center;gap:8px;padding:4px 6px 4px 10px;font-size:14px;display:flex}.q-no{color:var(--text2);flex:none;font-size:12px;font-weight:600}.q-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text);flex:1;overflow:hidden}.slash-menu{background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);max-height:260px;box-shadow:var(--shadow2);margin:0 0 6px;padding:4px;list-style:none;overflow:auto}.slash-menu li{border-radius:var(--r1);cursor:pointer;align-items:baseline;gap:10px;padding:6px 10px;display:flex}.slash-menu li.on{background:var(--surface2)}.slash-menu li b{font-family:var(--font-mono);flex:none;font-size:14px}.slash-menu li .hint{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.msg.user{flex-wrap:wrap}.rewind{flex-basis:100%;justify-content:flex-end;margin-top:2px;font-size:12.5px;display:flex}.rewind .link-btn{color:var(--text3);border-radius:var(--r1);background:0 0;border:0;padding:2px 6px}.rewind .link-btn:hover{color:var(--text);background:var(--surface2)}@media (hover:hover){.msg.user .rewind .link-btn{opacity:0}.msg.user:hover .rewind .link-btn,.msg.user:focus-within .rewind .link-btn{opacity:1}}.rewind-ask{max-width:560px;color:var(--text2);background:var(--surface2);border-radius:var(--r2);flex-direction:column;align-items:flex-end;gap:8px;padding:8px 12px;display:flex}.rewind-text{text-align:left}.rewind-btns{gap:8px;display:inline-flex}.relay-linked,.relay-pair,.relay-hosts{margin-top:var(--s3)}.relay-pair .row{gap:var(--s2);flex-wrap:wrap;display:flex}.relay-pair input{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);flex:140px;min-width:0;padding:6px 10px}.remote-bar{width:100%;max-width:820px;margin:0 auto var(--s2);background:var(--surface2);border-radius:var(--r2);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 12px;font-size:14px;display:flex}.relay-note{color:var(--danger)}.pin-dialog{align-items:center;gap:var(--s2);max-width:820px;width:calc(100% - 2 * var(--s3));margin:0 auto var(--s2);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--r2);box-shadow:var(--shadow2);flex-wrap:wrap;padding:10px 12px;display:flex}.pin-dialog input{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--bg);width:10em;margin-left:6px;padding:6px 10px}.remote-approvals{z-index:40;flex-direction:column;gap:8px;width:min(560px,100vw - 24px);display:flex;position:fixed;top:12px;left:50%;transform:translate(-50%)}.remote-approvals .perm{background:var(--surface);box-shadow:var(--shadow2)}.remote-approvals .perm.danger{border-color:var(--danger)}.tag.danger{color:var(--danger);border-color:var(--danger)}.kinds{border:0;flex-direction:column;gap:6px;margin:6px 0;padding:0;display:flex}.kind{align-items:flex-start;gap:8px;font-size:14px;display:flex}.kind input{margin-top:4px}.kind .hint{font-size:12.5px;display:block}.kind-tag{font:600 11px var(--font-sans);border:1px solid var(--border-strong);color:var(--text2);vertical-align:1px;border-radius:999px;margin-left:4px;padding:0 7px;display:inline-block}.kind-tag.sanitized{color:var(--accent-text,var(--text))}.dropzone{align-items:center;gap:var(--s3);padding:var(--s3);border:1px dashed var(--border-strong);border-radius:var(--r2);margin:var(--s2) 0 var(--s3);flex-wrap:wrap;display:flex}.dropzone.drag{background:var(--surface2);border-color:var(--text3)}.att.doc{background:var(--surface2);border:1px solid var(--border);border-radius:var(--r2);align-items:center;gap:6px;width:auto;max-width:260px;height:36px;padding:0 6px 0 10px;font-size:13px;display:inline-flex}.att.doc .doc-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.att.doc button{flex:none;position:static}.att.doc .doc-ico{font:600 11px var(--font-sans);color:var(--text2);border:1px solid var(--border-strong);border-radius:4px;flex:none;padding:0 4px}.skill-text{width:100%;font:13px/1.5 var(--font-mono);border:1px solid var(--border-strong);border-radius:var(--r2);background:var(--surface);resize:vertical;margin:var(--s2) 0;padding:10px 12px;display:block}.sched-form{gap:var(--s2);flex-direction:column;display:flex}.sched-form label{color:var(--text2);flex-direction:column;flex:160px;gap:4px;min-width:0;font-size:13px;display:flex}.sched-form input,.sched-form select,.sched-form textarea{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);color:var(--text);padding:6px 8px}.sched-form .row{gap:var(--s2);flex-wrap:wrap;display:flex}.days{border:0;flex-wrap:wrap;align-items:center;gap:10px;margin:0;padding:0;display:flex}.days legend{color:var(--text2);font-size:13px}.day{align-items:center;flex-direction:row!important;flex:none!important}.sched-list{margin:0 0 var(--s3);gap:var(--s2);flex-direction:column;padding:0;list-style:none;display:flex}.sched-list li{border:1px solid var(--border);border-radius:var(--r2);padding:var(--s2) var(--s3);background:var(--surface);flex-direction:column;gap:4px;display:flex}.sched-list li.off{opacity:.75}.sched-head .tag{margin-left:6px}.st.ok{color:var(--ok)}.st.warn{color:var(--warn)}.st.err{color:var(--danger)}.sched-list details pre{white-space:pre-wrap;background:var(--code-bg);border-radius:var(--r1);max-height:200px;font:12.5px var(--font-mono);margin:4px 0;padding:8px 10px;overflow:auto}.stamp{color:var(--text2);font-variant-numeric:tabular-nums;margin-top:2px;font-size:11px;display:block}.msg.user .stamp{text-align:right}.msg-body{flex:1;min-width:0}.toolbar{gap:6px}.toolbar .sel{gap:4px}.toolbar .sel select{max-width:112px;padding:4px}.toolbar #model{max-width:168px}.toolbar .send{padding-left:14px;padding-right:14px}@media (width<=767px){.toolbar .sel select{max-width:30vw}.toolbar #model{max-width:44vw}}.err-text{color:var(--danger,#b3261e)}.copyme{-webkit-user-select:all;user-select:all;word-break:break-all;margin:4px 0;display:inline-block}.update-banner{justify-content:space-between;gap:12px}.resizer{z-index:6;cursor:col-resize;touch-action:none;flex:none;width:7px;margin:0 -3px;position:relative}.resizer:after{content:"";background:0 0;width:1px;transition:background .12s;position:absolute;top:0;bottom:0;left:3px}.resizer:hover:after,.resizer:focus-visible:after,body.resizing .resizer:after{background:var(--accent);width:2px;left:2px}.resizer:focus-visible{outline:none}body.resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}@media (width<=767px){.app>.resizer{display:none}}@media (width<=1099px){.chat-wrap>.resizer{display:none}}.seg{float:right;border:1px solid var(--border-strong);border-radius:var(--r1);display:inline-flex;overflow:hidden}.seg button{color:var(--text2);background:0 0;border:0;padding:1px 9px;font-size:12px}.seg button.on{background:var(--accent-soft);color:var(--text)}.chg{margin:0;padding:0;list-style:none}.chg-row{text-align:left;border:0;border-bottom:1px solid var(--border);background:0 0;justify-content:space-between;gap:8px;width:100%;padding:5px 2px;display:flex}.chg-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chg-stat{color:var(--text2);flex:none;font-size:12px}.chg .add,.diff .add{color:var(--ok)}.chg .del,.diff .del{color:var(--danger)}.diff{max-height:360px;font:12px/1.5 var(--font-mono,monospace);background:var(--surface2);border-radius:var(--r1);white-space:pre;margin:4px 0 8px;padding:6px 8px;overflow:auto}.diff .dl{display:block}.diff .dl.add{background:color-mix(in srgb, var(--ok) 14%, transparent)}.diff .dl.del{background:color-mix(in srgb, var(--danger) 14%, transparent)}.diff .dl.ctx{color:var(--text3)}.msg-fork{flex-basis:100%;justify-content:flex-end;margin-top:2px;font-size:12.5px;display:flex}.msg-fork .link-btn{color:var(--text3);border-radius:var(--r1);background:0 0;border:0;padding:2px 6px}.msg-fork .link-btn:hover{color:var(--text);background:var(--surface2)}@media (hover:hover){.msg.user .msg-fork .link-btn{opacity:0}.msg.user:hover .msg-fork .link-btn,.msg.user:focus-within .msg-fork .link-btn{opacity:1}}.diag{white-space:pre-wrap;font:12px/1.6 var(--font-mono,monospace);background:var(--surface2);border-radius:var(--r1);-webkit-user-select:text;user-select:text;padding:8px 10px}#notifyDiag summary{cursor:pointer;color:var(--text2);margin-top:8px;font-size:13px}.overview{max-width:820px}.ov-list{margin:0;padding:0;list-style:none}.ov-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.ov-main{flex-direction:column;gap:2px;min-width:0;display:flex}.ov-title{text-align:left;color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;max-width:100%;padding:0;font-size:15px;overflow:hidden}.ov-title:hover{text-decoration:underline}.ov-act{flex:none;gap:6px;display:flex}.tag.warn{background:color-mix(in srgb, var(--danger) 15%, transparent);color:var(--danger);align-self:flex-start;margin:2px 0 0}.hook{flex-direction:column;gap:6px;margin-top:6px;display:flex}.hook-secret{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface2);padding:8px 10px}.hook-secret pre{white-space:pre-wrap;word-break:break-all;font:12px/1.5 var(--font-mono,monospace);-webkit-user-select:text;user-select:text;margin:6px 0}.share-box{border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface2);flex-direction:column;gap:6px;margin:4px 0 8px;padding:8px 10px;display:flex}.share-url{width:100%;font:12px var(--font-mono,monospace);border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--bg);margin-bottom:4px;padding:4px 6px}.share-list{margin:0;padding:0;list-style:none}.share-list li{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}.share-list li.off{opacity:.6}.md-raw{white-space:pre-wrap}.hook-cmd{font:12.5px var(--font-mono,monospace);word-break:break-all}.older{text-align:center;padding:6px 0 10px;font-size:13px}.older .link-btn{color:var(--text2);background:0 0;border:0;text-decoration:underline}.sub-steps{color:var(--text2);margin:2px 0 6px 18px;font-size:13px}.sub-steps summary{cursor:pointer;padding:2px 0}.sub-steps ul{border-left:2px solid var(--border);margin:2px 0 0;padding:0 0 0 10px;list-style:none}.sub-steps li{flex-wrap:wrap;gap:6px;padding:1px 0;display:flex}.sub-steps li.err{color:var(--danger)}.sub-steps .sum{color:var(--text3);text-overflow:ellipsis;white-space:nowrap;max-width:60%;overflow:hidden}.sub-steps .state{color:var(--text3);font-size:12px}.sub-text{color:var(--text2)}.fp-back{z-index:90;background:#00000073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.fp{background:var(--surface);color:var(--text);border:1px solid var(--border-strong);border-radius:var(--r2);box-shadow:var(--shadow2);outline:none;flex-direction:column;gap:8px;width:min(640px,100%);max-height:min(80vh,640px);padding:16px 18px;display:flex}.fp h2{margin:0;font-size:18px}.fp .row{gap:8px;display:flex}.fp .row input{flex:1;min-width:0}.fp-crumbs{color:var(--text2);white-space:nowrap;padding:2px 0;font-size:13px;overflow-x:auto}.fp-crumbs .link-btn{color:var(--accent-text,var(--text));background:0 0;border:0;padding:0 2px}.fp-list{border:1px solid var(--border);border-radius:var(--r1);flex:1;min-height:120px;margin:0;padding:0;list-style:none;overflow-y:auto}.fp-list li button{text-align:left;width:100%;color:var(--text);border:0;border-bottom:1px solid var(--border);background:0 0;padding:8px 12px}.fp-list li button:hover,.fp-list li button:focus-visible{background:var(--surface2)}.fp-list .fp-sub{color:var(--text3);background:var(--surface2);padding:6px 12px;font-size:12px}.fp-empty{padding:10px 12px}.fp-foot{align-items:center;gap:8px;display:flex}.fp-cur{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.folder-bar{text-align:left;border:1px solid var(--border-strong);border-radius:var(--r1);background:var(--surface);width:100%;color:var(--text);align-items:center;gap:8px;padding:7px 10px;display:flex}.folder-bar b{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.folder-bar:hover{background:var(--surface2)}.switching{z-index:100;background:var(--bg);text-align:center;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.ctx-line{max-width:880px;color:var(--text2);font-variant-numeric:tabular-nums;margin:0 auto;padding:0 16px 2px;font-size:11px}.ctx-banner{border:1px solid var(--border);background:var(--surface2);border-radius:10px;max-width:880px;margin:0 auto 6px;padding:8px 12px;font-size:13px;line-height:1.5}.ctx-banner.high{border-color:#c2410c}.ctx-banner .ctx-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:6px;display:flex}.ctx-banner .link-btn{color:var(--text2);border-radius:var(--r1);background:0 0;border:0;padding:2px 6px;text-decoration:underline}.ctx-banner .ctx-meter{color:var(--text2);margin-right:auto;font-size:11px}.kind-tabs{background:var(--bg-sunken,#0000000d);border-radius:var(--r2,10px);gap:4px;margin:4px 0 6px;padding:3px;display:flex}.kind-tabs button{color:var(--text2);background:0 0;border:0;border-radius:8px;flex:1;padding:6px 8px;font-weight:500}.kind-tabs button.on{background:var(--bg,#fff);color:var(--text);font-weight:600;box-shadow:0 1px 2px #0000001f}.kind-tabs .n{color:var(--text2);margin-left:6px;font-size:11px}.kind-desc{margin:0 2px 8px;font-size:12px}.icon.save-as{white-space:nowrap;font-size:12px}.icon.mic.on{background:var(--accent-solid);color:var(--on-accent);border-color:var(--accent-solid)}.sc-list{gap:6px;margin:0;display:grid}.sc-row{grid-template-columns:9.5em 1fr;align-items:baseline;gap:10px;display:grid}.sc-row dt{margin:0}.sc-row dd{color:var(--muted,inherit);margin:0}.sc-row kbd{font:inherit;border:1px solid var(--border,#ccc);background:var(--panel,transparent);white-space:nowrap;border-radius:5px;padding:1px 6px;font-size:.85em}.pv-zoom{float:right;margin:0 0 4px 6px}.pz{z-index:120;background:var(--bg);outline:none;flex-direction:column;display:flex;position:fixed;inset:0}.pz-bar{border-bottom:1px solid var(--border);background:var(--surface);justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;display:flex}.pz-name{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.pz-body{flex:1;padding:20px max(16px,50% - 480px);font-size:16px;line-height:1.7;overflow:auto}.pz-hint{color:var(--muted,#888);background:var(--surface);padding:6px 16px;font-size:12px}html.pz-page-open #root{display:none}.pz.pz-page{min-height:calc(100dvh + 1px);display:block;position:static}.pz.pz-page .pz-bar{top:max(8px, env(safe-area-inset-top));right:max(8px, env(safe-area-inset-right));z-index:121;border:1px solid var(--border);opacity:.92;border-radius:10px;max-width:70vw;padding:4px 6px;position:fixed;left:auto}.pz.pz-page .pz-body{padding:calc(52px + env(safe-area-inset-top)) 16px calc(24px + env(safe-area-inset-bottom));overflow:visible}.pz.pz-page .pz-body img{touch-action:pinch-zoom;max-height:none}.pz-body pre{white-space:pre-wrap;word-break:break-all;font:14px/1.6 var(--font-mono);margin:0}.pz-body img{object-fit:contain;max-width:100%;max-height:100%;margin:0 auto;display:block}.pz.pz-page .pz-hint{padding-top:calc(52px + env(safe-area-inset-top))}.pz.pz-page .pz-hint+.pz-body{padding-top:12px}html.pz-page-open,html.pz-page-open body{overscroll-behavior:auto;height:auto;position:static;inset:auto;overflow:auto}
