@youweichen/pi-web-ui 0.46.0 → 0.47.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +23 -0
- package/electron/main.mjs +437 -0
- package/package.json +16 -4
- package/web/dist/assets/{TerminalPanel-CL7_iOws.js → TerminalPanel-C3kNAJrw.js} +1 -1
- package/web/dist/assets/{abnfDiagram-VCTEODGH-BKPpCrz_.js → abnfDiagram-VCTEODGH-Dkf6Vjk6.js} +1 -1
- package/web/dist/assets/{arc-C23hgJIX.js → arc-DGaqRXHk.js} +1 -1
- package/web/dist/assets/{architectureDiagram-5GKGNRK7-dhOJ0tIS.js → architectureDiagram-5GKGNRK7-CDibpnZt.js} +1 -1
- package/web/dist/assets/{blockDiagram-I7D4REHJ-T5jRCGjd.js → blockDiagram-I7D4REHJ-iPzBDys9.js} +1 -1
- package/web/dist/assets/{c4Diagram-7LVT6UL2-mWuNh2dO.js → c4Diagram-7LVT6UL2-C7WHEzTt.js} +1 -1
- package/web/dist/assets/channel-DZHqEbOF.js +1 -0
- package/web/dist/assets/{chunk-2Q5K7J3B-DOE-hNOM.js → chunk-2Q5K7J3B-BxP-WtZQ.js} +1 -1
- package/web/dist/assets/{chunk-5VM5RSS4-EtaQHwdB.js → chunk-5VM5RSS4-DsTt0Asa.js} +1 -1
- package/web/dist/assets/{chunk-F27PBJKO-BEVAlITo.js → chunk-F27PBJKO-DrTxwu2p.js} +1 -1
- package/web/dist/assets/{chunk-IMKFNOWR-LS0UAssg.js → chunk-IMKFNOWR-Cx4FHpLO.js} +1 -1
- package/web/dist/assets/{chunk-JWPE2WC7-BxQUQ7dH.js → chunk-JWPE2WC7-CyENxC_t.js} +1 -1
- package/web/dist/assets/{chunk-POPQ4Y6H-BPk8DcZO.js → chunk-POPQ4Y6H-D3RxBrgG.js} +1 -1
- package/web/dist/assets/{chunk-SVP7TREG-BOWUorML.js → chunk-SVP7TREG-WDQg7LbA.js} +1 -1
- package/web/dist/assets/{chunk-TICWLB2K-OJjESJUC.js → chunk-TICWLB2K-DyeJXMay.js} +1 -1
- package/web/dist/assets/{chunk-XXDRQBXY-COOAF-eP.js → chunk-XXDRQBXY-BOMbEfh4.js} +1 -1
- package/web/dist/assets/classDiagram-ZZMXUADV-BeicvRPx.js +1 -0
- package/web/dist/assets/classDiagram-v2-VYDZK3BY-BeicvRPx.js +1 -0
- package/web/dist/assets/{cose-bilkent-JH36ORCC-C1JwoJmN.js → cose-bilkent-JH36ORCC-C_qgmlbu.js} +1 -1
- package/web/dist/assets/{cynefin-OW5HDTMX-DmSGPBbN.js → cynefin-OW5HDTMX-Dlp7w0pR.js} +1 -1
- package/web/dist/assets/{cynefinDiagram-5FMLGOSQ-CIsEXfZy.js → cynefinDiagram-5FMLGOSQ-DdpttLWQ.js} +1 -1
- package/web/dist/assets/{dagre-GXQ25YYZ-BsHrnq08.js → dagre-GXQ25YYZ-YcPnyGBA.js} +1 -1
- package/web/dist/assets/{diagram-S7CK7UJ4-B9G0tgH2.js → diagram-S7CK7UJ4-DjrmB_V4.js} +1 -1
- package/web/dist/assets/{diagram-UQ7AKVKN-_JgVa7Wv.js → diagram-UQ7AKVKN-02dgB4Gk.js} +1 -1
- package/web/dist/assets/{diagram-VSXAHHWV-CKhfNWNM.js → diagram-VSXAHHWV-KV4AYZKh.js} +1 -1
- package/web/dist/assets/{diagram-VX7I27RA-BrMgRfub.js → diagram-VX7I27RA-D9BdQRcy.js} +1 -1
- package/web/dist/assets/{diagram-Z3DM3KII-BKlCUZG7.js → diagram-Z3DM3KII-B9WvYs1o.js} +1 -1
- package/web/dist/assets/{ebnfDiagram-PWID7BFC-BhS-laX7.js → ebnfDiagram-PWID7BFC-CFl5CJVC.js} +1 -1
- package/web/dist/assets/{erDiagram-RLTQ6QDP-Bicr1cgA.js → erDiagram-RLTQ6QDP-D2KMUQ1j.js} +1 -1
- package/web/dist/assets/{flowDiagram-HODETNUW-CwN50VFN.js → flowDiagram-HODETNUW-B-8YZRoB.js} +1 -1
- package/web/dist/assets/{ganttDiagram-EL5Y4UJY-DdGF6wOu.js → ganttDiagram-EL5Y4UJY-DMqqqP-Y.js} +1 -1
- package/web/dist/assets/{gitGraphDiagram-WWUBYQGX-CQWE0duT.js → gitGraphDiagram-WWUBYQGX-DEW0i_sZ.js} +1 -1
- package/web/dist/assets/{index-C-XJ-ly_.js → index-C6v7dw-m.js} +11 -11
- package/web/dist/assets/{index-DPHpyI7l.css → index-CFqCTH4C.css} +1 -1
- package/web/dist/assets/{infoDiagram-27XIBGKW-DSiF9D9z.js → infoDiagram-27XIBGKW-CXXuNoKy.js} +1 -1
- package/web/dist/assets/{ishikawaDiagram-5VMMS53U-Dmwa_H3U.js → ishikawaDiagram-5VMMS53U-DRoKtY9r.js} +1 -1
- package/web/dist/assets/{journeyDiagram-3NMN7TZE-xSKoWUXW.js → journeyDiagram-3NMN7TZE-D5t_RX6A.js} +1 -1
- package/web/dist/assets/{kanban-definition-UXKFOSKX-BjdQTjeP.js → kanban-definition-UXKFOSKX-k9I2n3q0.js} +1 -1
- package/web/dist/assets/{layout-BihLpYDs.js → layout-CdenxSWG.js} +1 -1
- package/web/dist/assets/{linear-BEtuTZH6.js → linear-jRHEP8b3.js} +1 -1
- package/web/dist/assets/{mermaid.core-DDk4A0BP.js → mermaid.core-D8R7av1J.js} +5 -5
- package/web/dist/assets/{mindmap-definition-YA3MSWOX-vyLVeeNj.js → mindmap-definition-YA3MSWOX-C1nRjN2l.js} +1 -1
- package/web/dist/assets/{pegDiagram-XKGWAZYB-CiJBX8pg.js → pegDiagram-XKGWAZYB-CfSNzf6e.js} +1 -1
- package/web/dist/assets/{pieDiagram-E7YTZNPT-pjZ_fcHc.js → pieDiagram-E7YTZNPT-D6GTzVYt.js} +1 -1
- package/web/dist/assets/{quadrantDiagram-AXDQQJYC-Cp-mghRB.js → quadrantDiagram-AXDQQJYC-CTtm5bnt.js} +1 -1
- package/web/dist/assets/{railroadDiagram-O6MQD6OU-DJbRWcUS.js → railroadDiagram-O6MQD6OU-nirkzVNV.js} +1 -1
- package/web/dist/assets/{requirementDiagram-BXWQKSXE-DNLHnruR.js → requirementDiagram-BXWQKSXE-JTuIVEJa.js} +1 -1
- package/web/dist/assets/{sankeyDiagram-P5KCCOFB-DjOj5iQU.js → sankeyDiagram-P5KCCOFB-BDPG9DA8.js} +1 -1
- package/web/dist/assets/{sequenceDiagram-WJ2MYXX4-CVGakqCw.js → sequenceDiagram-WJ2MYXX4-BaCeoEaZ.js} +1 -1
- package/web/dist/assets/{sizeCapture-INFHLROL-X3bYvvQk.js → sizeCapture-INFHLROL-DW8ydaxg.js} +1 -1
- package/web/dist/assets/{stateDiagram-D77RDMKH-8o65SNy_.js → stateDiagram-D77RDMKH-D4j3O3k3.js} +1 -1
- package/web/dist/assets/stateDiagram-v2-MP3YSRHH-C6T7Mj3_.js +1 -0
- package/web/dist/assets/{swimlanes-42K2YHIH-D0YDGlUe.js → swimlanes-42K2YHIH-B1XeYn6H.js} +1 -1
- package/web/dist/assets/swimlanesDiagram-VR7AAH4N-DGAy5ch1.js +8 -0
- package/web/dist/assets/{timeline-definition-24CTP7MA-CGmS1IQy.js → timeline-definition-24CTP7MA-F_4tuv7C.js} +1 -1
- package/web/dist/assets/{vennDiagram-4TSXK5OY-DtcOF61-.js → vennDiagram-4TSXK5OY-C5hjQH9r.js} +1 -1
- package/web/dist/assets/{wardleyDiagram-VM6X3IG4-DnEMdzmM.js → wardleyDiagram-VM6X3IG4-BsVhPwEg.js} +1 -1
- package/web/dist/assets/{xychartDiagram-S5SC5T6Z-aX9QskX7.js → xychartDiagram-S5SC5T6Z-Cmgrgde9.js} +1 -1
- package/web/dist/index.html +2 -2
- package/web/dist/assets/channel-BCfi_Ba5.js +0 -1
- package/web/dist/assets/classDiagram-ZZMXUADV-yqBppQ5u.js +0 -1
- package/web/dist/assets/classDiagram-v2-VYDZK3BY-yqBppQ5u.js +0 -1
- package/web/dist/assets/stateDiagram-v2-MP3YSRHH-B-PRjFjM.js +0 -1
- package/web/dist/assets/swimlanesDiagram-VR7AAH4N-CmQs4l8c.js +0 -8
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/inter/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/inter/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/inter/inter-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/inter/inter-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #fbfbfd;--bg-elev: #ffffff;--bg-elev2: #f1f3f8;--border: #e3e7ee;--border-soft: #edf0f5;--text: #334155;--text-dim: #64748b;--text-faint: #94a3b8;--accent: #3b49df;--accent-soft: rgba(59, 73, 223, .12);--green: #16a34a;--green-soft: rgba(22, 163, 74, .12);--red: #dc2626;--red-soft: rgba(220, 38, 38, .1);--amber: #d97706;--code-bg: #1b1f24;--code-fg: var(--term-fg);--tooltip-bg: #232733;--tooltip-fg: #e6e8ef;--term-bg: #1b1f24;--term-fg: #e6e8ef;--term-cursor: #3b49df;--term-cursor-accent: #1b1f24;--term-selection: rgba(59, 73, 223, .35);--term-black: #2a2f37;--term-red: #f87171;--term-green: #34d399;--term-yellow: #fbbf24;--term-blue: #60a5fa;--term-magenta: #c084fc;--term-cyan: #22d3ee;--term-white: #e6e8ef;--term-bright-black: #6b7284;--term-bright-red: #f87171;--term-bright-green: #34d399;--term-bright-yellow: #fbbf24;--term-bright-blue: #60a5fa;--term-bright-magenta: #c084fc;--term-bright-cyan: #22d3ee;--term-bright-white: #ffffff;--mono: "IBM Plex Mono", "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--sans: Inter, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6}.app{display:flex;flex-direction:column;height:100%}.layout{flex:1;display:flex;min-height:0}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.panel{display:flex;flex-direction:column;width:240px;flex-shrink:0;min-height:0;background:var(--bg-elev);border-right:1px solid var(--border);position:relative}.panel-right{border-right:none;border-left:1px solid var(--border)}.drawer-left .panel{width:var(--left-w, 240px)}.drawer-right .panel{width:var(--right-w, 240px)}.resize-handle{flex-shrink:0;width:6px;margin:0 -3px;position:relative;z-index:10;cursor:col-resize;touch-action:none}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .15s ease}.resize-handle:hover:after,body.panel-resizing .resize-handle:after{background:var(--accent);opacity:.55}body.panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.panel-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.panel-new,.panel-refresh{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;padding:3px 8px;font-size:12px}.panel-new:hover,.panel-refresh:hover{color:var(--text);border-color:var(--accent)}.panel-fab{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);font-size:14px;cursor:pointer;box-shadow:0 6px 20px #00000073;z-index:2}.panel-fab:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 8px 24px #00000080}.panel-fab:active{transform:scale(.94)}.panel-right .panel-body,.sessions-scroll{padding-bottom:56px}.panel-convs{flex-shrink:0;max-height:32%;overflow-y:auto;padding:6px 6px 0}.panel-sessions{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 6px}.panel-sessions .panel-section-title{flex-shrink:0;padding-top:8px}.sessions-scroll{flex:1;overflow-y:auto;min-height:0}.panel-body{flex:1;overflow-y:auto;padding:6px}.panel-widgets{flex-shrink:0;max-height:40%;overflow-y:auto;padding:8px;border-top:1px solid var(--border-soft);background:#00000026}.widget{border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-elev2);margin-bottom:6px;overflow:hidden}.widget:last-child{margin-bottom:0}.widget-title{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:4px 10px;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-soft);text-align:left;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}.widget-title-btn{cursor:pointer}.widget-title-btn:hover{color:var(--text);background:#ffffff0d}.widget-title-btn svg{flex-shrink:0;opacity:.6}.widget-lines{margin:0;padding:6px 10px;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere}.widget-expand{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,1100px);max-height:min(80vh,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0000008c;z-index:400}.widget-expand-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.widget-expand-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim)}.widget-expand-lines{margin:0;padding:12px 16px;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--text-dim);white-space:pre;overflow:auto}.pc-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:12px;text-align:left;cursor:pointer}.pc-item:hover,.pc-item.sel{background:var(--accent-soft);color:var(--text)}.pc-icon{flex-shrink:0;margin-top:1px;color:var(--text-faint)}.pc-item.sel .pc-icon{color:var(--accent)}.pc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pc-name{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-path{font-size:10.5px;line-height:1.4;color:var(--text-faint);font-family:var(--mono);word-break:break-all;overflow-wrap:anywhere}.panel-empty{padding:16px 8px;text-align:center;font-size:12px;color:var(--text-faint)}.files-truncated{color:var(--amber);border-top:1px dashed var(--border);margin-top:8px;padding-top:12px}.session-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer;margin-bottom:2px}.session-item:hover{background:var(--bg-elev2);color:var(--text)}.session-item.active{background:var(--accent-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:7px 9px}.session-icon{flex-shrink:0;color:var(--text-faint)}.session-item.active .session-icon{color:var(--accent)}.session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}.session-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-sub{font-size:11px;color:var(--text-faint)}.session-src{margin-left:6px;font-size:9.5px;padding:0 5px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;vertical-align:1px}.session-time{font-size:10.5px;color:var(--text-faint);flex-shrink:0;align-self:flex-start;margin-top:1px;font-variant-numeric:tabular-nums}.panel-projects{flex-shrink:0;max-height:45%;display:flex;flex-direction:column;padding:6px 6px 8px;border-bottom:2px solid var(--border)}.panel-projects .panel-section-title{flex-shrink:0}.projects-scroll{flex:1;overflow-y:auto;min-height:0}.panel-section-title{padding:4px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.panel-section-divider{height:1px;background:var(--border);margin:6px 10px}.conv-streaming{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--green);box-shadow:0 0 4px var(--green);animation:conv-pulse 1.2s ease-in-out infinite}@keyframes conv-pulse{0%,to{opacity:1}50%{opacity:.25}}.project-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer;margin-bottom:2px}.project-item:hover{background:var(--bg-elev2);color:var(--text)}.project-item.active{background:var(--accent-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:6px 9px}.project-icon{flex-shrink:0;color:var(--text-faint)}.project-item.active .project-icon{color:var(--accent)}.project-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}.project-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-path{font-size:11px;color:var(--text-faint);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-time{font-size:10.5px;color:var(--text-faint);flex-shrink:0;align-self:flex-start;margin-top:1px;font-variant-numeric:tabular-nums}.project-item.pending{background:var(--bg-elev2);color:var(--text)}.project-item.pending .project-icon{color:var(--accent)}.project-spinner{flex-shrink:0}.lp-row{position:relative}.lp-row .lp-del{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:5px;border:none;background:transparent;color:var(--text-faint);cursor:pointer}.lp-row .lp-del svg{width:13px;height:13px}.lp-row:hover .lp-del{display:inline-flex}.lp-row:hover .project-time,.lp-row:hover .session-time{visibility:hidden}.lp-row .lp-del:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.lp-row .lp-del.confirm,.lp-row .lp-del.confirm:hover{color:#fff;background:var(--red)}.lp-row .lp-rename{position:absolute;right:32px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:5px;border:none;background:transparent;color:var(--text-faint);cursor:pointer}.lp-row .lp-rename svg{width:13px;height:13px}.lp-row:hover .lp-rename{display:inline-flex}.lp-row .lp-rename:hover{color:var(--accent);background:var(--accent-soft)}.lp-inline-form{display:flex;align-items:center;gap:4px;padding:4px 8px}.lp-inline-input{flex:1;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid var(--accent);background:var(--bg-elev);color:var(--text);font-size:12.5px;font-family:inherit;outline:none}.lp-inline-ok,.lp-inline-cancel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer}.lp-inline-ok svg,.lp-inline-cancel svg{width:14px;height:14px}.lp-inline-ok:hover{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.lp-inline-cancel:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.fpk-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;height:min(70vh,620px);overflow:hidden;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c}.fpk-modal-head{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--border)}.fpk-modal-head h2{margin:0;font-size:15px}.fpk-modal-bar{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg-elev)}.fpk-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);cursor:pointer}.fpk-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.fpk-nav-btn:disabled{opacity:.4;cursor:default}.fpk-path{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.fpk-drives{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.fpk-drive{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev2);color:var(--text-dim);font-size:12px;font-family:var(--mono);cursor:pointer}.fpk-drive:hover{color:var(--accent);border-color:var(--accent)}.fpk-drive.active{color:#fff;background:var(--accent);border-color:var(--accent)}.fpk-list{flex:1;overflow-y:auto;padding:6px}.fpk-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer}.fpk-item:hover{background:var(--bg-elev)}.fpk-item-icon{flex-shrink:0;color:var(--text-faint)}.fpk-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fpk-item-go{flex-shrink:0;color:var(--text-faint);opacity:0}.fpk-item:hover .fpk-item-go{opacity:1}.fpk-modal-foot{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-elev)}.fpk-open-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border:none;border-radius:7px;background:var(--accent);color:#fff;font-size:12.5px;font-family:inherit;font-weight:600;cursor:pointer}.fpk-open-btn:disabled{opacity:.5;cursor:default}.lp-add-project{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;font-family:inherit;text-align:left;cursor:pointer}.lp-add-project:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.panel-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border-soft);flex-shrink:0;font-size:12px}.crumb{border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:2px 4px;border-radius:4px;font-size:12px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover{color:var(--text);background:var(--bg-elev2)}.crumb.active{color:var(--accent)}.crumb-seg{display:inline-flex;align-items:center;color:var(--text-faint)}.file-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer}.file-item.dir{cursor:default}.file-dir-main{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:none;background:transparent;color:inherit;font-size:inherit;text-align:left;cursor:pointer;padding:0}.file-item:hover{background:var(--bg-elev2);color:var(--text)}.file-icon{flex-shrink:0;color:var(--text-faint)}.file-item.dir .file-icon{color:#fbbf24}.file-name{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:none;background:transparent;color:inherit;font-size:inherit;font-family:inherit;text-align:left;padding:0;overflow:hidden;cursor:pointer}.file-name:hover{color:var(--accent)}.file-name.no-preview{cursor:default}.file-name.no-preview:hover{color:inherit}.file-name-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attach{position:relative;display:none;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;cursor:pointer;flex-shrink:0}.file-item:hover .file-attach{display:inline-flex}.file-attach:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.file-attach:before{content:"";position:absolute;bottom:calc(100% + 3px);right:6px;border:5px solid transparent;border-top-color:var(--tooltip-bg);pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40}.file-attach:hover:after,.file-attach:hover:before{opacity:1}.chip[data-tip]{position:relative}.chip[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.chip[data-tip]:hover:after{opacity:1}.file-attach.inline{background:var(--accent-soft);color:var(--accent)}.file-attach.inline:hover{background:var(--accent);color:#fff}.file-attach.download{background:#34d39924;color:var(--green);text-decoration:none}.file-attach.download:hover{background:var(--green);color:#fff}.file-attach.ref{background:#fbbf241f;color:var(--amber)}.file-attach.ref:hover{background:var(--amber);color:#1a1a1a}.attach-row{max-width:860px;margin:0 auto 6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.attach-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:12px;max-width:320px}.attach-chip.reference{border-color:#fbbf2466;background:#fbbf241a}.attach-chip.lines{border-color:#34d39966;background:#34d3991a}.attach-chip.image{border-color:#ec489973;background:#ec48991f}.attach-chip.file{border-color:#60a5fa73;background:#60a5fa1f}.inputbar.drop-active{outline:2px dashed var(--accent);outline-offset:-2px}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-elev) 88%,transparent);z-index:5;pointer-events:none}.drop-overlay span{padding:10px 18px;border:1px dashed var(--accent);border-radius:10px;background:var(--bg-elev2);color:var(--text);font-size:14px}.app-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-elev) 72%,transparent);border:2px dashed var(--accent);pointer-events:none}.app-drop-overlay span{padding:14px 26px;border:1px dashed var(--accent);border-radius:12px;background:var(--bg-elev2);color:var(--text);font-size:16px;box-shadow:0 8px 32px #00000059}.attach-range{font-family:var(--mono);font-size:10.5px;padding:0 6px;border-radius:999px;background:#34d3992e;color:var(--green)}.attach-remove{border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.attach-remove:hover{color:var(--red)}.attach-hint{font-size:11.5px;color:var(--text-faint)}.attachcard{margin:6px 0;border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;background:var(--accent-soft);overflow:hidden}.attachcard-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left}.attachcard-head:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.attachcard-icon{flex-shrink:0}.attachcard-name{font-weight:600;font-family:var(--mono);font-size:12px}.attachcard-path{color:var(--text-faint);font-size:11px;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.attachcard-meta{margin-left:auto;color:var(--text-faint);font-size:11px;flex-shrink:0}.attachcard-mode{margin-left:auto;font-size:11px;flex-shrink:0;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint)}.attachcard-mode.inline{color:var(--green);border-color:#34d39959}.attachcard-mode.ref{color:var(--amber);border-color:#fbbf2466}.attachcard-mode.lines,.attachcard-mode.bridged{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.attachcard-bridgenote{font-size:11px;color:var(--text-faint);padding:6px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,transparent)}.attachcard-refnote{padding:8px 12px;border-top:1px dashed rgba(251,191,36,.3);font-size:11.5px;color:var(--text-faint)}.attachcard-content{margin:0;padding:10px 12px;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;background:#0003}.attachcard-image img{max-width:100%;max-height:320px;border-radius:0 0 8px 8px;display:block}.skillcard{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2);overflow:hidden}.skillcard-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left;transition:background .12s ease}.skillcard-head:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.skillcard-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:12px}.skillcard-name{font-family:var(--mono);font-weight:600;color:var(--text);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skillcard-path{flex:1;min-width:0;color:var(--text-faint);font-size:11px;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skillcard-action{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--text-faint);font-size:11.5px}.skillcard-action:hover{color:var(--text)}.skillcard-body{padding:10px 14px 12px;border-top:1px solid var(--border-soft);max-height:420px;overflow-y:auto;background:#00000026}.skillcard-body .markdown>:first-child{margin-top:0}.view-pane{flex:1;display:flex;min-width:0;min-height:0}.view-pane.hidden{display:none}.plugin-view{flex:1;overflow:auto;min-width:0}.view-switch .plugin-tab.broken{opacity:.45}.panel-drawer{display:contents}.panel-toggle{display:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080;animation:drawer-fade .2s ease}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.view-switch{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--bg-elev2);flex-shrink:0}.view-switch button{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-dim);font-size:12.5px;padding:4px 12px;cursor:pointer;transition:background .15s,color .15s}.view-switch button:hover{color:var(--text)}.view-switch button.active{background:var(--accent-soft);color:var(--accent)}.view-switch button+button{border-left:1px solid var(--border)}.terminal-view{flex:1;display:flex;min-height:0;min-width:0}.term-side{display:flex;flex-direction:column;width:250px;flex-shrink:0;min-height:0;background:var(--bg-elev)}.term-commands{border-right:1px solid var(--border)}.term-tabs-block{display:flex;flex-direction:column;min-height:0;flex:1 1 0;border-top:1px solid var(--border)}.term-tabs-block .panel-body{flex:1;min-height:0}.term-side-toggle{display:none}.term-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--term-bg);padding:10px 8px 8px}.term-xterm{flex:1;min-height:0}.term-xterm.hidden{display:none}.term-xterm .xterm{height:100%}.term-xterm .xterm .xterm-viewport{background-color:var(--term-bg)}.term-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-faint)}.term-empty-icon{font-size:34px;opacity:.5}.term-empty-title{font-size:15px;color:var(--text-dim)}.term-empty-sub{font-size:12px}.panel-header-actions{display:flex;align-items:center;gap:6px}.cmd-item{display:flex;align-items:center;gap:4px;padding:6px;border-radius:8px;margin-bottom:2px}.cmd-item:hover{background:var(--bg-elev2)}.cmd-run{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:none;border-radius:6px;background:var(--accent-soft);color:var(--accent);cursor:pointer}.cmd-run:hover{background:var(--accent);color:#fff}.cmd-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;text-align:left;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:1px 4px}.cmd-name{font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-command{font-family:var(--mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-cwd{font-size:10px;color:var(--text-faint);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-act{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .1s;font-size:11px}.cmd-item:hover .cmd-act{opacity:1}.cmd-act:hover{color:var(--text);background:var(--bg-elev)}.cmd-act.del:hover{color:var(--red)}.cmd-act.del.confirm{opacity:1;color:var(--red);background:var(--red-soft);border:1px solid rgba(248,113,113,.4);width:auto;padding:0 7px}.cmd-form{display:flex;flex-direction:column;gap:4px;padding:6px 4px}.cmd-form label{font-size:11px;color:var(--text-faint);margin-top:4px}.cmd-input{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-family:var(--mono);font-size:12px;padding:5px 8px;outline:none}.cmd-input:focus{border-color:var(--accent)}.cmd-hint{color:var(--text-faint);font-size:10.5px}.cmd-form-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.term-tab{display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:8px;margin-bottom:2px}.term-tab:hover{background:var(--bg-elev2)}.term-tab.active{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:3px 5px}.term-tab-main{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;text-align:left;padding:2px}.term-tab-main:hover,.term-tab.active .term-tab-main{color:var(--text)}.term-tab-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%}.term-tab-dot.run{background:var(--green);box-shadow:0 0 5px var(--green)}.term-tab-dot.exit{background:var(--text-faint)}.term-tab-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.term-tab-exit{color:var(--text-faint);font-size:11px}.term-tab-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .1s}.term-tab:hover .term-tab-close,.term-tab.active .term-tab-close{opacity:1}.term-tab-close:hover{color:var(--red);background:var(--red-soft)}.scm-view{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-elev)}.scm-header{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.scm-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.scm-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.scm-title svg{color:var(--accent)}.scm-view-tabs{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:2px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev2)}.scm-view-tabs button{border:none;border-radius:5px;background:transparent;color:var(--text-faint);font-size:12px;padding:4px 9px;cursor:pointer}.scm-view-tabs button:hover{color:var(--text)}.scm-view-tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.scm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scm-row .btn,.scm-row .scm-select,.scm-row .scm-commit-input,.scm-row .scm-branch-current{height:34px}.scm-branch-current{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:13px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:4px 10px;max-width:260px;overflow:hidden}.scm-branch-current svg{color:var(--accent);flex-shrink:0}.scm-upstream{color:var(--text-faint);font-size:12px;white-space:nowrap}.scm-select{flex:0 1 auto;min-width:120px;max-width:200px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-size:13px;padding:0 8px}.scm-select:focus{outline:none;border-color:var(--accent)}.scm-commit-input{flex:1;min-width:140px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-size:13px;padding:0 10px}.scm-commit-input:focus{outline:none;border-color:var(--accent)}.scm-commit-input::placeholder{color:var(--text-faint)}.scm-body{flex:1;display:flex;min-width:0;min-height:0}.scm-files,.scm-history{width:300px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-soft)}.scm-files-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--text-faint);border-bottom:1px solid var(--border-soft)}.scm-files-count{font-family:var(--mono);font-size:11px;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);border-radius:999px;padding:0 7px}.scm-files-list,.scm-history-list{flex:1;overflow-y:auto;min-height:0}.scm-commit{width:100%;display:flex;align-items:flex-start;gap:6px;padding:7px 10px 7px 8px;border:none;border-left:2px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer}.scm-commit:hover,.scm-commit.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-commit-graph{min-width:34px;max-width:48px;overflow:hidden;white-space:pre;font-family:var(--mono);font-size:12px;line-height:1.35;color:var(--accent)}.scm-commit-info{min-width:0;display:flex;flex-direction:column;gap:2px}.scm-commit-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.scm-commit-meta,.scm-commit-refs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:10.5px;color:var(--text-faint)}.scm-commit-refs{color:var(--green)}.scm-file{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:13px;cursor:pointer;border-left:2px solid transparent}.scm-file:hover{background:var(--accent-soft)}.scm-file.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-file-actions{display:none;margin-left:auto;gap:2px}.scm-file:hover .scm-file-actions{display:inline-flex}.scm-act{width:18px;height:18px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-elev2);color:var(--text-2);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.scm-act:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.scm-file-xy{display:inline-flex;align-items:center;justify-content:center;width:13px;height:18px;font-family:var(--mono);font-size:11px;font-weight:700;flex-shrink:0}.scm-file-xy.x{color:var(--green)}.scm-file-xy.y{color:var(--red)}.scm-file-xy.q{color:var(--amber)}.scm-file-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12.5px;color:var(--text)}.scm-file-stat{font-family:var(--mono);font-size:11px;flex-shrink:0}.scm-file-stat .add{color:var(--green)}.scm-file-stat .del{color:var(--red)}.scm-empty{padding:26px 16px;text-align:center;color:var(--text-faint);font-size:13px}.scm-diff{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.scm-diff-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-soft);font-family:var(--mono);font-size:12.5px;color:var(--text-dim);background:var(--bg-elev);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scm-diff-loading{color:var(--text-faint);font-size:11px;flex-shrink:0}.scm-diff-body{flex:1;overflow:auto;min-height:0;padding:6px 0 12px}.scm-diff-section{padding:8px 14px 4px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint)}.scm-diff-pre{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.scm-diff-line{padding:0 14px;white-space:pre-wrap;word-break:break-word;color:var(--text-dim)}.scm-diff-line.hdr{color:var(--text-faint)}.scm-diff-line.hunk{color:var(--accent);background:var(--accent-soft)}.scm-diff-line.add{color:var(--green);background:var(--green-soft)}.scm-diff-line.del{color:var(--red);background:var(--red-soft)}.scm-error{margin:10px 14px;padding:8px 12px;border:1px solid var(--red-soft);border-radius:8px;background:var(--red-soft);color:var(--red);font-size:12.5px}.scm-hint{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12px;color:var(--text-faint);border-top:1px solid var(--border-soft)}.scm-hint svg{flex-shrink:0}.scm-goto-term{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);font-size:12px;padding:3px 10px;cursor:pointer}.scm-goto-term:hover{color:var(--accent);border-color:var(--accent)}.scm-spin{animation:spin .8s linear infinite}@media(max-width:768px){.scm-files,.scm-history{width:200px}.scm-branch-current{max-width:150px}.scm-select{min-width:90px}}.statusbar{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:5px 16px;border-top:1px solid var(--border);background:var(--bg-elev);font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.ok{background:var(--green);box-shadow:0 0 5px var(--green)}.status-dot.busy{background:var(--amber)}.status-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim)}.status-sep{color:var(--border)}.ctx-bar{display:inline-block;width:46px;height:5px;border-radius:3px;background:var(--bg-elev2);border:1px solid var(--border-soft);overflow:hidden;vertical-align:middle}.ctx-bar-fill{display:block;height:100%;border-radius:2px;transition:width .3s ease}.ctx-bar.ok .ctx-bar-fill{background:var(--green)}.ctx-bar.mid .ctx-bar-fill{background:var(--amber)}.ctx-bar.warn .ctx-bar-fill{background:var(--red)}.status-item.working{color:var(--accent)}.working-spin{width:9px;height:9px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite;flex-shrink:0}.status-cwd{margin-left:auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;color:var(--text-faint);border:none;background:transparent;font:inherit;font-size:11px;cursor:pointer;padding:2px 4px;border-radius:4px}.status-cwd:hover{color:var(--text-dim);background:var(--bg-elev2)}.status-cwd-wrap{position:relative;margin-left:auto;max-width:46%;min-width:0;display:flex;align-items:center}.status-cwd-input{width:100%;border:1px solid var(--accent);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-family:var(--mono);font-size:11px;padding:3px 7px;outline:none}.status-completions{position:fixed;right:16px;bottom:40px;width:min(440px,calc(100vw - 32px));max-height:260px;overflow-y:auto;overflow-x:hidden;margin:0;padding:4px;list-style:none;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;box-shadow:0 -6px 24px #00000073;z-index:200}.status-queue{color:var(--amber)}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand-logo{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700;font-size:16px}.brand-name{font-weight:600;letter-spacing:.2px}.conn-dot{width:8px;height:8px;border-radius:50%;margin-left:6px}.conn-dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.conn-dot.busy{background:var(--amber)}.conn-dot.err{background:var(--red)}.conn-label{color:var(--text-faint);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;row-gap:6px}.bg-task-chip{position:relative}.bg-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;line-height:1}.dd-item .bg-task-badge{font-style:normal;margin-left:6px}.bg-task-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0000008c;z-index:400}.bg-task-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.bg-task-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.bg-task-count{font-style:normal;font-size:11px;font-weight:700;color:var(--amber);background:#ffc1071f;border-radius:9px;padding:1px 7px}.bg-task-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;color:var(--text-dim);font-size:13px}.bg-task-empty svg{font-size:26px;opacity:.5}.bg-task-empty small{font-size:11.5px;opacity:.7;text-align:center}.bg-task-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1;min-height:0}.bg-task-item{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border-subtle, var(--border))}.bg-task-item:last-child{border-bottom:none}.bg-task-icon{flex:none;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #4caf508c;font-size:0}.bg-task-info{flex:1;min-width:0}.bg-task-line1{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.bg-task-port{font-family:var(--mono, ui-monospace, monospace);font-weight:700;color:var(--accent)}.bg-task-name{font-size:11.5px;color:var(--text-dim);background:var(--bg-elev3, rgba(255, 255, 255, .06));border-radius:4px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bg-task-line2{display:flex;gap:12px;margin-top:2px;font-size:11px;color:var(--text-dim)}.bg-task-status{color:var(--amber, #fbbf24)}.plugin-settings-form{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2, rgba(255, 255, 255, .03))}.plugin-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 14px}.plugin-settings-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.plugin-settings-field input,.plugin-settings-field select{max-width:180px}.plugin-settings-actions{display:flex;gap:8px;justify-content:flex-end}.plugin-settings-save{color:var(--green)}.plugin-settings-reset{color:var(--text-dim)}.bg-task-cmd{display:flex;align-items:flex-start;gap:6px;width:100%;margin-top:4px;padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--bg-elev3, rgba(255, 255, 255, .04));color:var(--text-dim);font-size:11px;text-align:left;cursor:pointer}.bg-task-cmd svg{flex:none;margin-top:1px}.bg-task-cmd code{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono, ui-monospace, monospace);color:var(--text)}.bg-task-cmd.open code{white-space:pre-wrap;overflow-wrap:anywhere}.bg-task-stop{flex:none;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text);cursor:pointer;transition:all .15s}.bg-task-stop:hover:not(:disabled){border-color:var(--red);color:#fff;background:var(--red)}.bg-task-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--border)}.bg-task-stopall{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:1px solid var(--red);border-radius:7px;background:transparent;color:var(--red);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s}.bg-task-stopall:hover:not(:disabled){background:var(--red);color:#fff}.bg-task-stopall:disabled{opacity:.4;cursor:not-allowed}.gs-backdrop{align-items:flex-start;padding-top:10vh}.gs-modal{display:flex;flex-direction:column;width:min(640px,92vw);max-height:70vh;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev2, var(--bg-elev));box-shadow:0 18px 60px #00000073;overflow:hidden}.gs-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-faint)}.gs-input-row svg{flex:none}.gs-input-row input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:15px}.gs-close{flex:none;display:inline-flex;padding:4px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;border-radius:6px}.gs-close:hover{color:var(--text);background:var(--bg-elev3, rgba(255, 255, 255, .06))}.gs-results{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 10px}.gs-empty{padding:26px 12px;font-size:13px;color:var(--text-faint);text-align:center}.gs-section+.gs-section{margin-top:10px}.gs-section-head{display:flex;align-items:center;gap:6px;padding:6px 8px 4px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.gs-section-head em{font-style:normal;font-weight:600;color:var(--accent)}.gs-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer}.gs-item:hover:not(:disabled),.gs-item.active:not(:disabled){background:var(--bg-elev3, rgba(255, 255, 255, .06))}.gs-item:disabled{cursor:default;opacity:.55}.gs-item-title{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gs-item-meta{font-style:normal;font-size:11px;font-weight:500;color:var(--text-dim);background:var(--bg-elev3, rgba(255, 255, 255, .06));border-radius:4px;padding:1px 6px}.gs-item-sub{font-size:11.5px;color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gs-truncated{padding:5px 10px;font-size:11.5px;color:var(--amber, #e6b450)}.gs-foot{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint)}.topbar-desktop{display:flex;align-items:center;gap:8px;min-width:0}.topbar-more{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev2);color:var(--text);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip-model{max-width:220px;overflow:hidden;text-overflow:ellipsis}.chip-vision{color:var(--accent);font-size:11px;line-height:1}.chip-sub{color:var(--text-faint);font-size:11px}.chip.newchat{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.chip.newchat:hover{background:var(--accent-soft)}.chip.github{width:28px;height:28px;padding:0;justify-content:center;border-radius:50%;text-decoration:none;color:var(--text-dim)}.chip.github:hover{color:var(--text);border-color:var(--accent)}.chip.github svg{width:15px;height:15px}.dropdown{position:relative;display:inline-flex}.dd-caret{color:var(--text-faint);transition:transform .15s}.dd-caret.up{transform:rotate(180deg)}.dd-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;max-width:340px;max-height:420px;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000080;padding:6px;z-index:60}.dropdown.left .dd-menu{right:auto;left:0}@media(min-width:769px){.dropdown.dd-up .dd-menu{top:auto;bottom:calc(100% + 6px);max-height:min(360px,calc(100vh - 240px))}}.dropdown.fit .dd-menu{max-height:none;overflow:visible}.dd-header{padding:6px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.dd-loading{padding:10px;font-size:12px;color:var(--text-faint);text-align:center}.dd-model-scroll{max-height:min(300px,42vh);overflow-y:auto}.dd-footer{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:3px}.dd-menu.dd-menu-model{display:flex;flex-direction:column;overflow-y:hidden}.dd-menu.dd-menu-model .dd-model-scroll{flex:1 1 auto;min-height:0;max-height:none}.dd-menu.dd-menu-model .dd-footer{flex-shrink:0}.dd-footer .dd-refresh{border-top:none;margin-top:0}.dd-search-row{display:flex;align-items:center;gap:7px;margin:2px 8px 6px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev);color:var(--text-faint)}.dd-search-row:focus-within{border-color:var(--accent)}.dd-search-row svg{flex:none}.dd-search{flex:1;min-width:0;height:28px;border:none;outline:none;background:transparent;color:var(--text);font-size:12.5px}.dd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer}.dd-item:hover{background:var(--bg-elev);color:var(--text)}.dd-item:disabled{opacity:.45;cursor:not-allowed}.dd-item:disabled:hover{background:transparent;color:var(--text-dim)}.dd-item.active{background:var(--accent-soft);color:var(--text)}.dd-item.active:after{content:"✓";color:var(--accent);font-size:12px}.dd-model-cell{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dd-model-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.dd-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-model-provider{flex-shrink:0;font-size:11px;color:var(--text-faint);font-family:var(--mono)}.dd-model-badges{display:flex;flex-wrap:wrap;gap:5px}.dd-model-badge{font-size:10.5px;line-height:1.5;color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:0 6px;white-space:nowrap}.dd-refresh{width:100%;margin-top:4px;padding:6px;border:none;border-top:1px solid var(--border-soft);background:transparent;color:var(--text-faint);font-size:12px;cursor:pointer}.dd-refresh:hover{color:var(--accent)}.dd-refresh.dd-more-link{display:flex;align-items:center;gap:6px;text-decoration:none}.update-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);flex-shrink:0;box-shadow:0 0 0 2px #f59e0b40}.dd-update{display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px}.dd-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--text-dim)}.dd-row b{color:var(--text);font-family:var(--mono);font-weight:600}.dd-note{font-size:12px;line-height:1.5;padding:6px 10px;border-radius:6px;background:var(--bg-elev1);border:1px solid var(--border-soft);color:var(--text-dim)}.dd-note.ok{color:var(--green);border-color:#34d3994d}.dd-note.warn{color:var(--amber);border-color:#f59e0b59}.dd-note.err{color:var(--red);border-color:#f8717159}.dd-actions{display:flex;gap:6px;padding:0 2px 2px}.dd-actions .dd-refresh{margin-top:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev1)}.dd-refresh.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.dd-refresh.accent.armed{color:var(--amber);border-color:#f59e0b80}.protocol-banner{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:60;padding:6px 14px;border-radius:8px;background:#f59e0b1f;border:1px solid var(--amber);color:var(--amber);font-size:12px;white-space:nowrap}.notices{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.notice{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:min(760px,92vw);padding:10px 12px 10px 14px;border-radius:10px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-elev2);color:var(--text);font-size:13px;font-weight:600;line-height:1.5;text-align:left;box-shadow:0 10px 36px #0000008c;animation:notice-in .18s ease}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notice.paused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 44px #000000a6}.notice-icon{flex:none;font-size:15px;line-height:1}.notice-text{flex:1;min-width:0}.notice-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px}.notice-close:hover{background:#ffffff1f;color:var(--text)}.notice-error{border-color:#f871718c;border-left-color:#ef4444;color:#fca5a5;background:#401d23}.notice-error .notice-icon{color:#f87171}.notice-warning{border-color:#fbbf2480;border-left-color:#f59e0b;color:#fcd34d;background:#38251f}.notice-warning .notice-icon{color:#fbbf24}.notice-info{border-color:#60a5fa73;border-left-color:#3b82f6;color:#93c5fd;background:#1b2544}.notice-info .notice-icon{color:#60a5fa}.messages-wrap{flex:1;position:relative;min-height:0;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;padding:20px 0 12px;overflow-anchor:none}.msg-lazy-ph{max-width:860px;margin:0 auto}.msg{max-width:860px;margin:0 auto;padding:6px 20px 14px;scroll-margin-top:84px}.msg-meta{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.msg-role{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint)}.msg-model{font-size:11px;color:var(--accent);font-family:var(--mono)}.msg-customtype{font-size:11px;color:var(--amber)}.msg-time{font-size:11px;color:var(--text-faint);margin-left:auto}.search-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;max-width:min(480px,calc(100% - 32px));padding:5px 6px 5px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev2);box-shadow:0 8px 24px #00000059}.search-input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:200px;padding:4px 0}.search-input::placeholder{color:var(--text-faint)}.search-count{font-size:11px;color:var(--text-faint);white-space:nowrap;padding:0 6px;font-variant-numeric:tabular-nums}.search-count.empty{color:var(--red)}.search-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;border:none;background:transparent;color:var(--text-dim);cursor:pointer}.search-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.search-btn:disabled{opacity:.4;cursor:default}::highlight(msg-search){background-color:color-mix(in srgb,var(--amber) 28%,transparent)}::highlight(msg-search-active){background-color:color-mix(in srgb,var(--amber) 80%,transparent);color:#1a1d26}.msg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.msg-action{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-faint);font-size:11.5px;cursor:pointer;padding:3px 8px;border-radius:6px;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.msg:hover .msg-action,.msg-action:focus-visible{opacity:1}.msg-action:hover{color:var(--accent);background:var(--bg-elev2)}.msg-editor{position:relative;display:flex;flex-direction:column;gap:8px}.msg-editor-images{display:flex;flex-wrap:wrap;gap:6px}.msg-editor-img{position:relative;display:inline-flex;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-elev1)}.msg-editor-img img{width:100%;height:100%;object-fit:cover;display:block}.msg-editor-img-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;font-size:10px;line-height:1;color:#fff;background:#0000008c}.msg-editor-img-remove:hover{background:#dc2626d9}.msg-editor-img-remove svg{width:12px;height:12px}.msg-editor-img.file-chip{width:auto;height:auto;min-height:28px;padding:2px 22px 2px 6px;border-radius:6px;border:1px solid rgba(96,165,250,.45);background:#60a5fa1f;align-items:center}.msg-editor-file{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);max-width:260px}.msg-editor-file-icon{flex:none}.msg-editor-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-editor-img.file-chip .msg-editor-img-remove{top:3px;right:3px}.msg-editor-notice{font-size:11px;color:var(--amber, #f59e0b);padding:2px 2px 4px}.msg-editor.drag-over .msg-editor-input{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.msg-editor.drag-over:after{content:"📎";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;pointer-events:none;z-index:2}span.msg-editor-hint svg{vertical-align:-2px;margin-right:4px}.msg-editor-input{width:100%;min-height:48px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev1);color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.6;outline:none}.msg-editor-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.msg-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.msg-editor-hint{margin-right:auto;font-size:11px;color:var(--text-faint)}.chip.primary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip.primary:disabled{opacity:.45;cursor:not-allowed}.msg-collapsed{display:flex;align-items:center;gap:10px;width:100%;max-width:860px;margin:0 auto 2px;padding:7px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-elev1);color:var(--text-dim);font-size:12px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.msg-collapsed:hover{border-color:var(--border);background:var(--bg-elev2);color:var(--text)}.msg-collapsed-role{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-faint);min-width:52px}.msg-collapsed-role.role-user{color:var(--accent)}.msg-collapsed-role.role-assistant{color:var(--green)}.msg-collapsed-role.role-bashExecution,.msg-collapsed-role.role-toolResult{color:var(--amber)}.msg-collapsed-body{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.msg-collapsed-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim)}.msg-collapsed-chips{display:inline-flex;gap:4px;flex-shrink:0}.msg-collapsed-chip{font-size:10px;color:var(--text-faint);padding:1px 6px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.msg-collapsed-time{flex-shrink:0;font-size:10.5px;color:var(--text-faint)}.msg-collapsed-action{flex-shrink:0;display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-faint)}.msg-collapsed:hover .msg-collapsed-action{color:var(--accent)}.msg-collapse-btn{display:inline-flex;align-items:center;gap:3px;margin-left:auto;border:none;background:transparent;color:var(--text-faint);font-size:11px;cursor:pointer;padding:1px 6px;border-radius:5px}.msg-collapse-btn:hover{color:var(--accent);background:var(--bg-elev2)}.msg-text{color:var(--text)}.msg-text p{margin:6px 0}.msg-text p:first-child{margin-top:0}.msg-text p:last-child{margin-bottom:0}.msg-text ul,.msg-text ol{padding-left:22px;margin:6px 0}.msg-text li{margin:2px 0}.msg-text blockquote{margin:8px 0;padding:2px 14px;border-left:3px solid var(--accent);color:var(--text-dim)}.msg-text table{border-collapse:collapse;margin:8px 0}.msg-text th,.msg-text td{border:1px solid var(--border);padding:4px 10px}.msg-text a{color:var(--accent)}.msg-text code{font-family:var(--mono);font-size:12.5px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px}.codeblock{position:relative;margin:10px 0}.codeblock pre{background:var(--code-bg)!important;border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0}.codeblock code{background:transparent;border:none;padding:0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.mermaid-block{position:relative;margin:10px 0;padding:18px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 1px #ffffff0a inset,0 8px 20px #00000040;overflow-x:auto;display:flex;justify-content:center}.mermaid-svg{width:100%;display:flex;justify-content:center}.mermaid-svg svg{max-width:100%;height:auto}.mermaid-block-loading{width:100%;padding:4px 2px;color:var(--text-dim);font-size:12.5px;text-align:center;background:transparent;box-shadow:none}.mermaid-block-error{display:block;background:transparent;box-shadow:none;border-color:#ef444459}.mermaid-error-note{width:100%;padding:4px 2px;font-size:12.5px;text-align:left;color:#f87171}.mermaid-block-error .codeblock{margin:8px 0 0}.copy-btn{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity .15s}.codeblock:hover .copy-btn,.mermaid-block:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--text);border-color:var(--accent)}.trunc-note{margin-top:6px;font-size:11.5px;color:var(--text-faint);font-style:italic}.msg-image img{max-width:100%;max-height:420px;border-radius:8px;border:1px solid var(--border)}.thinking{margin:8px 0;border:1px solid var(--border-soft);border-radius:8px;background:#ffffff04}.thinking-toggle{display:flex;align-items:center;gap:7px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text-dim);font-size:12.5px;cursor:pointer;text-align:left}.thinking-toggle:hover{color:var(--text)}.thinking-icon{color:var(--accent)}.thinking.leaked .thinking-icon{color:var(--amber)}.thinking-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-body{padding:4px 14px 12px;color:var(--text-dim);font-style:italic;font-size:13px;white-space:pre-wrap;border-top:1px solid var(--border-soft)}.thinking.live .thinking-toggle{color:var(--text)}.thinking-live-label{display:inline-flex;align-items:center;gap:7px}.thinking-spinner{width:12px;height:12px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--accent-soft);border-top-color:var(--accent);animation:thinking-spin .7s linear infinite}@keyframes thinking-spin{to{transform:rotate(360deg)}}.thinking-wait{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);font-size:13px;padding:2px 0}.thinking-wait .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:stream-blink 1s steps(2,start) infinite}.stream-cursor{display:inline-block;width:2px;height:1em;margin-left:4px;vertical-align:text-bottom;border-radius:1px;background:var(--accent);animation:stream-blink 1s ease-in-out infinite}@keyframes stream-blink{0%,to{opacity:1}50%{opacity:.15}}.toolcall{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev);overflow:hidden}.toolcall-head{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px}.toolcall-icon{font-size:13px}.toolcall-name{font-family:var(--mono);font-weight:600;color:var(--text)}.toolcall-status{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint)}.toolcall.run .toolcall-status{color:var(--amber);border-color:#fbbf2466}.toolcall.ok .toolcall-status{color:var(--green);border-color:#34d39959}.toolcall.err .toolcall-status{color:var(--red);border-color:#f8717166}.toolcall-exit{font-style:normal;opacity:.85;margin-left:6px}.toolcall-exit:before{content:"·";margin-right:6px;opacity:.6}.toolcall.err{border-color:#f8717159}.toolcall-spacer{flex:1}.toolcall-kill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--red);background:var(--red-soft);color:var(--red);font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.toolcall-kill:hover{background:var(--red);color:#fff}.toolcall-copy,.toolcall-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:3px;border-radius:5px}.toolcall-copy:hover,.toolcall-toggle:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-body{border-top:1px solid var(--border-soft);padding:8px 12px 10px}.toolcall-args pre{margin:0;font-family:var(--mono);font-size:12px;color:var(--text-dim);white-space:pre;overflow:auto;max-height:200px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px}.termline{display:flex;align-items:center;gap:8px;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:12.5px}.termline-icon{color:var(--green);flex-shrink:0}.termline code{color:var(--code-fg);word-break:break-all}.termline-timeout{margin-left:auto;color:color-mix(in srgb,var(--code-fg) 55%,transparent);font-size:11px;flex-shrink:0}.toolcall-output{margin-top:8px}.toolcall-output-label{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin-bottom:4px}.toolcall-output-spacer{flex:1}.toolcall-md-toggle{border:none;background:transparent;color:var(--text-faint);text-transform:none;letter-spacing:normal;font-size:11px;cursor:pointer;padding:2px 6px;border-radius:5px}.toolcall-md-toggle:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-markdown{max-height:420px;overflow:auto;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:6px;padding:10px 14px}.toolcall-markdown .md{font-size:13px}.toolcall-code{max-height:420px;overflow:auto}.toolcall-zoom{position:relative;display:flex;flex-direction:column;width:100%;max-width:1040px;max-height:86vh;overflow:hidden;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c}.toolcall-zoom-head{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-elev);border-radius:12px 12px 0 0;font-size:13px}.toolcall-zoom-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.toolcall-zoom-close:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-zoom-body{flex:1;overflow:auto;padding:14px}.toolcall-expand{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer}.toolcall-expand svg{width:13px;height:13px}.toolcall-expand:hover{color:var(--accent);background:var(--accent-soft)}.toolcall-code .codeblock{margin:0}.toolcall-diff{max-height:420px;overflow:auto;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:6px 0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.toolcall-diff-line{display:flex;padding:0 10px;white-space:pre}.toolcall-diff-line.add{background:var(--green-soft)}.toolcall-diff-line.del{background:var(--red-soft)}.toolcall-diff-gutter{flex:none;width:3.5em;margin-right:10px;color:color-mix(in srgb,var(--code-fg) 55%,transparent);text-align:right;-webkit-user-select:none;user-select:none}.toolcall-diff-line.add .toolcall-diff-gutter{color:var(--green)}.toolcall-diff-line.del .toolcall-diff-gutter{color:var(--red)}.toolcall-diff-line .toolcall-diff-code{flex:1;min-width:0;color:var(--code-fg);background:transparent;padding:0}.toolcall-output pre{margin:0;max-height:320px;overflow:auto;background:var(--code-bg);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--code-fg);white-space:pre;word-break:normal}.toolcall.err .toolcall-output pre{color:var(--red)}.toolcall-body.expanded .toolcall-code,.toolcall-body.expanded .toolcall-diff,.toolcall-body.expanded .toolcall-markdown,.toolcall-body.expanded pre,.toolcall-body.toolcall-zoom-body .toolcall-code,.toolcall-body.toolcall-zoom-body .toolcall-diff,.toolcall-body.toolcall-zoom-body .toolcall-markdown,.toolcall-body.toolcall-zoom-body pre{max-height:none}.toolcall-waiting{margin-top:8px;font-size:12px;color:var(--text-faint)}.bashblock{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:#0b0d12;overflow:hidden}.bashblock-command{display:flex;align-items:center;gap:8px;padding:7px 12px;font-family:var(--mono);font-size:12.5px;border-bottom:1px solid var(--border-soft)}.bashblock-prompt{color:var(--green);font-weight:700}.bashblock-exit{margin-left:auto;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.bashblock-exit.ok{color:var(--green)}.bashblock-exit.err{color:var(--red)}.bashblock-output{margin:0;padding:10px 12px;font-family:var(--mono);font-size:12px;line-height:1.5;color:#c9d1d9;white-space:pre;overflow:auto;max-height:320px}.queued-msg{display:flex;justify-content:flex-end;padding:6px 16px}.queued-bubble{max-width:min(85%,720px);background:var(--accent-soft);border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent);border-radius:12px;padding:8px 12px;opacity:.75}.queued-tag{display:inline-block;font-size:10px;line-height:1.4;padding:1px 7px;border-radius:999px;margin-bottom:4px;font-weight:600}.queued-tag.steer{color:var(--amber);background:#fbbf2424}.queued-tag.follow{color:var(--text-dim);background:var(--bg-elev2)}.queued-text{white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--text)}.msg-user .msg-body{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:12px;padding:10px 14px}.pending-echo{opacity:.62}.pending-echo-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint)}.pending-echo-tag .thinking-spinner{width:10px;height:10px}.msg-error{color:var(--red);background:var(--red-soft);border:1px solid rgba(248,113,113,.35);border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:70px 20px 30px;color:var(--text-dim)}.empty-logo-wrap{position:relative;margin-bottom:20px}.empty-logo{width:68px;height:68px;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1 60%,#4f46e5);border-radius:20px;box-shadow:0 16px 44px color-mix(in srgb,var(--accent) 38%,transparent),inset 0 1px #ffffff38}.empty-logo-wrap:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:32px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 28.000000000000004%,transparent),transparent 70%);z-index:-1}.empty-title{margin:0 0 6px;color:var(--text);font-size:22px;font-weight:650;letter-spacing:.3px}.empty-sub{margin:0 0 16px;font-size:13px;color:var(--text-faint)}.empty-cwd{display:inline-flex;align-items:center;gap:7px;max-width:min(560px,80vw);padding:4px 12px;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-elev);font-size:11.5px}.empty-cwd-label{color:var(--text-faint);flex-shrink:0}.empty-cwd-path{color:var(--text-dim);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-examples{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;width:min(560px,90vw)}.empty-example{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.empty-example:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--accent-soft);color:var(--text);transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 16%,transparent)}.empty-example-icon{font-size:17px;flex-shrink:0}.empty-example-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streaming-wait,.boot-wait{text-align:center;color:var(--text-faint);padding:60px 20px;font-size:13px}.assistant-wait{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-faint)}.scroll-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);font-size:12px;cursor:pointer;box-shadow:0 6px 20px #0006}.scroll-bottom:hover{color:var(--text);border-color:var(--accent)}.qn-rail{position:absolute;top:10px;bottom:10px;right:14px;width:24px;z-index:15;border-radius:12px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--rail-gap, 27px)}.qn-rail:before{content:"";position:absolute;top:0;bottom:0;right:100%;width:260px;pointer-events:none}.qn-rail:hover:before{pointer-events:auto}.qn-bar{position:relative;flex-shrink:0;width:16px;height:3px;border:none;border-radius:2px;background:#ffffff2e;cursor:pointer;padding:0;transition:background .12s}.qn-bar:hover{background:#ffffff61}.qn-bar.active{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 65%,transparent)}.qn-bar-text{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:210px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:3px 9px;pointer-events:auto;visibility:hidden;opacity:0;transition:opacity .15s ease,visibility 0s}.qn-rail:hover .qn-bar-text{visibility:visible;opacity:1}.qn-rail:not(:hover) .qn-bar-text{transition:opacity .15s ease,visibility 0s}.qn-bar:hover .qn-bar-text{color:var(--text);border-color:var(--accent)}.qn-bar.active .qn-bar-text{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.qn-rail.many .qn-bar-text{display:none}.qn-list{position:absolute;right:calc(100% + 10px);top:0;bottom:0;width:230px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:6px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px #00000073;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .15s ease,visibility 0s}.qn-rail.many:hover .qn-list{pointer-events:auto;visibility:visible;opacity:1}.qn-rail.many:not(:hover) .qn-list{transition:opacity .15s ease,visibility 0s}.qn-list-item{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:26px;padding:3px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:11.5px;line-height:1.3;text-align:left;cursor:pointer;transition:background .12s,color .12s}.qn-list-item:hover{background:var(--bg-elev);color:var(--text)}.qn-list-item.active{background:color-mix(in srgb,var(--accent) 30%,transparent);color:#fff}.qn-list-idx{flex-shrink:0;min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:5px;background:#00000059;color:var(--text-faint);font-size:10px;font-weight:700;font-family:var(--mono)}.qn-list-item.active .qn-list-idx{background:var(--accent);color:#fff}.qn-list-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qn-tag{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;align-self:center;margin-left:auto;padding:3px 8px 3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-faint);font-family:var(--mono);font-size:10px;line-height:1;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.qn-tag-bar{width:16px;height:3px;border-radius:2px;background:#ffffff38;transition:background .12s}.qn-tag:hover{background:var(--bg-elev2);border-color:var(--accent);color:var(--text)}.qn-tag:hover .qn-tag-bar{background:var(--accent)}.qn-tag.active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.qn-tag.active .qn-tag-bar{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 65%,transparent)}@keyframes qn-flash{0%{background-color:color-mix(in srgb,var(--accent) 32%,transparent)}to{background-color:transparent}}.msg-flash{border-radius:8px;animation:qn-flash 1.6s ease-out}@media(max-width:640px){.qn-rail{display:none}}.goalbar{max-width:860px;margin:0 auto 8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev1);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.goalbar-row{display:flex;align-items:center;gap:8px}.goalbar-icon{color:var(--amber);display:inline-flex;align-items:center;font-size:15px;flex-shrink:0}.goalbar-spin{display:inline-block;animation:goalbar-spin 1s linear infinite}@keyframes goalbar-spin{to{transform:rotate(360deg)}}.goalbar-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;padding:4px 2px}.goalbar-input::placeholder{color:var(--text-dim)}.goalbar-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;flex-shrink:0}.goalbar-btn:disabled{opacity:.45;cursor:default}.goalbar-btn.wizard{background:var(--amber)}.goalbar-active.wizard{border-color:var(--amber)}.msg-goal-wizard.msg-custom{border-left:3px solid var(--amber)}.goalbar-icon-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;padding:4px;border-radius:6px;font-size:15px;flex-shrink:0}.goalbar-icon-btn:hover{color:var(--text);background:var(--bg-elev2)}.goalbar-opts{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-dim)}.goalbar-opt{cursor:pointer;padding:2px 6px;border-radius:6px}.goalbar-opt:hover{background:var(--bg-elev2)}.goalbar-opt b{color:var(--text);font-weight:600}.goalbar-round{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px}.goalbar-round input{width:54px;padding:3px 6px;font-size:12px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;outline:none;text-align:center}.goalbar-round input:focus{border-color:var(--accent)}.goalbar-round input::placeholder{color:var(--text-faint)}.goalbar-lock-hint{color:var(--text-dim)}.goalbar-active{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--bg-elev1))}.goalbar-active.reviewing{border-color:var(--green)}.goalbar-active-row{display:flex;align-items:center;gap:10px;font-size:13px}.goalbar-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);flex:1;min-width:0}.goalbar-chip{flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-elev2);color:var(--text-dim);white-space:nowrap}.goalbar-chip.reviewing,.goalbar-chip.pass{background:var(--green);color:#fff}.goalbar-chip.fail{background:var(--red);color:#fff}.goalbar-detail{color:var(--text-dim);font-size:12px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30%}.goalbar-x{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:inline-flex;border-radius:6px;flex-shrink:0}.goalbar-x:disabled{opacity:.4;cursor:default}.goalbar-x:hover:not(:disabled){color:var(--red);background:var(--bg-elev2)}.goalbar-collapsed{border:none;background:transparent;padding:0;align-items:flex-start}.goalbar-hint{background:transparent;border:none;color:var(--text-dim);font-size:12px;padding:4px 10px;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;gap:7px;border:1px dashed var(--border);background:var(--bg-elev1);transition:border-color .15s,color .15s}.goalbar-hint svg{color:var(--amber)}.goalbar-hint:hover{color:var(--text);border-color:var(--amber);border-style:solid}.goalbar-hint span{white-space:nowrap}.msg-goal-review{border-left:3px solid var(--amber)}.msg-goal-review.msg-custom{background:transparent}.inputbar{flex-shrink:0;padding:12px 20px 14px;position:relative}.queue-hint{max-width:860px;margin:0 auto 8px;display:flex;gap:14px;font-size:12px;color:var(--amber)}.inputbox{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:8px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:16px;padding:10px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 1px #ffffff0a,0 4px 18px #00000047}.inputbox-row{display:flex;align-items:flex-end;gap:10px;min-width:0}.input-tools{display:none}.inputbox:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:inset 0 1px #ffffff0a,0 0 0 3px var(--accent-soft),0 6px 22px #00000052}.inputbox textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:var(--sans);font-size:14.5px;line-height:1.6;max-height:220px;padding:6px 2px;caret-color:var(--accent);overflow:hidden}.inputbox textarea::placeholder{color:var(--text-faint)}.inputbox textarea:disabled{opacity:.6}.inputbox-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.4;cursor:default}.inputbox .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s,filter .18s;flex-shrink:0}.inputbox .btn svg{width:17px;height:17px}.inputbox .btn:disabled{opacity:.4;cursor:default}.inputbox .btn.attach-img{border:none;color:var(--text-faint)}.inputbox .btn.attach-img:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.inputbox .btn.send{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 2px 10px #3b82f659}.inputbox .btn.send:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .btn.stop{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 2px 10px #3b82f659}.inputbox .btn.stop:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .btn.supplement{width:auto;border-radius:999px;padding:0 16px;gap:5px;font-size:13px;border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.inputbox .btn.supplement:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.slash-menu{position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);width:min(860px,calc(100% - 40px));max-height:min(320px,50vh);overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 -6px 24px #00000059,0 2px 12px #00000040;z-index:60;padding:6px}.slash-menu-hint{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 8px;font-size:11.5px;color:var(--text-faint);border-bottom:1px dashed var(--border);margin-bottom:6px}.slash-menu-close{cursor:pointer;opacity:.7}.slash-menu-close:hover{opacity:1}.slash-item{display:flex;align-items:baseline;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:9px;background:transparent;color:var(--text);font-family:var(--sans);font-size:13.5px;text-align:left;cursor:pointer}.slash-item.active{background:var(--accent-soft)}.slash-name{font-family:var(--mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.slash-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:12.5px}.slash-hint{color:var(--text-faint);font-family:var(--mono);font-size:11.5px;margin-left:6px}.slash-source{flex-shrink:0;font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);white-space:nowrap}.slash-source.builtin{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.slash-source.extension{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.slash-source.prompt{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.slash-source.skill{color:#5eb3ff;border-color:color-mix(in srgb,#5eb3ff 45%,transparent)}.slash-source.plugin{color:#b58cff;border-color:color-mix(in srgb,#b58cff 45%,transparent)}.slash-help{max-width:860px;width:100%;max-height:min(560px,80vh);display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 60px #00000080;overflow:hidden}.slash-help-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:15px;font-weight:600}.slash-help-body{overflow-y:auto;padding:8px 12px 14px}.slash-help-row{display:flex;align-items:baseline;gap:10px;padding:7px 8px;border-radius:8px}.slash-help-row:hover{background:var(--bg-elev1)}.slash-help-cmd{font-family:var(--mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.slash-help-desc{flex:1;color:var(--text-dim);font-size:13px}.slash-help-empty{padding:24px;text-align:center;color:var(--text-faint)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-faint) 55%,transparent);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-faint) 80%,transparent)}::-webkit-scrollbar-track{background:transparent}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-faint) 55%,transparent) transparent}@media(max-width:640px){.chip-model{max-width:120px}.brand-name,.conn-label{display:none}}.dialog-inline{display:flex;flex-direction:column;gap:10px;width:min(100% - 40px,860px);margin:0 auto 8px;max-height:45vh;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:10px;box-shadow:0 8px 24px #00000059;padding:12px 14px;animation:dialog-slide-up .18s ease-out}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dialog-head{display:flex;align-items:center;gap:8px;min-width:0}.dialog-badge{flex-shrink:0;font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 8px;white-space:nowrap}.dialog-title{flex:1;font-size:13px;font-weight:700;color:var(--text);white-space:pre-wrap;word-break:break-word}.dialog-dismiss{flex-shrink:0;margin-left:auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:6px}.dialog-dismiss:hover{color:var(--text);background:var(--bg-elev)}.dialog-options{display:flex;flex-direction:column;gap:8px}.dialog-option{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev);color:var(--text);padding:9px 12px;font-size:13px;line-height:1.5;cursor:pointer;white-space:pre-wrap;word-break:break-word;transition:border-color .12s,background .12s}.dialog-option:hover,.dialog-option.sel{border-color:var(--accent);background:var(--accent-soft)}.dialog-hint{color:var(--text-faint);font-size:13px}.dialog-body{font-size:13px;color:var(--text-dim);white-space:pre-wrap;word-break:break-word}.dialog-body p{margin:0 0 8px}.dialog-input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;padding:9px 12px;outline:none}.dialog-input:focus{border-color:var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#0405089e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:24px}.modal{position:relative;display:flex;flex-direction:column;gap:14px;width:100%;max-width:460px;max-height:84vh;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c;padding:20px 22px}.model-modal{max-width:640px}.settings-modal{max-width:760px;height:min(74vh,720px);overflow-y:hidden}.settings-modal .modal-head,.settings-modal .modal-actions,.settings-modal>.modal-close{flex-shrink:0}.settings-modal .modal-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.settings-layout{flex:1 1 auto;min-height:0;display:flex;gap:12px;margin-top:2px}.settings-rail{flex:none;width:156px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:2px}.settings-tab{display:flex;align-items:center;gap:8px;width:100%;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:13px;padding:7px 9px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.settings-tab:hover{background:var(--bg-elev);color:var(--text)}.settings-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.settings-tab-icon{display:inline-flex;flex:none;font-size:13px}.settings-tab-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-tab .set-count{margin-left:auto;flex:none}@media(max-width:640px){.settings-rail{width:42px;padding:2px}.settings-tab{justify-content:center;padding:7px 4px}.settings-tab-label,.settings-tab .set-count{display:none}}.set-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:10px}.set-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text)}.set-section-icon{color:var(--accent);font-size:14px}.set-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:999px;padding:1px 8px}.set-mode-row{display:flex;align-items:center;gap:10px}.set-field-label{font-size:12px;color:var(--text-dim)}.set-select{flex:1;max-width:160px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 8px;font-size:13px;outline:none}.set-select:focus{border-color:var(--accent)}.set-prompt-input{width:100%;box-sizing:border-box;resize:vertical;min-height:140px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:13px;font-family:inherit;line-height:1.6;outline:none}.set-prompt-input:focus{border-color:var(--accent)}.set-view-prompt-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:12px;padding:2px 0;cursor:pointer}.set-view-prompt-btn:hover{text-decoration:underline}.set-prompt-view{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg-elev2)}.set-prompt-view-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.set-prompt-view-text{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.55;font-family:var(--mono, ui-monospace, monospace);color:var(--text);-webkit-user-select:text;user-select:text}.set-hint{margin:0;font-size:12px;color:var(--text-dim);line-height:1.5}.set-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;margin-left:6px;border:1px solid var(--border);border-radius:50%;font-size:10px;line-height:1;color:var(--text-dim);cursor:help;-webkit-user-select:none;user-select:none}.set-tip:hover,.set-tip:focus-visible{color:var(--text);border-color:var(--text-dim);outline:none}.set-tip-bubble{display:none;position:absolute;left:-8px;top:calc(100% + 8px);width:max-content;max-width:min(320px,72vw);padding:8px 11px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 22px #00000059;color:var(--text);font-size:12px;line-height:1.55;white-space:normal;text-align:left;z-index:60;pointer-events:none}.set-tip:hover .set-tip-bubble,.set-tip:focus-visible .set-tip-bubble{display:block}.set-tip.flip .set-tip-bubble{left:auto;right:-8px}.set-tip-line{display:flex;align-items:center;min-height:18px}.set-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.set-row{display:flex;align-items:center;gap:10px;padding:7px 9px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:8px}.set-row-info{flex:1;min-width:0}.set-row-name{font-size:13px;color:var(--text);word-break:break-all}.set-row-desc{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-uninstall{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s}.set-uninstall:hover{color:var(--red);border-color:var(--red)}.set-uninstall.confirm{color:var(--red);border-color:var(--red);font-weight:600}.set-switch{flex:none;position:relative;width:36px;height:20px;border:none;border-radius:999px;background:var(--border);cursor:pointer;transition:background .15s;padding:0}.set-switch.on{background:var(--accent)}.set-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.set-switch.on .set-switch-knob{left:18px}.set-preset-save{display:flex;align-items:center;width:100%;gap:8px}.set-input{flex:1;min-width:0;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 12px;font-size:13px;outline:none}.set-save-btn{display:inline-flex;align-items:center;gap:6px;flex:none;padding:9px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;background:transparent;color:var(--accent);font-size:13px;cursor:pointer;white-space:nowrap}.set-save-btn:hover:not(:disabled){background:var(--bg-elev2)}.set-save-btn:disabled{opacity:.45;cursor:not-allowed}.set-input:focus{border-color:var(--accent)}.set-row-actions{display:flex;align-items:center;gap:6px;flex:none}.set-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border-soft);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.set-icon-btn:hover{color:var(--text);background:var(--bg-elev)}.set-icon-btn.danger:hover{color:var(--red)}.set-empty{margin:0;font-size:12px;color:var(--text-dim)}.modal-close{position:sticky;top:12px;align-self:flex-end;margin-bottom:-42px;z-index:3;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.modal-close:hover{color:var(--text);background:var(--bg-elev)}.modal-head{display:flex;align-items:center;gap:10px}.modal-head-icon{color:var(--accent);font-size:18px}.modal-head h2{font-size:16px;margin:0}.modal-desc{margin:0;color:var(--text-dim);font-size:13px;line-height:1.6}.modal-desc code{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.setup-actions{display:flex;gap:10px;margin-top:6px}.setup-key-form{display:flex;flex-direction:column;gap:12px}.setup-done{color:var(--text);font-size:13px;line-height:1.6}.setup-failed{display:flex;flex-direction:column;gap:10px}.setup-detail{margin:0;max-height:140px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;font-size:12px;color:#fca5a5}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:12px;color:var(--text-dim)}.field-label em{font-style:normal;opacity:.7}.field input,.field select{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.field.check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text)}.field-hint{font-size:12px;color:var(--text-dim)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-section-title{font-size:12px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.model-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px}.model-section-head .form-section-title{margin:0}.model-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fetch-msg{font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fetch-msg.ok{color:var(--green)}.fetch-msg.err{color:var(--red)}.section-hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.75}.auth-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;font-size:11px;color:#6ee7a0;background:#34d3991f;border:1px solid rgba(52,211,153,.25);vertical-align:1px}.auth-badge.dim{color:var(--text-dim);background:var(--bg-elev);border-color:var(--border)}.key-input{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 9px;font-size:12.5px;outline:none;width:190px}.key-input:focus{border-color:var(--accent)}.btn.sm{padding:6px 10px;font-size:12px}.provider-list{display:flex;flex-direction:column;gap:8px}.provider-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px}.provider-info{display:flex;flex-direction:column;gap:2px;min-width:0}.provider-name{font-size:13.5px;font-weight:600;color:var(--text)}.provider-sub{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.iconbtn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.iconbtn:hover{color:var(--text);background:var(--bg-elev)}.btn.sm.danger{color:var(--red);border-color:var(--red)}.btn.sm.danger:hover{background:var(--red);color:#fff}.iconbtn.danger{color:#fca5a5}.iconbtn.danger:hover{background:var(--red-soft)}.model-row{display:grid;grid-template-columns:1.4fr 1fr 110px auto 88px 88px 28px;gap:8px;align-items:center;margin-bottom:8px}.model-row input,.model-row select{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12.5px;outline:none;min-width:0}.model-row input:focus,.model-row select:focus{border-color:var(--accent)}.model-row .check{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);white-space:nowrap}@media(max-width:640px){.form-grid,.model-row{grid-template-columns:1fr}}.sound-menu{display:flex;flex-direction:column;gap:2px;width:300px}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .12s}.sound-row:hover{background:var(--bg-elev)}.sound-row.disabled{opacity:.45;pointer-events:none}.sound-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.sound-label{display:flex;align-items:center;gap:8px;min-width:0}.sound-master .sound-name{font-weight:700}.sound-icon{color:var(--accent);flex-shrink:0}.sound-name{font-size:13px;color:var(--text)}.sound-desc{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sound-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.sound-preview{border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);font-size:11px;padding:2px 8px;cursor:pointer;transition:border-color .12s,color .12s}.sound-preview:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.sound-preview:disabled{opacity:.4;cursor:default}.sound-volume{display:flex;align-items:center;gap:10px;padding:8px 10px}.sound-volume.disabled{opacity:.45;pointer-events:none}.sound-volume input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer}.sound-vol-num{font-size:11px;color:var(--text-faint);min-width:34px;text-align:right}.fp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#0405089e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:28px}.fp-overlay.fullscreen{padding:0}.fp{display:flex;flex-direction:column;width:100%;max-width:1120px;height:min(88vh,880px);background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c;overflow:hidden}.fp.fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;border-left:0;border-right:0}.fp-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-soft);flex-shrink:0;min-width:0}.fp-name{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}.fp-path{font-family:var(--mono);font-size:11px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.fp-meta{font-size:11px;color:var(--text-faint);flex-shrink:0;white-space:nowrap}.fp-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.fp-attach{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);cursor:pointer}.fp-attach.inline:hover{background:var(--accent);border-color:var(--accent);color:#fff}.fp-attach.ref:hover{background:var(--amber);border-color:var(--amber);color:#1a1a1a}.fp-attach.wrap:hover,.fp-attach.wrap.on,.fp-attach.edit:hover,.fp-attach.edit.on,.fp-attach.zoom-in:hover,.fp-attach.zoom-out:hover,.fp-attach.full:hover,.fp-attach.full.on{background:var(--accent);border-color:var(--accent);color:#fff}.fp-attach:disabled{opacity:.45;cursor:not-allowed}.fp-attach:disabled:hover{background:var(--bg-elev);border-color:var(--border);color:var(--text-dim)}.fp-attach:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.fp-attach:hover:after{opacity:1}.fp-zoom{display:inline-flex;align-items:center;gap:4px}.fp-zoom-val{min-width:42px;height:26px;padding:0 4px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);font-size:10.5px;line-height:1;text-align:center;cursor:pointer}.fp-zoom-val:hover{border-color:var(--accent);color:var(--text)}.fp-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;margin-left:2px}.fp-close:hover{color:var(--red);border-color:var(--red)}.fp-notice{padding:7px 14px;font-size:11.5px;color:var(--amber);background:#fbbf2414;border-bottom:1px solid var(--border-soft);flex-shrink:0}.fp-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:13px;padding:40px}.fp-hex-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.fp-hex{flex:1;overflow:auto;margin:0;padding:12px 14px;background:#00000038;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(12px * var(--fp-zoom, 1));line-height:1.55;color:var(--text-dim);white-space:pre;-webkit-user-select:text;user-select:text}.fp-code{flex:1;overflow:auto;background:var(--code-bg);font-family:var(--mono);font-size:calc(12px * var(--fp-zoom, 1));line-height:1.6;padding:6px 0;user-select:none;-webkit-user-select:none}.fp-markdown{flex:1;min-width:0;min-height:0;overflow:auto;padding:22px clamp(18px,4vw,48px) 34px;background:radial-gradient(circle at 10% 0%,var(--accent-soft),transparent 34%),var(--bg);color:var(--text);font-size:14px;line-height:1.8;word-break:break-word;overflow-wrap:anywhere}.fp-markdown-zoom{zoom:var(--fp-zoom, 1)}.fp-markdown-zoom>.md{width:100%;max-width:860px;min-width:0;margin:0 auto}.fp.fullscreen .fp-markdown-zoom>.md{max-width:none}.fp-markdown h1,.fp-markdown h2,.fp-markdown h3,.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{position:relative;margin:1.35em 0 .55em;color:var(--text);font-weight:750;line-height:1.28;letter-spacing:-.015em}.fp-markdown h1{margin-top:0;padding-bottom:.42em;border-bottom:1px solid var(--border);font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}.fp-markdown h2{padding-bottom:.28em;border-bottom:1px solid var(--border-soft);font-size:clamp(19px,2.2vw,25px)}.fp-markdown h3{color:var(--accent);font-size:19px}.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{font-size:16px}.fp-markdown p{margin:.8em 0;line-height:1.85}.fp-markdown p:first-child{margin-top:0}.fp-markdown p:last-child{margin-bottom:0}.fp-markdown strong{color:var(--text);font-weight:720}.fp-markdown em{color:var(--accent)}.fp-markdown del{color:var(--text-faint)}.fp-markdown a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px;transition:color .12s,text-decoration-color .12s}.fp-markdown a:hover{color:var(--text);text-decoration-color:currentColor}.fp-markdown ul,.fp-markdown ol{margin:.8em 0;padding-left:1.8em}.fp-markdown li{margin:.28em 0;padding-left:.2em}.fp-markdown li::marker{color:var(--accent);font-weight:700}.fp-markdown li>p{margin:.35em 0}.fp-markdown blockquote{margin:1.1em 0;padding:.7em 1.1em;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;background:var(--accent-soft);color:var(--text-dim)}.fp-markdown blockquote p:last-child{margin-bottom:0}.fp-markdown hr{margin:1.8em 0;border:0;border-top:1px solid var(--border)}.fp-markdown table{display:block;width:100%;max-width:100%;overflow-x:auto;margin:1.15em 0;border-collapse:collapse;border-spacing:0;font-size:13px}.fp-markdown thead{background:var(--accent-soft)}.fp-markdown th,.fp-markdown td{min-width:90px;padding:8px 12px;border:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.55}.fp-markdown th{color:var(--text);font-weight:700;white-space:nowrap}.fp-markdown tbody tr:nth-child(2n){background:var(--bg-elev2)}.fp-markdown tbody tr:hover{background:var(--accent-soft)}.fp-markdown code{font-family:var(--mono);font-size:.88em;word-break:break-word}.fp-markdown :not(pre)>code{padding:.16em .42em;border:1px solid var(--border-soft);border-radius:5px;background:var(--accent-soft);color:var(--accent)}.fp-markdown .codeblock{max-width:100%;min-width:0;margin:1.1em 0}.fp-markdown .codeblock pre{max-width:100%;min-width:0;padding:14px 16px;border-color:var(--border);border-radius:10px;font-size:12.5px;line-height:1.65}.fp-markdown .codeblock pre code{white-space:pre;word-break:normal}.fp-markdown .mermaid-block{max-width:100%;min-width:0;margin:1.1em 0;padding:18px;border-radius:10px}.fp-markdown img{display:block;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:min(62vh,680px);margin:1.15em auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);box-shadow:0 10px 28px #00000038;object-fit:contain}.fp-markdown figcaption{margin-top:-.7em;color:var(--text-faint);font-size:12px;font-style:italic;text-align:center}.fp-markdown input[type=checkbox]{margin-right:.45em;accent-color:var(--accent)}.fp-markdown kbd{padding:.12em .45em;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--bg-elev2);font-family:var(--mono);font-size:.82em;color:var(--text-dim)}.fp-editor{flex:1;min-height:0;width:100%;resize:none;border:none;outline:none;padding:12px 14px;background:#00000038;color:var(--text);font-family:var(--mono);font-size:calc(12px * var(--fp-zoom, 1));line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.fp-editor.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:auto}.fp-media-wrap{flex:1;min-width:0;min-height:0;overflow:auto;background:#00000038;display:flex;align-items:center;justify-content:center;padding:12px}.fp-media{display:block;width:auto;min-width:0;max-width:100%;max-height:100%;border-radius:4px;object-fit:contain}.fp-line{display:flex;gap:0;padding-right:16px;cursor:pointer}.fp-line:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.fp-line.sel{background:color-mix(in srgb,var(--accent) 22%,transparent)}.fp-code.dragging .fp-line.sel{background:color-mix(in srgb,var(--accent) 30%,transparent)}.fp-num{flex-shrink:0;width:52px;padding-right:12px;text-align:right;color:var(--text-faint);background:transparent;border-right:1px solid var(--border-soft);margin-right:14px;user-select:none;-webkit-user-select:none}.fp-code-text{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--code-fg)}.fp-code-text.hljs{background:transparent;padding:0}.fp-code.no-wrap .fp-code-text{white-space:pre;overflow-wrap:normal}.fp-line.sel .fp-code-text{color:var(--term-fg)}.fp-lines-note{padding:8px 16px 6px;font-size:11px;color:var(--text-faint)}.fp-foot{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border-soft);flex-shrink:0;background:var(--bg-elev)}.fp-hint{flex:1;min-width:0;font-size:12px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.fp-actions .btn{display:inline-flex;align-items:center;gap:5px}@media(max-width:768px){.resize-handle,.topbar-desktop{display:none}.topbar-more{display:inline-flex}.topbar{padding:8px 10px;gap:8px;flex-wrap:nowrap}.brand-name,.conn-label,.brand-logo,.brand .conn-dot{display:none}.chip>span:not(.update-dot){display:none}.input-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap}.input-tools-left,.input-tools-right{display:flex;align-items:center;gap:6px;min-width:0}.input-tools-right{flex-shrink:0}.inputbox-row .attach-img,.inputbox-row .inputbox-actions{display:none}.input-tools .chip>span:not(.update-dot){display:inline}.input-tools .chip-model{max-width:80px}.input-tools .chip{padding:5px 8px;flex-shrink:1;min-width:0}.input-tools .chip .chip-sub,.input-tools .chip .chip-model{overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-actions{gap:6px;flex-wrap:wrap;row-gap:6px}.dropdown .dd-menu{position:fixed;left:12px;right:12px;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);max-width:none;max-height:55vh;z-index:90}.dropdown.left .dd-menu{left:12px;right:12px}.sound-menu{width:100%}.chip{padding:6px 9px}.view-switch button{padding:5px 10px}.panel-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--bg-elev2);color:var(--text-dim);font-size:15px;cursor:pointer;flex-shrink:0}.panel-toggle:active{background:var(--accent-soft);color:var(--accent)}.file-item .file-attach{display:inline-flex}.file-attach:after,.file-attach:before{display:none}.panel-drawer{display:block;position:fixed;top:0;bottom:0;z-index:60;width:min(300px,86vw);background:var(--bg-elev);transition:transform .25s ease}.panel-drawer.drawer-left{left:0;border-right:1px solid var(--border);box-shadow:8px 0 30px #00000059;transform:translate(-105%)}.panel-drawer.drawer-right{right:0;border-left:1px solid var(--border);box-shadow:-8px 0 30px #00000059;transform:translate(105%)}.panel-drawer.open{transform:translate(0)}.panel-drawer .panel{width:100%;height:100%;border:none}.term-main{position:relative;padding:54px 8px 8px}.term-commands{position:fixed;left:0;top:0;bottom:0;z-index:60;width:min(300px,86vw);transform:translate(-105%);transition:transform .25s ease;box-shadow:8px 0 30px #00000059;border-right:1px solid var(--border)}.term-commands.open{transform:translate(0)}.term-side-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;left:10px;z-index:20;width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg-elev2);color:var(--text-dim);font-size:15px;cursor:pointer}.term-side-toggle:active{background:var(--accent-soft);color:var(--accent)}.msg{padding:6px 14px 12px}.inputbar{padding:10px 10px 12px}.inputbox{padding:8px 8px 8px 10px;gap:6px}.inputbox textarea{font-size:16px}.inputbox .btn{width:40px;height:40px}.attach-chip{max-width:78vw}.modal-backdrop,.fp-overlay{padding:10px;align-items:flex-end}.dialog-inline{width:calc(100% - 20px);max-height:55vh}.modal,.fp{width:100%;max-width:100%;max-height:94vh;border-radius:14px}.fp{height:92vh}.fp-markdown{padding:16px 14px 24px;font-size:13.5px}.fp-markdown img{max-height:50vh}.statusbar{flex-wrap:nowrap;padding:6px 10px;font-size:10.5px}.status-dot,.status-sep,.status-item:not(.status-ctx):not(.status-cwd){display:none}.status-ctx{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-cwd-wrap{flex:1;min-width:0;margin-left:auto}.status-cwd-input{font-size:12px}}.codeblock pre,.termline{border-radius:14px;border-color:#0f172a1f;box-shadow:0 12px 28px #0f172a1a}.toolcall-output pre,.toolcall-diff{border-radius:14px;box-shadow:0 12px 28px #0f172a1a}.fp-markdown h1,.fp-markdown h2,.fp-markdown h3{letter-spacing:-.02em}.toolcall-status{border:none;font-weight:700;letter-spacing:.2px;color:#fff;background:var(--text-faint)}.toolcall.run .toolcall-status{color:#fff;background:var(--amber)}.toolcall.ok .toolcall-status{color:#fff;background:var(--green)}.toolcall.err .toolcall-status{color:#fff;background:var(--red)}.btn.primary{border-radius:12px;font-weight:700;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.inputbox .btn.send,.inputbox .btn.stop{background:var(--accent);border-color:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.inputbox .btn.send:hover:not(:disabled),.inputbox .btn.stop:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black);border-color:color-mix(in srgb,var(--accent) 85%,black);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 45%,transparent)}.fp-markdown{background:var(--bg)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
1
|
+
@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter/inter-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/inter/inter-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/inter/inter-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/inter/inter-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter/inter-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/inter/inter-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter/inter-latin-ext-700-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:700;src:url(/fonts/inter/inter-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/inter/inter-latin-ext-800-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-display:swap;font-weight:800;src:url(/fonts/inter/inter-latin-800-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-400-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-500-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-500-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-ext-600-normal.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/fonts/ibm-plex-mono/ibm-plex-mono-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{color-scheme:light;--bg: #fbfbfd;--bg-elev: #ffffff;--bg-elev2: #f1f3f8;--border: #e3e7ee;--border-soft: #edf0f5;--text: #334155;--text-dim: #64748b;--text-faint: #94a3b8;--accent: #3b49df;--accent-soft: rgba(59, 73, 223, .12);--green: #16a34a;--green-soft: rgba(22, 163, 74, .12);--red: #dc2626;--red-soft: rgba(220, 38, 38, .1);--amber: #d97706;--code-bg: #1b1f24;--code-fg: var(--term-fg);--tooltip-bg: #232733;--tooltip-fg: #e6e8ef;--term-bg: #1b1f24;--term-fg: #e6e8ef;--term-cursor: #3b49df;--term-cursor-accent: #1b1f24;--term-selection: rgba(59, 73, 223, .35);--term-black: #2a2f37;--term-red: #f87171;--term-green: #34d399;--term-yellow: #fbbf24;--term-blue: #60a5fa;--term-magenta: #c084fc;--term-cyan: #22d3ee;--term-white: #e6e8ef;--term-bright-black: #6b7284;--term-bright-red: #f87171;--term-bright-green: #34d399;--term-bright-yellow: #fbbf24;--term-bright-blue: #60a5fa;--term-bright-magenta: #c084fc;--term-bright-cyan: #22d3ee;--term-bright-white: #ffffff;--mono: "IBM Plex Mono", "JetBrains Mono", "SF Mono", ui-monospace, Menlo, Consolas, monospace;--sans: Inter, "Noto Sans SC", -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", Roboto, Helvetica, Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;line-height:1.6}.app{display:flex;flex-direction:column;height:100%}.layout{flex:1;display:flex;min-height:0}.main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.panel{display:flex;flex-direction:column;width:240px;flex-shrink:0;min-height:0;background:var(--bg-elev);border-right:1px solid var(--border);position:relative}.panel-right{border-right:none;border-left:1px solid var(--border)}.drawer-left .panel{width:var(--left-w, 240px)}.drawer-right .panel{width:var(--right-w, 240px)}.resize-handle{flex-shrink:0;width:6px;margin:0 -3px;position:relative;z-index:10;cursor:col-resize;touch-action:none}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:2px;width:2px;background:transparent;transition:background .15s ease}.resize-handle:hover:after,body.panel-resizing .resize-handle:after{background:var(--accent);opacity:.55}body.panel-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:10px 12px 8px;border-bottom:1px solid var(--border-soft);flex-shrink:0}.panel-title{font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.panel-new,.panel-refresh{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;padding:3px 8px;font-size:12px}.panel-new:hover,.panel-refresh:hover{color:var(--text);border-color:var(--accent)}.panel-fab{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);font-size:14px;cursor:pointer;box-shadow:0 6px 20px #00000073;z-index:2}.panel-fab:hover{color:var(--accent);border-color:var(--accent);box-shadow:0 8px 24px #00000080}.panel-fab:active{transform:scale(.94)}.panel-right .panel-body,.sessions-scroll{padding-bottom:56px}.panel-convs{flex-shrink:0;max-height:32%;overflow-y:auto;padding:6px 6px 0}.panel-sessions{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 6px}.panel-sessions .panel-section-title{flex-shrink:0;padding-top:8px}.sessions-scroll{flex:1;overflow-y:auto;min-height:0}.panel-body{flex:1;overflow-y:auto;padding:6px}.panel-widgets{flex-shrink:0;max-height:40%;overflow-y:auto;padding:8px;border-top:1px solid var(--border-soft);background:#00000026}.widget{border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-elev2);margin-bottom:6px;overflow:hidden}.widget:last-child{margin-bottom:0}.widget-title{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;padding:4px 10px;font-size:10.5px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-faint);border-bottom:1px solid var(--border-soft);text-align:left;background:none;border-top:none;border-left:none;border-right:none;font-family:inherit}.widget-title-btn{cursor:pointer}.widget-title-btn:hover{color:var(--text);background:#ffffff0d}.widget-title-btn svg{flex-shrink:0;opacity:.6}.widget-lines{margin:0;padding:6px 10px;font-family:var(--mono);font-size:11px;line-height:1.5;color:var(--text-dim);white-space:pre-wrap;overflow-wrap:anywhere}.widget-expand{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(90vw,1100px);max-height:min(80vh,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0000008c;z-index:400}.widget-expand-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.widget-expand-title{font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--text-dim)}.widget-expand-lines{margin:0;padding:12px 16px;font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--text-dim);white-space:pre;overflow:auto}.pc-item{display:flex;align-items:flex-start;gap:8px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:12px;text-align:left;cursor:pointer}.pc-item:hover,.pc-item.sel{background:var(--accent-soft);color:var(--text)}.pc-icon{flex-shrink:0;margin-top:1px;color:var(--text-faint)}.pc-item.sel .pc-icon{color:var(--accent)}.pc-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.pc-name{font-family:var(--mono);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pc-path{font-size:10.5px;line-height:1.4;color:var(--text-faint);font-family:var(--mono);word-break:break-all;overflow-wrap:anywhere}.panel-empty{padding:16px 8px;text-align:center;font-size:12px;color:var(--text-faint)}.files-truncated{color:var(--amber);border-top:1px dashed var(--border);margin-top:8px;padding-top:12px}.session-item{display:flex;align-items:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer;margin-bottom:2px}.session-item:hover{background:var(--bg-elev2);color:var(--text)}.session-item.active{background:var(--accent-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:7px 9px}.session-icon{flex-shrink:0;color:var(--text-faint)}.session-item.active .session-icon{color:var(--accent)}.session-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}.session-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-sub{font-size:11px;color:var(--text-faint)}.session-src{margin-left:6px;font-size:9.5px;padding:0 5px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);text-transform:uppercase;letter-spacing:.4px;vertical-align:1px}.session-time{font-size:10.5px;color:var(--text-faint);flex-shrink:0;align-self:flex-start;margin-top:1px;font-variant-numeric:tabular-nums}.panel-projects{flex-shrink:0;max-height:45%;display:flex;flex-direction:column;padding:6px 6px 8px;border-bottom:2px solid var(--border)}.panel-projects .panel-section-title{flex-shrink:0}.projects-scroll{flex:1;overflow-y:auto;min-height:0}.panel-section-title{padding:4px 10px 6px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.panel-section-divider{height:1px;background:var(--border);margin:6px 10px}.conv-streaming{width:7px;height:7px;border-radius:50%;flex-shrink:0;background:var(--green);box-shadow:0 0 4px var(--green);animation:conv-pulse 1.2s ease-in-out infinite}@keyframes conv-pulse{0%,to{opacity:1}50%{opacity:.25}}.project-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer;margin-bottom:2px}.project-item:hover{background:var(--bg-elev2);color:var(--text)}.project-item.active{background:var(--accent-soft);color:var(--text);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:6px 9px}.project-icon{flex-shrink:0;color:var(--text-faint)}.project-item.active .project-icon{color:var(--accent)}.project-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;line-height:1.35}.project-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-path{font-size:11px;color:var(--text-faint);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-time{font-size:10.5px;color:var(--text-faint);flex-shrink:0;align-self:flex-start;margin-top:1px;font-variant-numeric:tabular-nums}.project-item.pending{background:var(--bg-elev2);color:var(--text)}.project-item.pending .project-icon{color:var(--accent)}.project-spinner{flex-shrink:0}.lp-row{position:relative}.lp-row .lp-del{position:absolute;right:8px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:5px;border:none;background:transparent;color:var(--text-faint);cursor:pointer}.lp-row .lp-del svg{width:13px;height:13px}.lp-row:hover .lp-del{display:inline-flex}.lp-row:hover .project-time,.lp-row:hover .session-time{visibility:hidden}.lp-row .lp-del:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.lp-row .lp-del.confirm,.lp-row .lp-del.confirm:hover{color:#fff;background:var(--red)}.lp-row .lp-rename{position:absolute;right:32px;top:50%;transform:translateY(-50%);display:none;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border-radius:5px;border:none;background:transparent;color:var(--text-faint);cursor:pointer}.lp-row .lp-rename svg{width:13px;height:13px}.lp-row:hover .lp-rename{display:inline-flex}.lp-row .lp-rename:hover{color:var(--accent);background:var(--accent-soft)}.lp-inline-form{display:flex;align-items:center;gap:4px;padding:4px 8px}.lp-inline-input{flex:1;min-width:0;padding:5px 8px;border-radius:6px;border:1px solid var(--accent);background:var(--bg-elev);color:var(--text);font-size:12.5px;font-family:inherit;outline:none}.lp-inline-ok,.lp-inline-cancel{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;flex-shrink:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-faint);cursor:pointer}.lp-inline-ok svg,.lp-inline-cancel svg{width:14px;height:14px}.lp-inline-ok:hover{color:var(--green);background:color-mix(in srgb,var(--green) 12%,transparent)}.lp-inline-cancel:hover{color:var(--red);background:color-mix(in srgb,var(--red) 12%,transparent)}.fpk-modal{position:relative;display:flex;flex-direction:column;width:100%;max-width:560px;height:min(70vh,620px);overflow:hidden;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c}.fpk-modal-head{display:flex;align-items:center;gap:10px;flex-shrink:0;padding:14px 16px;border-bottom:1px solid var(--border)}.fpk-modal-head h2{margin:0;font-size:15px}.fpk-modal-bar{display:flex;align-items:center;gap:6px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--border-soft);background:var(--bg-elev)}.fpk-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;flex-shrink:0;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);cursor:pointer}.fpk-nav-btn:hover:not(:disabled){color:var(--accent);border-color:var(--accent)}.fpk-nav-btn:disabled{opacity:.4;cursor:default}.fpk-path{flex:1;min-width:0;overflow-x:auto;white-space:nowrap;font-family:var(--mono);font-size:11.5px;color:var(--text-dim)}.fpk-drives{display:flex;flex-wrap:wrap;gap:6px;flex-shrink:0;padding:8px 12px;border-bottom:1px solid var(--border-soft)}.fpk-drive{display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev2);color:var(--text-dim);font-size:12px;font-family:var(--mono);cursor:pointer}.fpk-drive:hover{color:var(--accent);border-color:var(--accent)}.fpk-drive.active{color:#fff;background:var(--accent);border-color:var(--accent)}.fpk-list{flex:1;overflow-y:auto;padding:6px}.fpk-item{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text);font-size:13px;font-family:inherit;text-align:left;cursor:pointer}.fpk-item:hover{background:var(--bg-elev)}.fpk-item-icon{flex-shrink:0;color:var(--text-faint)}.fpk-item-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fpk-item-go{flex-shrink:0;color:var(--text-faint);opacity:0}.fpk-item:hover .fpk-item-go{opacity:1}.fpk-modal-foot{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 12px;border-top:1px solid var(--border);background:var(--bg-elev)}.fpk-open-btn{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:7px 12px;border:none;border-radius:7px;background:var(--accent);color:#fff;font-size:12.5px;font-family:inherit;font-weight:600;cursor:pointer}.fpk-open-btn:disabled{opacity:.5;cursor:default}.lp-add-project{display:flex;align-items:center;gap:8px;width:100%;padding:7px 10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-dim);font-size:12.5px;font-family:inherit;text-align:left;cursor:pointer}.lp-add-project:hover{color:var(--accent);border-color:var(--accent);background:var(--accent-soft)}.panel-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:6px 8px;border-bottom:1px solid var(--border-soft);flex-shrink:0;font-size:12px}.crumb{border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:2px 4px;border-radius:4px;font-size:12px;max-width:90px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.crumb:hover{color:var(--text);background:var(--bg-elev2)}.crumb.active{color:var(--accent)}.crumb-seg{display:inline-flex;align-items:center;color:var(--text-faint)}.file-item{display:flex;align-items:center;gap:7px;width:100%;padding:5px 8px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);font-size:12.5px;text-align:left;cursor:pointer}.file-item.dir{cursor:default}.file-dir-main{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:none;background:transparent;color:inherit;font-size:inherit;text-align:left;cursor:pointer;padding:0}.file-item:hover{background:var(--bg-elev2);color:var(--text)}.file-icon{flex-shrink:0;color:var(--text-faint)}.file-item.dir .file-icon{color:#fbbf24}.file-name{flex:1;min-width:0;display:flex;align-items:center;gap:7px;border:none;background:transparent;color:inherit;font-size:inherit;font-family:inherit;text-align:left;padding:0;overflow:hidden;cursor:pointer}.file-name:hover{color:var(--accent)}.file-name.no-preview{cursor:default}.file-name.no-preview:hover{color:inherit}.file-name-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-attach{position:relative;display:none;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:5px;cursor:pointer;flex-shrink:0}.file-item:hover .file-attach{display:inline-flex}.file-attach:after{content:attr(data-tip);position:absolute;bottom:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.file-attach:before{content:"";position:absolute;bottom:calc(100% + 3px);right:6px;border:5px solid transparent;border-top-color:var(--tooltip-bg);pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40}.file-attach:hover:after,.file-attach:hover:before{opacity:1}.chip[data-tip]{position:relative}.chip[data-tip]:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.chip[data-tip]:hover:after{opacity:1}.file-attach.inline{background:var(--accent-soft);color:var(--accent)}.file-attach.inline:hover{background:var(--accent);color:#fff}.file-attach.download{background:#34d39924;color:var(--green);text-decoration:none}.file-attach.download:hover{background:var(--green);color:#fff}.file-attach.ref{background:#fbbf241f;color:var(--amber)}.file-attach.ref:hover{background:var(--amber);color:#1a1a1a}.attach-row{max-width:860px;margin:0 auto 6px;display:flex;flex-wrap:wrap;gap:6px;align-items:center}.attach-chip{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:999px;background:var(--accent-soft);color:var(--text);font-size:12px;max-width:320px}.attach-chip.reference{border-color:#fbbf2466;background:#fbbf241a}.attach-chip.lines{border-color:#34d39966;background:#34d3991a}.attach-chip.image{border-color:#ec489973;background:#ec48991f}.attach-chip.file{border-color:#60a5fa73;background:#60a5fa1f}.inputbar.drop-active{outline:2px dashed var(--accent);outline-offset:-2px}.drop-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-elev) 88%,transparent);z-index:5;pointer-events:none}.drop-overlay span{padding:10px 18px;border:1px dashed var(--accent);border-radius:10px;background:var(--bg-elev2);color:var(--text);font-size:14px}.app-drop-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:color-mix(in srgb,var(--bg-elev) 72%,transparent);border:2px dashed var(--accent);pointer-events:none}.app-drop-overlay span{padding:14px 26px;border:1px dashed var(--accent);border-radius:12px;background:var(--bg-elev2);color:var(--text);font-size:16px;box-shadow:0 8px 32px #00000059}.attach-range{font-family:var(--mono);font-size:10.5px;padding:0 6px;border-radius:999px;background:#34d3992e;color:var(--green)}.attach-remove{border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:14px;line-height:1;padding:0 2px}.attach-remove:hover{color:var(--red)}.attach-hint{font-size:11.5px;color:var(--text-faint)}.attachcard{margin:6px 0;border:1px dashed color-mix(in srgb,var(--accent) 45%,transparent);border-radius:8px;background:var(--accent-soft);overflow:hidden}.attachcard-head{display:flex;align-items:center;gap:8px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left}.attachcard-head:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.attachcard-icon{flex-shrink:0}.attachcard-name{font-weight:600;font-family:var(--mono);font-size:12px}.attachcard-path{color:var(--text-faint);font-size:11px;font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.attachcard-meta{margin-left:auto;color:var(--text-faint);font-size:11px;flex-shrink:0}.attachcard-mode{margin-left:auto;font-size:11px;flex-shrink:0;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint)}.attachcard-mode.inline{color:var(--green);border-color:#34d39959}.attachcard-mode.ref{color:var(--amber);border-color:#fbbf2466}.attachcard-mode.lines,.attachcard-mode.bridged{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.attachcard-bridgenote{font-size:11px;color:var(--text-faint);padding:6px 10px;border-bottom:1px solid var(--border);background:color-mix(in srgb,var(--accent) 6%,transparent)}.attachcard-refnote{padding:8px 12px;border-top:1px dashed rgba(251,191,36,.3);font-size:11.5px;color:var(--text-faint)}.attachcard-content{margin:0;padding:10px 12px;border-top:1px dashed color-mix(in srgb,var(--accent) 30%,transparent);font-family:var(--mono);font-size:12px;line-height:1.55;color:var(--text-dim);white-space:pre-wrap;word-break:break-word;max-height:320px;overflow-y:auto;background:#0003}.attachcard-image img{max-width:100%;max-height:320px;border-radius:0 0 8px 8px;display:block}.skillcard{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2);overflow:hidden}.skillcard-head{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:var(--text);font-size:12.5px;cursor:pointer;text-align:left;transition:background .12s ease}.skillcard-head:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.skillcard-icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border-radius:6px;background:var(--accent-soft);color:var(--accent);font-size:12px}.skillcard-name{font-family:var(--mono);font-weight:600;color:var(--text);font-size:12.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skillcard-path{flex:1;min-width:0;color:var(--text-faint);font-size:11px;font-family:var(--mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.skillcard-action{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;color:var(--text-faint);font-size:11.5px}.skillcard-action:hover{color:var(--text)}.skillcard-body{padding:10px 14px 12px;border-top:1px solid var(--border-soft);max-height:420px;overflow-y:auto;background:#00000026}.skillcard-body .markdown>:first-child{margin-top:0}.view-pane{flex:1;display:flex;min-width:0;min-height:0}.view-pane.hidden{display:none}.plugin-view{flex:1;overflow:auto;min-width:0}.view-switch .plugin-tab.broken{opacity:.45}.panel-drawer{display:contents}.panel-toggle{display:none}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:55;background:#00000080;animation:drawer-fade .2s ease}@keyframes drawer-fade{0%{opacity:0}to{opacity:1}}.view-switch{display:inline-flex;align-items:center;border:1px solid var(--border);border-radius:999px;overflow:hidden;background:var(--bg-elev2);flex-shrink:0}.view-switch button{display:inline-flex;align-items:center;gap:5px;border:none;background:transparent;color:var(--text-dim);font-size:12.5px;padding:4px 12px;cursor:pointer;transition:background .15s,color .15s}.view-switch button:hover{color:var(--text)}.view-switch button.active{background:var(--accent-soft);color:var(--accent)}.view-switch button+button{border-left:1px solid var(--border)}.terminal-view{flex:1;display:flex;min-height:0;min-width:0}.term-side{display:flex;flex-direction:column;width:250px;flex-shrink:0;min-height:0;background:var(--bg-elev)}.term-commands{border-right:1px solid var(--border)}.term-tabs-block{display:flex;flex-direction:column;min-height:0;flex:1 1 0;border-top:1px solid var(--border)}.term-tabs-block .panel-body{flex:1;min-height:0}.term-side-toggle{display:none}.term-main{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--term-bg);padding:10px 8px 8px}.term-xterm{flex:1;min-height:0}.term-xterm.hidden{display:none}.term-xterm .xterm{height:100%}.term-xterm .xterm .xterm-viewport{background-color:var(--term-bg)}.term-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;color:var(--text-faint)}.term-empty-icon{font-size:34px;opacity:.5}.term-empty-title{font-size:15px;color:var(--text-dim)}.term-empty-sub{font-size:12px}.panel-header-actions{display:flex;align-items:center;gap:6px}.cmd-item{display:flex;align-items:center;gap:4px;padding:6px;border-radius:8px;margin-bottom:2px}.cmd-item:hover{background:var(--bg-elev2)}.cmd-run{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;border:none;border-radius:6px;background:var(--accent-soft);color:var(--accent);cursor:pointer}.cmd-run:hover{background:var(--accent);color:#fff}.cmd-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px;text-align:left;background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:1px 4px}.cmd-name{font-size:12.5px;font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-command{font-family:var(--mono);font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-cwd{font-size:10px;color:var(--text-faint);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cmd-act{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:22px;height:22px;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .1s;font-size:11px}.cmd-item:hover .cmd-act{opacity:1}.cmd-act:hover{color:var(--text);background:var(--bg-elev)}.cmd-act.del:hover{color:var(--red)}.cmd-act.del.confirm{opacity:1;color:var(--red);background:var(--red-soft);border:1px solid rgba(248,113,113,.4);width:auto;padding:0 7px}.cmd-form{display:flex;flex-direction:column;gap:4px;padding:6px 4px}.cmd-form label{font-size:11px;color:var(--text-faint);margin-top:4px}.cmd-input{width:100%;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-family:var(--mono);font-size:12px;padding:5px 8px;outline:none}.cmd-input:focus{border-color:var(--accent)}.cmd-hint{color:var(--text-faint);font-size:10.5px}.cmd-form-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:8px}.term-tab{display:flex;align-items:center;gap:2px;padding:4px 6px;border-radius:8px;margin-bottom:2px}.term-tab:hover{background:var(--bg-elev2)}.term-tab.active{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 30%,transparent);padding:3px 5px}.term-tab-main{flex:1;min-width:0;display:flex;align-items:center;gap:6px;background:transparent;border:none;color:var(--text-dim);cursor:pointer;text-align:left;padding:2px}.term-tab-main:hover,.term-tab.active .term-tab-main{color:var(--text)}.term-tab-dot{flex-shrink:0;width:7px;height:7px;border-radius:50%}.term-tab-dot.run{background:var(--green);box-shadow:0 0 5px var(--green)}.term-tab-dot.exit{background:var(--text-faint)}.term-tab-title{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px}.term-tab-exit{color:var(--text-faint);font-size:11px}.term-tab-close{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer;opacity:0;transition:opacity .1s}.term-tab:hover .term-tab-close,.term-tab.active .term-tab-close{opacity:1}.term-tab-close:hover{color:var(--red);background:var(--red-soft)}.scm-view{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg-elev)}.scm-header{flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding:10px 14px;border-bottom:1px solid var(--border-soft)}.scm-title-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.scm-title{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.scm-title svg{color:var(--accent)}.scm-view-tabs{display:inline-flex;align-items:center;gap:2px;margin-left:auto;padding:2px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev2)}.scm-view-tabs button{border:none;border-radius:5px;background:transparent;color:var(--text-faint);font-size:12px;padding:4px 9px;cursor:pointer}.scm-view-tabs button:hover{color:var(--text)}.scm-view-tabs button.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.scm-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.scm-row .btn,.scm-row .scm-select,.scm-row .scm-commit-input,.scm-row .scm-branch-current{height:34px}.scm-branch-current{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:13px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:4px 10px;max-width:260px;overflow:hidden}.scm-branch-current svg{color:var(--accent);flex-shrink:0}.scm-upstream{color:var(--text-faint);font-size:12px;white-space:nowrap}.scm-select{flex:0 1 auto;min-width:120px;max-width:200px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-size:13px;padding:0 8px}.scm-select:focus{outline:none;border-color:var(--accent)}.scm-commit-input{flex:1;min-width:140px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-size:13px;padding:0 10px}.scm-commit-input:focus{outline:none;border-color:var(--accent)}.scm-commit-input::placeholder{color:var(--text-faint)}.scm-body{flex:1;display:flex;min-width:0;min-height:0}.scm-files,.scm-history{width:300px;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--border-soft)}.scm-files-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;font-size:12px;font-weight:600;letter-spacing:.4px;color:var(--text-faint);border-bottom:1px solid var(--border-soft)}.scm-files-count{font-family:var(--mono);font-size:11px;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);border-radius:999px;padding:0 7px}.scm-files-list,.scm-history-list{flex:1;overflow-y:auto;min-height:0}.scm-commit{width:100%;display:flex;align-items:flex-start;gap:6px;padding:7px 10px 7px 8px;border:none;border-left:2px solid transparent;background:transparent;color:var(--text);text-align:left;cursor:pointer}.scm-commit:hover,.scm-commit.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-commit-graph{min-width:34px;max-width:48px;overflow:hidden;white-space:pre;font-family:var(--mono);font-size:12px;line-height:1.35;color:var(--accent)}.scm-commit-info{min-width:0;display:flex;flex-direction:column;gap:2px}.scm-commit-subject{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;color:var(--text)}.scm-commit-meta,.scm-commit-refs{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:10.5px;color:var(--text-faint)}.scm-commit-refs{color:var(--green)}.scm-file{display:flex;align-items:center;gap:6px;padding:5px 10px;font-size:13px;cursor:pointer;border-left:2px solid transparent}.scm-file:hover{background:var(--accent-soft)}.scm-file.active{background:var(--accent-soft);border-left-color:var(--accent)}.scm-file-actions{display:none;margin-left:auto;gap:2px}.scm-file:hover .scm-file-actions{display:inline-flex}.scm-act{width:18px;height:18px;padding:0;border:1px solid var(--border);border-radius:4px;background:var(--bg-elev2);color:var(--text-2);font-size:13px;line-height:1;display:inline-flex;align-items:center;justify-content:center;cursor:pointer}.scm-act:hover{background:var(--accent-soft);color:var(--text);border-color:var(--accent)}.scm-file-xy{display:inline-flex;align-items:center;justify-content:center;width:13px;height:18px;font-family:var(--mono);font-size:11px;font-weight:700;flex-shrink:0}.scm-file-xy.x{color:var(--green)}.scm-file-xy.y{color:var(--red)}.scm-file-xy.q{color:var(--amber)}.scm-file-path{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--mono);font-size:12.5px;color:var(--text)}.scm-file-stat{font-family:var(--mono);font-size:11px;flex-shrink:0}.scm-file-stat .add{color:var(--green)}.scm-file-stat .del{color:var(--red)}.scm-empty{padding:26px 16px;text-align:center;color:var(--text-faint);font-size:13px}.scm-diff{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--bg)}.scm-diff-header{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--border-soft);font-family:var(--mono);font-size:12.5px;color:var(--text-dim);background:var(--bg-elev);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scm-diff-loading{color:var(--text-faint);font-size:11px;flex-shrink:0}.scm-diff-body{flex:1;overflow:auto;min-height:0;padding:6px 0 12px}.scm-diff-section{padding:8px 14px 4px;font-size:11px;font-weight:600;letter-spacing:.4px;text-transform:uppercase;color:var(--text-faint)}.scm-diff-pre{margin:0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.scm-diff-line{padding:0 14px;white-space:pre-wrap;word-break:break-word;color:var(--text-dim)}.scm-diff-line.hdr{color:var(--text-faint)}.scm-diff-line.hunk{color:var(--accent);background:var(--accent-soft)}.scm-diff-line.add{color:var(--green);background:var(--green-soft)}.scm-diff-line.del{color:var(--red);background:var(--red-soft)}.scm-error{margin:10px 14px;padding:8px 12px;border:1px solid var(--red-soft);border-radius:8px;background:var(--red-soft);color:var(--red);font-size:12.5px}.scm-hint{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:6px 14px;font-size:12px;color:var(--text-faint);border-top:1px solid var(--border-soft)}.scm-hint svg{flex-shrink:0}.scm-goto-term{display:inline-flex;align-items:center;gap:5px;margin-left:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev2);color:var(--text-dim);font-size:12px;padding:3px 10px;cursor:pointer}.scm-goto-term:hover{color:var(--accent);border-color:var(--accent)}.scm-spin{animation:spin .8s linear infinite}@media(max-width:768px){.scm-files,.scm-history{width:200px}.scm-branch-current{max-width:150px}.scm-select{min-width:90px}}.statusbar{flex-shrink:0;display:flex;align-items:center;gap:8px;padding:5px 16px;border-top:1px solid var(--border);background:var(--bg-elev);font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden}.status-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.status-dot.ok{background:var(--green);box-shadow:0 0 5px var(--green)}.status-dot.busy{background:var(--amber)}.status-item{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim)}.status-sep{color:var(--border)}.ctx-bar{display:inline-block;width:46px;height:5px;border-radius:3px;background:var(--bg-elev2);border:1px solid var(--border-soft);overflow:hidden;vertical-align:middle}.ctx-bar-fill{display:block;height:100%;border-radius:2px;transition:width .3s ease}.ctx-bar.ok .ctx-bar-fill{background:var(--green)}.ctx-bar.mid .ctx-bar-fill{background:var(--amber)}.ctx-bar.warn .ctx-bar-fill{background:var(--red)}.status-item.working{color:var(--accent)}.working-spin{width:9px;height:9px;border-radius:50%;border:2px solid color-mix(in srgb,var(--accent) 25%,transparent);border-top-color:var(--accent);animation:spin .8s linear infinite;flex-shrink:0}.status-cwd{margin-left:auto;max-width:42%;overflow:hidden;text-overflow:ellipsis;color:var(--text-faint);border:none;background:transparent;font:inherit;font-size:11px;cursor:pointer;padding:2px 4px;border-radius:4px}.status-cwd:hover{color:var(--text-dim);background:var(--bg-elev2)}.status-cwd-wrap{position:relative;margin-left:auto;max-width:46%;min-width:0;display:flex;align-items:center}.status-cwd-input{width:100%;border:1px solid var(--accent);border-radius:6px;background:var(--bg-elev2);color:var(--text);font-family:var(--mono);font-size:11px;padding:3px 7px;outline:none}.status-completions{position:fixed;right:16px;bottom:40px;width:min(440px,calc(100vw - 32px));max-height:260px;overflow-y:auto;overflow-x:hidden;margin:0;padding:4px;list-style:none;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;box-shadow:0 -6px 24px #00000073;z-index:200}.status-queue{color:var(--amber)}@keyframes spin{to{transform:rotate(360deg)}}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 16px;border-bottom:1px solid var(--border);background:var(--bg-elev);flex-shrink:0}.brand{display:flex;align-items:center;gap:8px;min-width:0}.brand-logo{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;background:linear-gradient(135deg,#8b5cf6,#6366f1);color:#fff;font-weight:700;font-size:16px}.brand-name{font-weight:600;letter-spacing:.2px}.conn-dot{width:8px;height:8px;border-radius:50%;margin-left:6px}.conn-dot.ok{background:var(--green);box-shadow:0 0 6px var(--green)}.conn-dot.busy{background:var(--amber)}.conn-dot.err{background:var(--red)}.conn-label{color:var(--text-faint);font-size:12px}.topbar-actions{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;row-gap:6px}.bg-task-chip{position:relative}.bg-task-badge{display:inline-flex;align-items:center;justify-content:center;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:var(--red);color:#fff;font-size:10.5px;font-weight:700;line-height:1}.dd-item .bg-task-badge{font-style:normal;margin-left:6px}.bg-task-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(460px,calc(100vw - 32px));max-height:min(560px,calc(100vh - 80px));display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 20px 60px #0000008c;z-index:400}.bg-task-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border)}.bg-task-title{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--text)}.bg-task-count{font-style:normal;font-size:11px;font-weight:700;color:var(--amber);background:#ffc1071f;border-radius:9px;padding:1px 7px}.bg-task-empty{display:flex;flex-direction:column;align-items:center;gap:8px;padding:40px 16px;color:var(--text-dim);font-size:13px}.bg-task-empty svg{font-size:26px;opacity:.5}.bg-task-empty small{font-size:11.5px;opacity:.7;text-align:center}.bg-task-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1;min-height:0}.bg-task-item{display:flex;align-items:center;gap:10px;padding:9px 16px;border-bottom:1px solid var(--border-subtle, var(--border))}.bg-task-item:last-child{border-bottom:none}.bg-task-icon{flex:none;width:9px;height:9px;border-radius:50%;background:var(--green);box-shadow:0 0 8px #4caf508c;font-size:0}.bg-task-info{flex:1;min-width:0}.bg-task-line1{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text)}.bg-task-port{font-family:var(--mono, ui-monospace, monospace);font-weight:700;color:var(--accent)}.bg-task-name{font-size:11.5px;color:var(--text-dim);background:var(--bg-elev3, rgba(255, 255, 255, .06));border-radius:4px;padding:1px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bg-task-line2{display:flex;gap:12px;margin-top:2px;font-size:11px;color:var(--text-dim)}.bg-task-status{color:var(--amber, #fbbf24)}.plugin-settings-form{display:flex;flex-direction:column;gap:8px;margin:2px 0 10px;padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev2, rgba(255, 255, 255, .03))}.plugin-settings-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px 14px}.plugin-settings-field{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.plugin-settings-field input,.plugin-settings-field select{max-width:180px}.plugin-settings-actions{display:flex;gap:8px;justify-content:flex-end}.plugin-settings-save{color:var(--green)}.plugin-settings-reset{color:var(--text-dim)}.bg-task-cmd{display:flex;align-items:flex-start;gap:6px;width:100%;margin-top:4px;padding:3px 7px;border:1px solid var(--border);border-radius:5px;background:var(--bg-elev3, rgba(255, 255, 255, .04));color:var(--text-dim);font-size:11px;text-align:left;cursor:pointer}.bg-task-cmd svg{flex:none;margin-top:1px}.bg-task-cmd code{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--mono, ui-monospace, monospace);color:var(--text)}.bg-task-cmd.open code{white-space:pre-wrap;overflow-wrap:anywhere}.bg-task-stop{flex:none;display:inline-flex;align-items:center;gap:5px;height:26px;padding:0 10px;border:1px solid var(--border);border-radius:6px;font-size:12px;color:var(--text);cursor:pointer;transition:all .15s}.bg-task-stop:hover:not(:disabled){border-color:var(--red);color:#fff;background:var(--red)}.bg-task-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-top:1px solid var(--border)}.bg-task-stopall{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 14px;border:1px solid var(--red);border-radius:7px;background:transparent;color:var(--red);font-size:12.5px;font-weight:600;cursor:pointer;transition:all .15s}.bg-task-stopall:hover:not(:disabled){background:var(--red);color:#fff}.bg-task-stopall:disabled{opacity:.4;cursor:not-allowed}.gs-backdrop{align-items:flex-start;padding-top:10vh}.gs-modal{display:flex;flex-direction:column;width:min(640px,92vw);max-height:70vh;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev2, var(--bg-elev));box-shadow:0 18px 60px #00000073;overflow:hidden}.gs-input-row{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--border);color:var(--text-faint)}.gs-input-row svg{flex:none}.gs-input-row input{flex:1;min-width:0;border:none;outline:none;background:transparent;color:var(--text);font-size:15px}.gs-close{flex:none;display:inline-flex;padding:4px;border:none;background:transparent;color:var(--text-faint);cursor:pointer;border-radius:6px}.gs-close:hover{color:var(--text);background:var(--bg-elev3, rgba(255, 255, 255, .06))}.gs-results{flex:1;min-height:0;overflow-y:auto;padding:6px 8px 10px}.gs-empty{padding:26px 12px;font-size:13px;color:var(--text-faint);text-align:center}.gs-section+.gs-section{margin-top:10px}.gs-section-head{display:flex;align-items:center;gap:6px;padding:6px 8px 4px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.gs-section-head em{font-style:normal;font-weight:600;color:var(--accent)}.gs-item{display:flex;flex-direction:column;gap:2px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer}.gs-item:hover:not(:disabled),.gs-item.active:not(:disabled){background:var(--bg-elev3, rgba(255, 255, 255, .06))}.gs-item:disabled{cursor:default;opacity:.55}.gs-item-title{display:flex;align-items:baseline;gap:8px;font-size:13px;font-weight:600;color:var(--text);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gs-item-meta{font-style:normal;font-size:11px;font-weight:500;color:var(--text-dim);background:var(--bg-elev3, rgba(255, 255, 255, .06));border-radius:4px;padding:1px 6px}.gs-item-sub{font-size:11.5px;color:var(--text-dim);overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.gs-truncated{padding:5px 10px;font-size:11.5px;color:var(--amber, #e6b450)}.gs-foot{display:flex;gap:14px;padding:8px 14px;border-top:1px solid var(--border);font-size:11px;color:var(--text-faint)}.topbar-desktop{display:flex;align-items:center;gap:8px;min-width:0}.topbar-more{display:none}.chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid var(--border);border-radius:999px;background:var(--bg-elev2);color:var(--text);font-size:12.5px;cursor:pointer;transition:border-color .15s,background .15s;white-space:nowrap}.chip:hover{border-color:var(--accent);background:var(--accent-soft)}.chip-model{max-width:220px;overflow:hidden;text-overflow:ellipsis}.chip-vision{color:var(--accent);font-size:11px;line-height:1}.chip-sub{color:var(--text-faint);font-size:11px}.chip.newchat{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.chip.newchat:hover{background:var(--accent-soft)}.chip.github{width:28px;height:28px;padding:0;justify-content:center;border-radius:50%;text-decoration:none;color:var(--text-dim)}.chip.github:hover{color:var(--text);border-color:var(--accent)}.chip.github svg{width:15px;height:15px}.dropdown{position:relative;display:inline-flex}.dd-caret{color:var(--text-faint);transition:transform .15s}.dd-caret.up{transform:rotate(180deg)}.dd-menu{position:absolute;top:calc(100% + 6px);right:0;min-width:240px;max-width:340px;max-height:420px;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 40px #00000080;padding:6px;z-index:60}.dropdown.left .dd-menu{right:auto;left:0}@media(min-width:769px){.dropdown.dd-up .dd-menu{top:auto;bottom:calc(100% + 6px);max-height:min(360px,calc(100vh - 240px))}}.dropdown.fit .dd-menu{max-height:none;overflow:visible}.dd-header{padding:6px 10px 4px;font-size:11px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;color:var(--text-faint)}.dd-loading{padding:10px;font-size:12px;color:var(--text-faint);text-align:center}.dd-model-scroll{max-height:min(300px,42vh);overflow-y:auto}.dd-footer{border-top:1px solid var(--border-soft);margin-top:6px;padding-top:3px}.dd-menu.dd-menu-model{display:flex;flex-direction:column;overflow-y:hidden}.dd-menu.dd-menu-model .dd-model-scroll{flex:1 1 auto;min-height:0;max-height:none}.dd-menu.dd-menu-model .dd-footer{flex-shrink:0}.dd-footer .dd-refresh{border-top:none;margin-top:0}.dd-search-row{display:flex;align-items:center;gap:7px;margin:2px 8px 6px;padding:0 8px;border:1px solid var(--border);border-radius:7px;background:var(--bg-elev);color:var(--text-faint)}.dd-search-row:focus-within{border-color:var(--accent)}.dd-search-row svg{flex:none}.dd-search{flex:1;min-width:0;height:28px;border:none;outline:none;background:transparent;color:var(--text);font-size:12.5px}.dd-item{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer}.dd-item:hover{background:var(--bg-elev);color:var(--text)}.dd-item:disabled{opacity:.45;cursor:not-allowed}.dd-item:disabled:hover{background:transparent;color:var(--text-dim)}.dd-item.active{background:var(--accent-soft);color:var(--text)}.dd-item.active:after{content:"✓";color:var(--accent);font-size:12px}.dd-model-cell{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.dd-model-meta{display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;min-width:0}.dd-model-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dd-model-provider{flex-shrink:0;font-size:11px;color:var(--text-faint);font-family:var(--mono)}.dd-model-badges{display:flex;flex-wrap:wrap;gap:5px}.dd-model-badge{font-size:10.5px;line-height:1.5;color:var(--text-faint);background:var(--bg-elev);border:1px solid var(--border);border-radius:4px;padding:0 6px;white-space:nowrap}.dd-refresh{width:100%;margin-top:4px;padding:6px;border:none;border-top:1px solid var(--border-soft);background:transparent;color:var(--text-faint);font-size:12px;cursor:pointer}.dd-refresh:hover{color:var(--accent)}.dd-refresh.dd-more-link{display:flex;align-items:center;gap:6px;text-decoration:none}.update-dot{width:7px;height:7px;border-radius:50%;background:var(--amber);flex-shrink:0;box-shadow:0 0 0 2px #f59e0b40}.dd-update{display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px}.dd-row{display:flex;align-items:center;justify-content:space-between;gap:12px;font-size:12.5px;color:var(--text-dim)}.dd-row b{color:var(--text);font-family:var(--mono);font-weight:600}.dd-note{font-size:12px;line-height:1.5;padding:6px 10px;border-radius:6px;background:var(--bg-elev1);border:1px solid var(--border-soft);color:var(--text-dim)}.dd-note.ok{color:var(--green);border-color:#34d3994d}.dd-note.warn{color:var(--amber);border-color:#f59e0b59}.dd-note.err{color:var(--red);border-color:#f8717159}.dd-actions{display:flex;gap:6px;padding:0 2px 2px}.dd-actions .dd-refresh{margin-top:0;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev1)}.dd-refresh.accent{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent)}.dd-refresh.accent.armed{color:var(--amber);border-color:#f59e0b80}.protocol-banner{position:fixed;top:52px;left:50%;transform:translate(-50%);z-index:60;padding:6px 14px;border-radius:8px;background:#f59e0b1f;border:1px solid var(--amber);color:var(--amber);font-size:12px;white-space:nowrap}.notices{position:fixed;top:80px;left:50%;transform:translate(-50%);z-index:50;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}.notice{pointer-events:auto;display:flex;align-items:center;gap:10px;max-width:min(760px,92vw);padding:10px 12px 10px 14px;border-radius:10px;border:1px solid var(--border);border-left:3px solid var(--accent);background:var(--bg-elev2);color:var(--text);font-size:13px;font-weight:600;line-height:1.5;text-align:left;box-shadow:0 10px 36px #0000008c;animation:notice-in .18s ease}@keyframes notice-in{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notice.paused{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 44px #000000a6}.notice-icon{flex:none;font-size:15px;line-height:1}.notice-text{flex:1;min-width:0}.notice-close{flex:none;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;border-radius:5px;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px}.notice-close:hover{background:#ffffff1f;color:var(--text)}.notice-error{border-color:#f871718c;border-left-color:#ef4444;color:#fca5a5;background:#401d23}.notice-error .notice-icon{color:#f87171}.notice-warning{border-color:#fbbf2480;border-left-color:#f59e0b;color:#fcd34d;background:#38251f}.notice-warning .notice-icon{color:#fbbf24}.notice-info{border-color:#60a5fa73;border-left-color:#3b82f6;color:#93c5fd;background:#1b2544}.notice-info .notice-icon{color:#60a5fa}.messages-wrap{flex:1;position:relative;min-height:0;display:flex;flex-direction:column}.messages{flex:1;overflow-y:auto;padding:20px 0 12px;overflow-anchor:none}.msg-lazy-ph{max-width:860px;margin:0 auto}.msg{max-width:860px;margin:0 auto;padding:6px 20px 14px;scroll-margin-top:84px}.msg-meta{display:flex;align-items:baseline;gap:10px;margin-bottom:4px}.msg-role{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;color:var(--text-faint)}.msg-model{font-size:11px;color:var(--accent);font-family:var(--mono)}.msg-customtype{font-size:11px;color:var(--amber)}.msg-time{font-size:11px;color:var(--text-faint);margin-left:auto}.search-bar{position:absolute;top:10px;left:50%;transform:translate(-50%);z-index:30;display:flex;align-items:center;gap:2px;max-width:min(480px,calc(100% - 32px));padding:5px 6px 5px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg-elev2);box-shadow:0 8px 24px #00000059}.search-input{background:transparent;border:none;outline:none;color:var(--text);font-size:13px;width:200px;padding:4px 0}.search-input::placeholder{color:var(--text-faint)}.search-count{font-size:11px;color:var(--text-faint);white-space:nowrap;padding:0 6px;font-variant-numeric:tabular-nums}.search-count.empty{color:var(--red)}.search-btn{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:7px;border:none;background:transparent;color:var(--text-dim);cursor:pointer}.search-btn:hover:not(:disabled){background:var(--accent-soft);color:var(--text)}.search-btn:disabled{opacity:.4;cursor:default}::highlight(msg-search){background-color:color-mix(in srgb,var(--amber) 28%,transparent)}::highlight(msg-search-active){background-color:color-mix(in srgb,var(--amber) 80%,transparent);color:#1a1d26}.msg-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:2px}.msg-action{display:inline-flex;align-items:center;gap:4px;border:none;background:transparent;color:var(--text-faint);font-size:11.5px;cursor:pointer;padding:3px 8px;border-radius:6px;opacity:0;transition:opacity .15s ease,color .15s ease,background .15s ease}.msg:hover .msg-action,.msg-action:focus-visible{opacity:1}.msg-action:hover{color:var(--accent);background:var(--bg-elev2)}.msg-editor{position:relative;display:flex;flex-direction:column;gap:8px}.msg-editor-images{display:flex;flex-wrap:wrap;gap:6px}.msg-editor-img{position:relative;display:inline-flex;width:64px;height:64px;border-radius:8px;overflow:hidden;border:1px solid var(--border);background:var(--bg-elev1)}.msg-editor-img img{width:100%;height:100%;object-fit:cover;display:block}.msg-editor-img-remove{position:absolute;top:2px;right:2px;width:18px;height:18px;padding:0;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;cursor:pointer;font-size:10px;line-height:1;color:#fff;background:#0000008c}.msg-editor-img-remove:hover{background:#dc2626d9}.msg-editor-img-remove svg{width:12px;height:12px}.msg-editor-img.file-chip{width:auto;height:auto;min-height:28px;padding:2px 22px 2px 6px;border-radius:6px;border:1px solid rgba(96,165,250,.45);background:#60a5fa1f;align-items:center}.msg-editor-file{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--text-2);max-width:260px}.msg-editor-file-icon{flex:none}.msg-editor-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-editor-img.file-chip .msg-editor-img-remove{top:3px;right:3px}.msg-editor-notice{font-size:11px;color:var(--amber, #f59e0b);padding:2px 2px 4px}.msg-editor.drag-over .msg-editor-input{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 25%,transparent)}.msg-editor.drag-over:after{content:"📎";position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:28px;pointer-events:none;z-index:2}span.msg-editor-hint svg{vertical-align:-2px;margin-right:4px}.msg-editor-input{width:100%;min-height:48px;resize:vertical;padding:10px 12px;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev1);color:var(--text);font-family:inherit;font-size:13.5px;line-height:1.6;outline:none}.msg-editor-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 15%,transparent)}.msg-editor-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px}.msg-editor-hint{margin-right:auto;font-size:11px;color:var(--text-faint)}.chip.primary{border-color:var(--accent);background:var(--accent-soft);color:var(--accent)}.chip.primary:disabled{opacity:.45;cursor:not-allowed}.msg-collapsed{display:flex;align-items:center;gap:10px;width:100%;max-width:860px;margin:0 auto 2px;padding:7px 12px;border:1px solid var(--border-soft);border-radius:8px;background:var(--bg-elev1);color:var(--text-dim);font-size:12px;text-align:left;cursor:pointer;transition:border-color .15s ease,background .15s ease,color .15s ease}.msg-collapsed:hover{border-color:var(--border);background:var(--bg-elev2);color:var(--text)}.msg-collapsed-role{flex-shrink:0;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.7px;color:var(--text-faint);min-width:52px}.msg-collapsed-role.role-user{color:var(--accent)}.msg-collapsed-role.role-assistant{color:var(--green)}.msg-collapsed-role.role-bashExecution,.msg-collapsed-role.role-toolResult{color:var(--amber)}.msg-collapsed-body{flex:1;min-width:0;display:flex;align-items:center;gap:8px;overflow:hidden}.msg-collapsed-preview{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--text-dim)}.msg-collapsed-chips{display:inline-flex;gap:4px;flex-shrink:0}.msg-collapsed-chip{font-size:10px;color:var(--text-faint);padding:1px 6px;border-radius:999px;border:1px solid var(--border);white-space:nowrap}.msg-collapsed-time{flex-shrink:0;font-size:10.5px;color:var(--text-faint)}.msg-collapsed-action{flex-shrink:0;display:inline-flex;align-items:center;gap:3px;font-size:11px;color:var(--text-faint)}.msg-collapsed:hover .msg-collapsed-action{color:var(--accent)}.msg-collapse-btn{display:inline-flex;align-items:center;gap:3px;margin-left:auto;border:none;background:transparent;color:var(--text-faint);font-size:11px;cursor:pointer;padding:1px 6px;border-radius:5px}.msg-collapse-btn:hover{color:var(--accent);background:var(--bg-elev2)}.msg-text{color:var(--text)}.msg-text p{margin:6px 0}.msg-text p:first-child{margin-top:0}.msg-text p:last-child{margin-bottom:0}.msg-text ul,.msg-text ol{padding-left:22px;margin:6px 0}.msg-text li{margin:2px 0}.msg-text blockquote{margin:8px 0;padding:2px 14px;border-left:3px solid var(--accent);color:var(--text-dim)}.msg-text table{border-collapse:collapse;margin:8px 0}.msg-text th,.msg-text td{border:1px solid var(--border);padding:4px 10px}.msg-text a{color:var(--accent)}.msg-text code{font-family:var(--mono);font-size:12.5px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px}.codeblock{position:relative;margin:10px 0}.codeblock pre{background:var(--code-bg)!important;border:1px solid var(--border);border-radius:8px;padding:12px 14px;overflow-x:auto;margin:0}.codeblock code{background:transparent;border:none;padding:0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.mermaid-block{position:relative;margin:10px 0;padding:18px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 1px #ffffff0a inset,0 8px 20px #00000040;overflow-x:auto;display:flex;justify-content:center}.mermaid-svg{width:100%;display:flex;justify-content:center}.mermaid-svg svg{max-width:100%;height:auto}.mermaid-block-loading{width:100%;padding:4px 2px;color:var(--text-dim);font-size:12.5px;text-align:center;background:transparent;box-shadow:none}.mermaid-block-error{display:block;background:transparent;box-shadow:none;border-color:#ef444459}.mermaid-error-note{width:100%;padding:4px 2px;font-size:12.5px;text-align:left;color:#f87171}.mermaid-block-error .codeblock{margin:8px 0 0}.copy-btn{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:6px;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);cursor:pointer;opacity:0;transition:opacity .15s}.codeblock:hover .copy-btn,.mermaid-block:hover .copy-btn{opacity:1}.copy-btn:hover{color:var(--text);border-color:var(--accent)}.trunc-note{margin-top:6px;font-size:11.5px;color:var(--text-faint);font-style:italic}.msg-image img{max-width:100%;max-height:420px;border-radius:8px;border:1px solid var(--border)}.thinking{margin:8px 0;border:1px solid var(--border-soft);border-radius:8px;background:#ffffff04}.thinking-toggle{display:flex;align-items:center;gap:7px;width:100%;padding:7px 12px;border:none;background:transparent;color:var(--text-dim);font-size:12.5px;cursor:pointer;text-align:left}.thinking-toggle:hover{color:var(--text)}.thinking-icon{color:var(--accent)}.thinking.leaked .thinking-icon{color:var(--amber)}.thinking-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thinking-body{padding:4px 14px 12px;color:var(--text-dim);font-style:italic;font-size:13px;white-space:pre-wrap;border-top:1px solid var(--border-soft)}.thinking.live .thinking-toggle{color:var(--text)}.thinking-live-label{display:inline-flex;align-items:center;gap:7px}.thinking-spinner{width:12px;height:12px;flex-shrink:0;border-radius:50%;border:1.5px solid var(--accent-soft);border-top-color:var(--accent);animation:thinking-spin .7s linear infinite}@keyframes thinking-spin{to{transform:rotate(360deg)}}.thinking-wait{display:inline-flex;align-items:center;gap:5px;color:var(--text-dim);font-size:13px;padding:2px 0}.thinking-wait .dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--accent);animation:stream-blink 1s steps(2,start) infinite}@keyframes stream-blink{0%,to{opacity:1}50%{opacity:.15}}.toolcall{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev);overflow:hidden}.toolcall-head{display:flex;align-items:center;gap:8px;padding:7px 12px;font-size:12.5px}.toolcall-icon{font-size:13px}.toolcall-name{font-family:var(--mono);font-weight:600;color:var(--text)}.toolcall-status{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint)}.toolcall.run .toolcall-status{color:var(--amber);border-color:#fbbf2466}.toolcall.ok .toolcall-status{color:var(--green);border-color:#34d39959}.toolcall.err .toolcall-status{color:var(--red);border-color:#f8717166}.toolcall-exit{font-style:normal;opacity:.85;margin-left:6px}.toolcall-exit:before{content:"·";margin-right:6px;opacity:.6}.toolcall.err{border-color:#f8717159}.toolcall-spacer{flex:1}.toolcall-kill{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--red);background:var(--red-soft);color:var(--red);font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;cursor:pointer;transition:background .15s,color .15s}.toolcall-kill:hover{background:var(--red);color:#fff}.toolcall-copy,.toolcall-toggle{display:inline-flex;align-items:center;justify-content:center;border:none;background:transparent;color:var(--text-faint);cursor:pointer;padding:3px;border-radius:5px}.toolcall-copy:hover,.toolcall-toggle:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-body{border-top:1px solid var(--border-soft);padding:8px 12px 10px}.toolcall-args pre{margin:0;font-family:var(--mono);font-size:12px;color:var(--text-dim);white-space:pre;overflow:auto;max-height:200px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px}.termline{display:flex;align-items:center;gap:8px;background:var(--code-bg);color:var(--code-fg);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:12.5px}.termline-icon{color:var(--green);flex-shrink:0}.termline code{color:var(--code-fg);word-break:break-all}.termline-timeout{margin-left:auto;color:color-mix(in srgb,var(--code-fg) 55%,transparent);font-size:11px;flex-shrink:0}.toolcall-output{margin-top:8px}.toolcall-output-label{display:flex;align-items:center;gap:6px;font-size:11px;text-transform:uppercase;letter-spacing:.6px;color:var(--text-faint);margin-bottom:4px}.toolcall-output-spacer{flex:1}.toolcall-md-toggle{border:none;background:transparent;color:var(--text-faint);text-transform:none;letter-spacing:normal;font-size:11px;cursor:pointer;padding:2px 6px;border-radius:5px}.toolcall-md-toggle:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-markdown{max-height:420px;overflow:auto;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:6px;padding:10px 14px}.toolcall-markdown .md{font-size:13px}.toolcall-code{max-height:420px;overflow:auto}.toolcall-zoom{position:relative;display:flex;flex-direction:column;width:100%;max-width:1040px;max-height:86vh;overflow:hidden;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c}.toolcall-zoom-head{display:flex;align-items:center;gap:8px;flex-shrink:0;padding:10px 14px;border-bottom:1px solid var(--border);background:var(--bg-elev);border-radius:12px 12px 0 0;font-size:13px}.toolcall-zoom-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.toolcall-zoom-close:hover{color:var(--text);background:var(--bg-elev2)}.toolcall-zoom-body{flex:1;overflow:auto;padding:14px}.toolcall-expand{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:0;border:none;border-radius:5px;background:transparent;color:var(--text-faint);cursor:pointer}.toolcall-expand svg{width:13px;height:13px}.toolcall-expand:hover{color:var(--accent);background:var(--accent-soft)}.toolcall-code .codeblock{margin:0}.toolcall-diff{max-height:420px;overflow:auto;background:var(--code-bg);border:1px solid var(--border);border-radius:8px;padding:6px 0;font-family:var(--mono);font-size:12.5px;line-height:1.55}.toolcall-diff-line{display:flex;padding:0 10px;white-space:pre}.toolcall-diff-line.add{background:var(--green-soft)}.toolcall-diff-line.del{background:var(--red-soft)}.toolcall-diff-gutter{flex:none;width:3.5em;margin-right:10px;color:color-mix(in srgb,var(--code-fg) 55%,transparent);text-align:right;-webkit-user-select:none;user-select:none}.toolcall-diff-line.add .toolcall-diff-gutter{color:var(--green)}.toolcall-diff-line.del .toolcall-diff-gutter{color:var(--red)}.toolcall-diff-line .toolcall-diff-code{flex:1;min-width:0;color:var(--code-fg);background:transparent;padding:0}.toolcall-output pre{margin:0;max-height:320px;overflow:auto;background:var(--code-bg);border:1px solid var(--border-soft);border-radius:6px;padding:8px 10px;font-family:var(--mono);font-size:12px;line-height:1.5;color:var(--code-fg);white-space:pre;word-break:normal}.toolcall.err .toolcall-output pre{color:var(--red)}.toolcall-body.expanded .toolcall-code,.toolcall-body.expanded .toolcall-diff,.toolcall-body.expanded .toolcall-markdown,.toolcall-body.expanded pre,.toolcall-body.toolcall-zoom-body .toolcall-code,.toolcall-body.toolcall-zoom-body .toolcall-diff,.toolcall-body.toolcall-zoom-body .toolcall-markdown,.toolcall-body.toolcall-zoom-body pre{max-height:none}.toolcall-waiting{margin-top:8px;font-size:12px;color:var(--text-faint)}.bashblock{margin:8px 0;border:1px solid var(--border);border-radius:8px;background:#0b0d12;overflow:hidden}.bashblock-command{display:flex;align-items:center;gap:8px;padding:7px 12px;font-family:var(--mono);font-size:12.5px;border-bottom:1px solid var(--border-soft)}.bashblock-prompt{color:var(--green);font-weight:700}.bashblock-exit{margin-left:auto;font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--border)}.bashblock-exit.ok{color:var(--green)}.bashblock-exit.err{color:var(--red)}.bashblock-output{margin:0;padding:10px 12px;font-family:var(--mono);font-size:12px;line-height:1.5;color:#c9d1d9;white-space:pre;overflow:auto;max-height:320px}.queued-msg{display:flex;justify-content:flex-end;padding:6px 16px}.queued-bubble{max-width:min(85%,720px);background:var(--accent-soft);border:1px dashed color-mix(in srgb,var(--accent) 35%,transparent);border-radius:12px;padding:8px 12px;opacity:.75}.queued-tag{display:inline-block;font-size:10px;line-height:1.4;padding:1px 7px;border-radius:999px;margin-bottom:4px;font-weight:600}.queued-tag.steer{color:var(--amber);background:#fbbf2424}.queued-tag.follow{color:var(--text-dim);background:var(--bg-elev2)}.queued-text{white-space:pre-wrap;word-break:break-word;font-size:13px;color:var(--text)}.msg-user .msg-body{background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);border-radius:12px;padding:10px 14px}.pending-echo{opacity:.62}.pending-echo-tag{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--text-faint)}.pending-echo-tag .thinking-spinner{width:10px;height:10px}.msg-error{color:var(--red);background:var(--red-soft);border:1px solid rgba(248,113,113,.35);border-radius:8px;padding:8px 12px;margin-bottom:8px;font-size:13px}.empty-state{display:flex;flex-direction:column;align-items:center;text-align:center;padding:70px 20px 30px;color:var(--text-dim)}.empty-logo-wrap{position:relative;margin-bottom:20px}.empty-logo{width:68px;height:68px;display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:700;color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1 60%,#4f46e5);border-radius:20px;box-shadow:0 16px 44px color-mix(in srgb,var(--accent) 38%,transparent),inset 0 1px #ffffff38}.empty-logo-wrap:before{content:"";position:absolute;top:-18px;right:-18px;bottom:-18px;left:-18px;border-radius:32px;background:radial-gradient(ellipse at center,color-mix(in srgb,var(--accent) 28.000000000000004%,transparent),transparent 70%);z-index:-1}.empty-title{margin:0 0 6px;color:var(--text);font-size:22px;font-weight:650;letter-spacing:.3px}.empty-sub{margin:0 0 16px;font-size:13px;color:var(--text-faint)}.empty-cwd{display:inline-flex;align-items:center;gap:7px;max-width:min(560px,80vw);padding:4px 12px;border:1px solid var(--border-soft);border-radius:999px;background:var(--bg-elev);font-size:11.5px}.empty-cwd-label{color:var(--text-faint);flex-shrink:0}.empty-cwd-path{color:var(--text-dim);font-family:var(--mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty-examples{margin-top:34px;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px;width:min(560px,90vw)}.empty-example{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev);color:var(--text-dim);font-size:13px;text-align:left;cursor:pointer;transition:border-color .15s,background .15s,transform .12s,box-shadow .15s}.empty-example:hover{border-color:color-mix(in srgb,var(--accent) 50%,transparent);background:var(--accent-soft);color:var(--text);transform:translateY(-1px);box-shadow:0 8px 22px color-mix(in srgb,var(--accent) 16%,transparent)}.empty-example-icon{font-size:17px;flex-shrink:0}.empty-example-text{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.streaming-wait,.boot-wait{text-align:center;color:var(--text-faint);padding:60px 20px;font-size:13px}.assistant-wait{display:inline-flex;align-items:center;gap:7px;font-size:13px;color:var(--text-faint)}.scroll-bottom{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;padding:6px 14px;border-radius:999px;border:1px solid var(--border);background:var(--bg-elev2);color:var(--text-dim);font-size:12px;cursor:pointer;box-shadow:0 6px 20px #0006}.scroll-bottom:hover{color:var(--text);border-color:var(--accent)}.qn-rail{position:absolute;top:10px;bottom:10px;right:14px;width:24px;z-index:15;border-radius:12px;background:transparent;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--rail-gap, 27px)}.qn-rail:before{content:"";position:absolute;top:0;bottom:0;right:100%;width:260px;pointer-events:none}.qn-rail:hover:before{pointer-events:auto}.qn-bar{position:relative;flex-shrink:0;width:16px;height:3px;border:none;border-radius:2px;background:#ffffff2e;cursor:pointer;padding:0;transition:background .12s}.qn-bar:hover{background:#ffffff61}.qn-bar.active{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 65%,transparent)}.qn-bar-text{position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);width:210px;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.3;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;padding:3px 9px;pointer-events:auto;visibility:hidden;opacity:0;transition:opacity .15s ease,visibility 0s}.qn-rail:hover .qn-bar-text{visibility:visible;opacity:1}.qn-rail:not(:hover) .qn-bar-text{transition:opacity .15s ease,visibility 0s}.qn-bar:hover .qn-bar-text{color:var(--text);border-color:var(--accent)}.qn-bar.active .qn-bar-text{color:var(--text);border-color:color-mix(in srgb,var(--accent) 55%,transparent)}.qn-rail.many .qn-bar-text{display:none}.qn-list{position:absolute;right:calc(100% + 10px);top:0;bottom:0;width:230px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:6px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 30px #00000073;pointer-events:none;visibility:hidden;opacity:0;transition:opacity .15s ease,visibility 0s}.qn-rail.many:hover .qn-list{pointer-events:auto;visibility:visible;opacity:1}.qn-rail.many:not(:hover) .qn-list{transition:opacity .15s ease,visibility 0s}.qn-list-item{display:flex;align-items:center;gap:8px;flex-shrink:0;min-height:26px;padding:3px 8px;border:none;border-radius:7px;background:transparent;color:var(--text-dim);font-size:11.5px;line-height:1.3;text-align:left;cursor:pointer;transition:background .12s,color .12s}.qn-list-item:hover{background:var(--bg-elev);color:var(--text)}.qn-list-item.active{background:color-mix(in srgb,var(--accent) 30%,transparent);color:#fff}.qn-list-idx{flex-shrink:0;min-width:17px;height:17px;line-height:17px;text-align:center;border-radius:5px;background:#00000059;color:var(--text-faint);font-size:10px;font-weight:700;font-family:var(--mono)}.qn-list-item.active .qn-list-idx{background:var(--accent);color:#fff}.qn-list-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.qn-tag{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;align-self:center;margin-left:auto;padding:3px 8px 3px 7px;border:1px solid var(--border);border-radius:999px;background:var(--bg);color:var(--text-faint);font-family:var(--mono);font-size:10px;line-height:1;cursor:pointer;transition:border-color .12s,background .12s,color .12s}.qn-tag-bar{width:16px;height:3px;border-radius:2px;background:#ffffff38;transition:background .12s}.qn-tag:hover{background:var(--bg-elev2);border-color:var(--accent);color:var(--text)}.qn-tag:hover .qn-tag-bar{background:var(--accent)}.qn-tag.active{border-color:color-mix(in srgb,var(--accent) 55%,transparent);color:var(--accent)}.qn-tag.active .qn-tag-bar{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 65%,transparent)}@keyframes qn-flash{0%{background-color:color-mix(in srgb,var(--accent) 32%,transparent)}to{background-color:transparent}}.msg-flash{border-radius:8px;animation:qn-flash 1.6s ease-out}@media(max-width:640px){.qn-rail{display:none}}.goalbar{max-width:860px;margin:0 auto 8px;border:1px solid var(--border);border-radius:12px;background:var(--bg-elev1);padding:8px 10px;display:flex;flex-direction:column;gap:6px}.goalbar-row{display:flex;align-items:center;gap:8px}.goalbar-icon{color:var(--amber);display:inline-flex;align-items:center;font-size:15px;flex-shrink:0}.goalbar-spin{display:inline-block;animation:goalbar-spin 1s linear infinite}@keyframes goalbar-spin{to{transform:rotate(360deg)}}.goalbar-input{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-size:13px;padding:4px 2px}.goalbar-input::placeholder{color:var(--text-dim)}.goalbar-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:5px 12px;font-size:12px;cursor:pointer;flex-shrink:0}.goalbar-btn:disabled{opacity:.45;cursor:default}.goalbar-btn.wizard{background:var(--amber)}.goalbar-active.wizard{border-color:var(--amber)}.msg-goal-wizard.msg-custom{border-left:3px solid var(--amber)}.goalbar-icon-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;display:inline-flex;align-items:center;padding:4px;border-radius:6px;font-size:15px;flex-shrink:0}.goalbar-icon-btn:hover{color:var(--text);background:var(--bg-elev2)}.goalbar-opts{display:flex;align-items:center;gap:14px;font-size:12px;color:var(--text-dim)}.goalbar-opt{cursor:pointer;padding:2px 6px;border-radius:6px}.goalbar-opt:hover{background:var(--bg-elev2)}.goalbar-opt b{color:var(--text);font-weight:600}.goalbar-round{display:inline-flex;align-items:center;gap:6px;color:var(--text-dim);font-size:12px}.goalbar-round input{width:54px;padding:3px 6px;font-size:12px;color:var(--text);background:var(--bg-elev2);border:1px solid var(--border);border-radius:6px;outline:none;text-align:center}.goalbar-round input:focus{border-color:var(--accent)}.goalbar-round input::placeholder{color:var(--text-faint)}.goalbar-lock-hint{color:var(--text-dim)}.goalbar-active{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--bg-elev1))}.goalbar-active.reviewing{border-color:var(--green)}.goalbar-active-row{display:flex;align-items:center;gap:10px;font-size:13px}.goalbar-text{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);flex:1;min-width:0}.goalbar-chip{flex-shrink:0;font-size:11px;padding:2px 8px;border-radius:10px;background:var(--bg-elev2);color:var(--text-dim);white-space:nowrap}.goalbar-chip.reviewing,.goalbar-chip.pass{background:var(--green);color:#fff}.goalbar-chip.fail{background:var(--red);color:#fff}.goalbar-detail{color:var(--text-dim);font-size:12px;flex-shrink:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:30%}.goalbar-x{background:transparent;border:none;color:var(--text-dim);cursor:pointer;padding:4px;display:inline-flex;border-radius:6px;flex-shrink:0}.goalbar-x:disabled{opacity:.4;cursor:default}.goalbar-x:hover:not(:disabled){color:var(--red);background:var(--bg-elev2)}.goalbar-collapsed{border:none;background:transparent;padding:0;align-items:flex-start}.goalbar-hint{background:transparent;border:none;color:var(--text-dim);font-size:12px;padding:4px 10px;cursor:pointer;border-radius:999px;display:inline-flex;align-items:center;gap:7px;border:1px dashed var(--border);background:var(--bg-elev1);transition:border-color .15s,color .15s}.goalbar-hint svg{color:var(--amber)}.goalbar-hint:hover{color:var(--text);border-color:var(--amber);border-style:solid}.goalbar-hint span{white-space:nowrap}.msg-goal-review{border-left:3px solid var(--amber)}.msg-goal-review.msg-custom{background:transparent}.inputbar{flex-shrink:0;padding:12px 20px 14px;position:relative}.queue-hint{max-width:860px;margin:0 auto 8px;display:flex;gap:14px;font-size:12px;color:var(--amber)}.inputbox{max-width:860px;margin:0 auto;display:flex;flex-direction:column;gap:8px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:16px;padding:10px;transition:border-color .2s ease,box-shadow .2s ease;box-shadow:inset 0 1px #ffffff0a,0 4px 18px #00000047}.inputbox-row{display:flex;align-items:flex-end;gap:10px;min-width:0}.input-tools{display:none}.inputbox:focus-within{border-color:color-mix(in srgb,var(--accent) 55%,var(--border));box-shadow:inset 0 1px #ffffff0a,0 0 0 3px var(--accent-soft),0 6px 22px #00000052}.inputbox textarea{flex:1;resize:none;border:none;outline:none;background:transparent;color:var(--text);font-family:var(--sans);font-size:14.5px;line-height:1.6;max-height:220px;padding:6px 2px;caret-color:var(--accent);overflow:hidden}.inputbox textarea::placeholder{color:var(--text-faint)}.inputbox textarea:disabled{opacity:.6}.inputbox-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;padding-bottom:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--border);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;transition:all .15s}.btn:disabled{opacity:.4;cursor:default}.inputbox .btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;padding:0;border:1px solid var(--border);border-radius:50%;background:transparent;color:var(--text-dim);cursor:pointer;transition:background .18s,color .18s,border-color .18s,transform .18s,box-shadow .18s,filter .18s;flex-shrink:0}.inputbox .btn svg{width:17px;height:17px}.inputbox .btn:disabled{opacity:.4;cursor:default}.inputbox .btn.attach-img{border:none;color:var(--text-faint)}.inputbox .btn.attach-img:hover:not(:disabled){background:var(--accent-soft);color:var(--accent)}.inputbox .btn.send{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 2px 10px #3b82f659}.inputbox .btn.send:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .btn.stop{background:#3b82f6;border-color:#3b82f6;color:#fff;box-shadow:0 2px 10px #3b82f659}.inputbox .btn.stop:hover:not(:disabled){background:#2563eb;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 16px #3b82f673}.inputbox .btn.supplement{width:auto;border-radius:999px;padding:0 16px;gap:5px;font-size:13px;border-color:color-mix(in srgb,var(--accent) 45%,transparent);color:var(--accent)}.inputbox .btn.supplement:hover:not(:disabled){background:var(--accent);border-color:var(--accent);color:#fff}.slash-menu{position:absolute;bottom:calc(100% - 4px);left:50%;transform:translate(-50%);width:min(860px,calc(100% - 40px));max-height:min(320px,50vh);overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:14px;box-shadow:0 -6px 24px #00000059,0 2px 12px #00000040;z-index:60;padding:6px}.slash-menu-hint{display:flex;align-items:center;justify-content:space-between;padding:4px 10px 8px;font-size:11.5px;color:var(--text-faint);border-bottom:1px dashed var(--border);margin-bottom:6px}.slash-menu-close{cursor:pointer;opacity:.7}.slash-menu-close:hover{opacity:1}.slash-item{display:flex;align-items:baseline;gap:10px;width:100%;padding:7px 10px;border:none;border-radius:9px;background:transparent;color:var(--text);font-family:var(--sans);font-size:13.5px;text-align:left;cursor:pointer}.slash-item.active{background:var(--accent-soft)}.slash-name{font-family:var(--mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.slash-desc{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim);font-size:12.5px}.slash-hint{color:var(--text-faint);font-family:var(--mono);font-size:11.5px;margin-left:6px}.slash-source{flex-shrink:0;font-size:10.5px;padding:1px 7px;border-radius:999px;border:1px solid var(--border);color:var(--text-faint);white-space:nowrap}.slash-source.builtin{color:var(--green);border-color:color-mix(in srgb,var(--green) 45%,transparent)}.slash-source.extension{color:var(--amber);border-color:color-mix(in srgb,var(--amber) 45%,transparent)}.slash-source.prompt{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 45%,transparent)}.slash-source.skill{color:#5eb3ff;border-color:color-mix(in srgb,#5eb3ff 45%,transparent)}.slash-source.plugin{color:#b58cff;border-color:color-mix(in srgb,#b58cff 45%,transparent)}.slash-help{max-width:860px;width:100%;max-height:min(560px,80vh);display:flex;flex-direction:column;background:var(--bg-elev2);border:1px solid var(--border);border-radius:16px;box-shadow:0 18px 60px #00000080;overflow:hidden}.slash-help-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--border);font-size:15px;font-weight:600}.slash-help-body{overflow-y:auto;padding:8px 12px 14px}.slash-help-row{display:flex;align-items:baseline;gap:10px;padding:7px 8px;border-radius:8px}.slash-help-row:hover{background:var(--bg-elev1)}.slash-help-cmd{font-family:var(--mono);font-size:12.5px;color:var(--accent);white-space:nowrap}.slash-help-desc{flex:1;color:var(--text-dim);font-size:13px}.slash-help-empty{padding:24px;text-align:center;color:var(--text-faint)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--text-faint) 55%,transparent);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--text-faint) 80%,transparent)}::-webkit-scrollbar-track{background:transparent}*{scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--text-faint) 55%,transparent) transparent}@media(max-width:640px){.chip-model{max-width:120px}.brand-name,.conn-label{display:none}}.dialog-inline{display:flex;flex-direction:column;gap:10px;width:min(100% - 40px,860px);margin:0 auto 8px;max-height:45vh;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--accent);border-left:3px solid var(--accent);border-radius:10px;box-shadow:0 8px 24px #00000059;padding:12px 14px;animation:dialog-slide-up .18s ease-out}@keyframes dialog-slide-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.dialog-head{display:flex;align-items:center;gap:8px;min-width:0}.dialog-badge{flex-shrink:0;font-size:11px;font-weight:700;color:var(--accent);border:1px solid var(--accent);border-radius:999px;padding:1px 8px;white-space:nowrap}.dialog-title{flex:1;font-size:13px;font-weight:700;color:var(--text);white-space:pre-wrap;word-break:break-word}.dialog-dismiss{flex-shrink:0;margin-left:auto;background:none;border:none;color:var(--text-faint);cursor:pointer;font-size:13px;line-height:1;padding:4px 6px;border-radius:6px}.dialog-dismiss:hover{color:var(--text);background:var(--bg-elev)}.dialog-options{display:flex;flex-direction:column;gap:8px}.dialog-option{display:block;width:100%;text-align:left;border:1px solid var(--border);border-radius:8px;background:var(--bg-elev);color:var(--text);padding:9px 12px;font-size:13px;line-height:1.5;cursor:pointer;white-space:pre-wrap;word-break:break-word;transition:border-color .12s,background .12s}.dialog-option:hover,.dialog-option.sel{border-color:var(--accent);background:var(--accent-soft)}.dialog-hint{color:var(--text-faint);font-size:13px}.dialog-body{font-size:13px;color:var(--text-dim);white-space:pre-wrap;word-break:break-word}.dialog-body p{margin:0 0 8px}.dialog-input{width:100%;border:1px solid var(--border);border-radius:8px;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:14px;padding:9px 12px;outline:none}.dialog-input:focus{border-color:var(--accent)}.dialog-actions{display:flex;justify-content:flex-end;gap:8px}.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.btn.primary:hover:not(:disabled){filter:brightness(1.12)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;display:flex;align-items:center;justify-content:center;background:#0405089e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:24px}.modal{position:relative;display:flex;flex-direction:column;gap:14px;width:100%;max-width:460px;max-height:84vh;overflow-y:auto;background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c;padding:20px 22px}.model-modal{max-width:640px}.settings-modal{max-width:760px;height:min(74vh,720px);overflow-y:hidden}.settings-modal .modal-head,.settings-modal .modal-actions,.settings-modal>.modal-close{flex-shrink:0}.settings-modal .modal-body{flex:1 1 auto;min-height:0;min-width:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px}.settings-layout{flex:1 1 auto;min-height:0;display:flex;gap:12px;margin-top:2px}.settings-rail{flex:none;width:156px;display:flex;flex-direction:column;gap:2px;overflow-y:auto;padding:2px}.settings-tab{display:flex;align-items:center;gap:8px;width:100%;border:none;border-radius:8px;background:transparent;color:var(--text-dim);font-size:13px;padding:7px 9px;cursor:pointer;text-align:left;transition:background .15s,color .15s}.settings-tab:hover{background:var(--bg-elev);color:var(--text)}.settings-tab.active{background:var(--accent-soft);color:var(--accent);font-weight:600}.settings-tab-icon{display:inline-flex;flex:none;font-size:13px}.settings-tab-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.settings-tab .set-count{margin-left:auto;flex:none}@media(max-width:640px){.settings-rail{width:42px;padding:2px}.settings-tab{justify-content:center;padding:7px 4px}.settings-tab-label,.settings-tab .set-count{display:none}}.set-section{display:flex;flex-direction:column;gap:8px;padding:12px;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:10px}.set-section-title{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:600;color:var(--text)}.set-section-icon{color:var(--accent);font-size:14px}.set-count{margin-left:auto;font-size:11px;font-weight:500;color:var(--text-dim);background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:999px;padding:1px 8px}.set-mode-row{display:flex;align-items:center;gap:10px}.set-field-label{font-size:12px;color:var(--text-dim)}.set-select{flex:1;max-width:160px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:6px 8px;font-size:13px;outline:none}.set-select:focus{border-color:var(--accent)}.set-prompt-input{width:100%;box-sizing:border-box;resize:vertical;min-height:140px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:10px 12px;font-size:13px;font-family:inherit;line-height:1.6;outline:none}.set-prompt-input:focus{border-color:var(--accent)}.set-view-prompt-btn{align-self:flex-start;background:none;border:none;color:var(--accent);font-size:12px;padding:2px 0;cursor:pointer}.set-view-prompt-btn:hover{text-decoration:underline}.set-prompt-view{display:flex;flex-direction:column;gap:6px;border:1px solid var(--border);border-radius:8px;padding:8px 10px;background:var(--bg-elev2)}.set-prompt-view-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:var(--text-dim)}.set-prompt-view-text{margin:0;max-height:320px;overflow:auto;white-space:pre-wrap;word-break:break-word;font-size:12px;line-height:1.55;font-family:var(--mono, ui-monospace, monospace);color:var(--text);-webkit-user-select:text;user-select:text}.set-hint{margin:0;font-size:12px;color:var(--text-dim);line-height:1.5}.set-tip{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:none;width:15px;height:15px;margin-left:6px;border:1px solid var(--border);border-radius:50%;font-size:10px;line-height:1;color:var(--text-dim);cursor:help;-webkit-user-select:none;user-select:none}.set-tip:hover,.set-tip:focus-visible{color:var(--text);border-color:var(--text-dim);outline:none}.set-tip-bubble{display:none;position:absolute;left:-8px;top:calc(100% + 8px);width:max-content;max-width:min(320px,72vw);padding:8px 11px;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;box-shadow:0 6px 22px #00000059;color:var(--text);font-size:12px;line-height:1.55;white-space:normal;text-align:left;z-index:60;pointer-events:none}.set-tip:hover .set-tip-bubble,.set-tip:focus-visible .set-tip-bubble{display:block}.set-tip.flip .set-tip-bubble{left:auto;right:-8px}.set-tip-line{display:flex;align-items:center;min-height:18px}.set-list{display:flex;flex-direction:column;gap:6px;max-height:260px;overflow-y:auto}.set-row{display:flex;align-items:center;gap:10px;padding:7px 9px;background:var(--bg-elev2);border:1px solid var(--border-soft);border-radius:8px}.set-row-info{flex:1;min-width:0}.set-row-name{font-size:13px;color:var(--text);word-break:break-all}.set-row-desc{font-size:11px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.set-uninstall{flex:none;display:inline-flex;align-items:center;gap:4px;padding:3px 8px;font-size:11px;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;transition:color .15s,border-color .15s}.set-uninstall:hover{color:var(--red);border-color:var(--red)}.set-uninstall.confirm{color:var(--red);border-color:var(--red);font-weight:600}.set-switch{flex:none;position:relative;width:36px;height:20px;border:none;border-radius:999px;background:var(--border);cursor:pointer;transition:background .15s;padding:0}.set-switch.on{background:var(--accent)}.set-switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .15s}.set-switch.on .set-switch-knob{left:18px}.set-preset-save{display:flex;align-items:center;width:100%;gap:8px}.set-input{flex:1;min-width:0;background:var(--bg-elev2);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:9px 12px;font-size:13px;outline:none}.set-save-btn{display:inline-flex;align-items:center;gap:6px;flex:none;padding:9px 14px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:8px;background:transparent;color:var(--accent);font-size:13px;cursor:pointer;white-space:nowrap}.set-save-btn:hover:not(:disabled){background:var(--bg-elev2)}.set-save-btn:disabled{opacity:.45;cursor:not-allowed}.set-input:focus{border-color:var(--accent)}.set-row-actions{display:flex;align-items:center;gap:6px;flex:none}.set-icon-btn{display:flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border-soft);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.set-icon-btn:hover{color:var(--text);background:var(--bg-elev)}.set-icon-btn.danger:hover{color:var(--red)}.set-empty{margin:0;font-size:12px;color:var(--text-dim)}.modal-close{position:sticky;top:12px;align-self:flex-end;margin-bottom:-42px;z-index:3;display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.modal-close:hover{color:var(--text);background:var(--bg-elev)}.modal-head{display:flex;align-items:center;gap:10px}.modal-head-icon{color:var(--accent);font-size:18px}.modal-head h2{font-size:16px;margin:0}.modal-desc{margin:0;color:var(--text-dim);font-size:13px;line-height:1.6}.modal-desc code{background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:4px;padding:1px 5px;font-size:12px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.setup-actions{display:flex;gap:10px;margin-top:6px}.setup-key-form{display:flex;flex-direction:column;gap:12px}.setup-done{color:var(--text);font-size:13px;line-height:1.6}.setup-failed{display:flex;flex-direction:column;gap:10px}.setup-detail{margin:0;max-height:140px;overflow-y:auto;white-space:pre-wrap;word-break:break-all;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px;font-size:12px;color:#fca5a5}.field{display:flex;flex-direction:column;gap:5px}.field-label{font-size:12px;color:var(--text-dim)}.field-label em{font-style:normal;opacity:.7}.field input,.field select{background:var(--bg-elev);border:1px solid var(--border);border-radius:8px;color:var(--text);padding:8px 10px;font-size:13px;outline:none}.field input:focus,.field select:focus{border-color:var(--accent)}.field.check{flex-direction:row;align-items:center;gap:8px;font-size:13px;color:var(--text)}.field-hint{font-size:12px;color:var(--text-dim)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.form-section-title{font-size:12px;font-weight:700;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;margin-top:4px}.model-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:8px}.model-section-head .form-section-title{margin:0}.model-section-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.fetch-msg{font-size:12px;max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fetch-msg.ok{color:var(--green)}.fetch-msg.err{color:var(--red)}.section-hint{font-weight:400;text-transform:none;letter-spacing:0;opacity:.75}.auth-badge{display:inline-block;margin-left:6px;padding:1px 7px;border-radius:99px;font-size:11px;color:#6ee7a0;background:#34d3991f;border:1px solid rgba(52,211,153,.25);vertical-align:1px}.auth-badge.dim{color:var(--text-dim);background:var(--bg-elev);border-color:var(--border)}.key-input{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 9px;font-size:12.5px;outline:none;width:190px}.key-input:focus{border-color:var(--accent)}.btn.sm{padding:6px 10px;font-size:12px}.provider-list{display:flex;flex-direction:column;gap:8px}.provider-row{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--bg-elev);border:1px solid var(--border-soft);border-radius:8px;padding:10px 12px}.provider-info{display:flex;flex-direction:column;gap:2px;min-width:0}.provider-name{font-size:13.5px;font-weight:600;color:var(--text)}.provider-sub{font-size:12px;color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.provider-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.iconbtn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer}.iconbtn:hover{color:var(--text);background:var(--bg-elev)}.btn.sm.danger{color:var(--red);border-color:var(--red)}.btn.sm.danger:hover{background:var(--red);color:#fff}.iconbtn.danger{color:#fca5a5}.iconbtn.danger:hover{background:var(--red-soft)}.model-row{display:grid;grid-template-columns:1.4fr 1fr 110px auto 88px 88px 28px;gap:8px;align-items:center;margin-bottom:8px}.model-row input,.model-row select{background:var(--bg-elev);border:1px solid var(--border);border-radius:6px;color:var(--text);padding:6px 8px;font-size:12.5px;outline:none;min-width:0}.model-row input:focus,.model-row select:focus{border-color:var(--accent)}.model-row .check{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-dim);white-space:nowrap}@media(max-width:640px){.form-grid,.model-row{grid-template-columns:1fr}}.sound-menu{display:flex;flex-direction:column;gap:2px;width:300px}.sound-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;transition:background .12s}.sound-row:hover{background:var(--bg-elev)}.sound-row.disabled{opacity:.45;pointer-events:none}.sound-row input[type=checkbox]{width:15px;height:15px;accent-color:var(--accent);cursor:pointer;flex-shrink:0}.sound-label{display:flex;align-items:center;gap:8px;min-width:0}.sound-master .sound-name{font-weight:700}.sound-icon{color:var(--accent);flex-shrink:0}.sound-name{font-size:13px;color:var(--text)}.sound-desc{font-size:11px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sound-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.sound-preview{border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);font-size:11px;padding:2px 8px;cursor:pointer;transition:border-color .12s,color .12s}.sound-preview:hover:not(:disabled){border-color:var(--accent);color:var(--text)}.sound-preview:disabled{opacity:.4;cursor:default}.sound-volume{display:flex;align-items:center;gap:10px;padding:8px 10px}.sound-volume.disabled{opacity:.45;pointer-events:none}.sound-volume input[type=range]{flex:1;accent-color:var(--accent);cursor:pointer}.sound-vol-num{font-size:11px;color:var(--text-faint);min-width:34px;text-align:right}.fp-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:250;display:flex;align-items:center;justify-content:center;background:#0405089e;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);padding:28px}.fp-overlay.fullscreen{padding:0}.fp{display:flex;flex-direction:column;width:100%;max-width:1120px;height:min(88vh,880px);background:var(--bg-elev2);border:1px solid var(--border);border-radius:12px;box-shadow:0 24px 64px #0000008c;overflow:hidden}.fp.fullscreen{width:100vw;height:100vh;max-width:none;max-height:none;border-radius:0;border-left:0;border-right:0}.fp-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--border-soft);flex-shrink:0;min-width:0}.fp-name{font-family:var(--mono);font-size:13px;font-weight:700;color:var(--text);white-space:nowrap}.fp-path{font-family:var(--mono);font-size:11px;color:var(--text-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0}.fp-meta{font-size:11px;color:var(--text-faint);flex-shrink:0;white-space:nowrap}.fp-head-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.fp-attach{position:relative;display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);cursor:pointer}.fp-attach.inline:hover{background:var(--accent);border-color:var(--accent);color:#fff}.fp-attach.ref:hover{background:var(--amber);border-color:var(--amber);color:#1a1a1a}.fp-attach.wrap:hover,.fp-attach.wrap.on,.fp-attach.edit:hover,.fp-attach.edit.on,.fp-attach.zoom-in:hover,.fp-attach.zoom-out:hover,.fp-attach.full:hover,.fp-attach.full.on{background:var(--accent);border-color:var(--accent);color:#fff}.fp-attach:disabled{opacity:.45;cursor:not-allowed}.fp-attach:disabled:hover{background:var(--bg-elev);border-color:var(--border);color:var(--text-dim)}.fp-attach:after{content:attr(data-tip);position:absolute;top:calc(100% + 8px);right:0;background:var(--tooltip-bg);color:var(--tooltip-fg);border:1px solid var(--border);border-radius:6px;padding:4px 9px;font-size:11px;line-height:1.4;white-space:nowrap;pointer-events:none;opacity:0;transition:opacity .09s ease;z-index:40;box-shadow:0 4px 14px #00000073}.fp-attach:hover:after{opacity:1}.fp-zoom{display:inline-flex;align-items:center;gap:4px}.fp-zoom-val{min-width:42px;height:26px;padding:0 4px;border:1px solid var(--border);border-radius:6px;background:var(--bg-elev);color:var(--text-dim);font-size:10.5px;line-height:1;text-align:center;cursor:pointer}.fp-zoom-val:hover{border-color:var(--accent);color:var(--text)}.fp-close{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border:1px solid var(--border);border-radius:6px;background:transparent;color:var(--text-dim);cursor:pointer;margin-left:2px}.fp-close:hover{color:var(--red);border-color:var(--red)}.fp-notice{padding:7px 14px;font-size:11.5px;color:var(--amber);background:#fbbf2414;border-bottom:1px solid var(--border-soft);flex-shrink:0}.fp-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--text-faint);font-size:13px;padding:40px}.fp-hex-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.fp-hex{flex:1;overflow:auto;margin:0;padding:12px 14px;background:#00000038;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:calc(12px * var(--fp-zoom, 1));line-height:1.55;color:var(--text-dim);white-space:pre;-webkit-user-select:text;user-select:text}.fp-code{flex:1;overflow:auto;background:var(--code-bg);font-family:var(--mono);font-size:calc(12px * var(--fp-zoom, 1));line-height:1.6;padding:6px 0;user-select:none;-webkit-user-select:none}.fp-markdown{flex:1;min-width:0;min-height:0;overflow:auto;padding:22px clamp(18px,4vw,48px) 34px;background:radial-gradient(circle at 10% 0%,var(--accent-soft),transparent 34%),var(--bg);color:var(--text);font-size:14px;line-height:1.8;word-break:break-word;overflow-wrap:anywhere}.fp-markdown-zoom{zoom:var(--fp-zoom, 1)}.fp-markdown-zoom>.md{width:100%;max-width:860px;min-width:0;margin:0 auto}.fp.fullscreen .fp-markdown-zoom>.md{max-width:none}.fp-markdown h1,.fp-markdown h2,.fp-markdown h3,.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{position:relative;margin:1.35em 0 .55em;color:var(--text);font-weight:750;line-height:1.28;letter-spacing:-.015em}.fp-markdown h1{margin-top:0;padding-bottom:.42em;border-bottom:1px solid var(--border);font-size:clamp(24px,3vw,34px);letter-spacing:-.03em}.fp-markdown h2{padding-bottom:.28em;border-bottom:1px solid var(--border-soft);font-size:clamp(19px,2.2vw,25px)}.fp-markdown h3{color:var(--accent);font-size:19px}.fp-markdown h4,.fp-markdown h5,.fp-markdown h6{font-size:16px}.fp-markdown p{margin:.8em 0;line-height:1.85}.fp-markdown p:first-child{margin-top:0}.fp-markdown p:last-child{margin-bottom:0}.fp-markdown strong{color:var(--text);font-weight:720}.fp-markdown em{color:var(--accent)}.fp-markdown del{color:var(--text-faint)}.fp-markdown a{color:var(--accent);text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--accent) 45%,transparent);text-underline-offset:3px;transition:color .12s,text-decoration-color .12s}.fp-markdown a:hover{color:var(--text);text-decoration-color:currentColor}.fp-markdown ul,.fp-markdown ol{margin:.8em 0;padding-left:1.8em}.fp-markdown li{margin:.28em 0;padding-left:.2em}.fp-markdown li::marker{color:var(--accent);font-weight:700}.fp-markdown li>p{margin:.35em 0}.fp-markdown blockquote{margin:1.1em 0;padding:.7em 1.1em;border:1px solid color-mix(in srgb,var(--accent) 20%,transparent);border-left:4px solid var(--accent);border-radius:0 10px 10px 0;background:var(--accent-soft);color:var(--text-dim)}.fp-markdown blockquote p:last-child{margin-bottom:0}.fp-markdown hr{margin:1.8em 0;border:0;border-top:1px solid var(--border)}.fp-markdown table{display:block;width:100%;max-width:100%;overflow-x:auto;margin:1.15em 0;border-collapse:collapse;border-spacing:0;font-size:13px}.fp-markdown thead{background:var(--accent-soft)}.fp-markdown th,.fp-markdown td{min-width:90px;padding:8px 12px;border:1px solid var(--border);text-align:left;vertical-align:top;line-height:1.55}.fp-markdown th{color:var(--text);font-weight:700;white-space:nowrap}.fp-markdown tbody tr:nth-child(2n){background:var(--bg-elev2)}.fp-markdown tbody tr:hover{background:var(--accent-soft)}.fp-markdown code{font-family:var(--mono);font-size:.88em;word-break:break-word}.fp-markdown :not(pre)>code{padding:.16em .42em;border:1px solid var(--border-soft);border-radius:5px;background:var(--accent-soft);color:var(--accent)}.fp-markdown .codeblock{max-width:100%;min-width:0;margin:1.1em 0}.fp-markdown .codeblock pre{max-width:100%;min-width:0;padding:14px 16px;border-color:var(--border);border-radius:10px;font-size:12.5px;line-height:1.65}.fp-markdown .codeblock pre code{white-space:pre;word-break:normal}.fp-markdown .mermaid-block{max-width:100%;min-width:0;margin:1.1em 0;padding:18px;border-radius:10px}.fp-markdown img{display:block;box-sizing:border-box;width:auto;max-width:100%;height:auto;max-height:min(62vh,680px);margin:1.15em auto;border:1px solid var(--border);border-radius:10px;background:var(--bg-elev);box-shadow:0 10px 28px #00000038;object-fit:contain}.fp-markdown figcaption{margin-top:-.7em;color:var(--text-faint);font-size:12px;font-style:italic;text-align:center}.fp-markdown input[type=checkbox]{margin-right:.45em;accent-color:var(--accent)}.fp-markdown kbd{padding:.12em .45em;border:1px solid var(--border);border-bottom-width:2px;border-radius:5px;background:var(--bg-elev2);font-family:var(--mono);font-size:.82em;color:var(--text-dim)}.fp-editor{flex:1;min-height:0;width:100%;resize:none;border:none;outline:none;padding:12px 14px;background:#00000038;color:var(--text);font-family:var(--mono);font-size:calc(12px * var(--fp-zoom, 1));line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.fp-editor.no-wrap{white-space:pre;overflow-wrap:normal;overflow-x:auto}.fp-media-wrap{flex:1;min-width:0;min-height:0;overflow:auto;background:#00000038;display:flex;align-items:center;justify-content:center;padding:12px}.fp-media{display:block;width:auto;min-width:0;max-width:100%;max-height:100%;border-radius:4px;object-fit:contain}.fp-line{display:flex;gap:0;padding-right:16px;cursor:pointer}.fp-line:hover{background:color-mix(in srgb,var(--accent) 8%,transparent)}.fp-line.sel{background:color-mix(in srgb,var(--accent) 22%,transparent)}.fp-code.dragging .fp-line.sel{background:color-mix(in srgb,var(--accent) 30%,transparent)}.fp-num{flex-shrink:0;width:52px;padding-right:12px;text-align:right;color:var(--text-faint);background:transparent;border-right:1px solid var(--border-soft);margin-right:14px;user-select:none;-webkit-user-select:none}.fp-code-text{flex:1;min-width:0;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--code-fg)}.fp-code-text.hljs{background:transparent;padding:0}.fp-code.no-wrap .fp-code-text{white-space:pre;overflow-wrap:normal}.fp-line.sel .fp-code-text{color:var(--term-fg)}.fp-lines-note{padding:8px 16px 6px;font-size:11px;color:var(--text-faint)}.fp-foot{display:flex;align-items:center;gap:12px;padding:10px 14px;border-top:1px solid var(--border-soft);flex-shrink:0;background:var(--bg-elev)}.fp-hint{flex:1;min-width:0;font-size:12px;color:var(--text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fp-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.fp-actions .btn{display:inline-flex;align-items:center;gap:5px}@media(max-width:768px){.resize-handle,.topbar-desktop{display:none}.topbar-more{display:inline-flex}.topbar{padding:8px 10px;gap:8px;flex-wrap:nowrap}.brand-name,.conn-label,.brand-logo,.brand .conn-dot{display:none}.chip>span:not(.update-dot){display:none}.input-tools{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:nowrap}.input-tools-left,.input-tools-right{display:flex;align-items:center;gap:6px;min-width:0}.input-tools-right{flex-shrink:0}.inputbox-row .attach-img,.inputbox-row .inputbox-actions{display:none}.input-tools .chip>span:not(.update-dot){display:inline}.input-tools .chip-model{max-width:80px}.input-tools .chip{padding:5px 8px;flex-shrink:1;min-width:0}.input-tools .chip .chip-sub,.input-tools .chip .chip-model{overflow:hidden;text-overflow:ellipsis;min-width:0}.topbar-actions{gap:6px;flex-wrap:wrap;row-gap:6px}.dropdown .dd-menu{position:fixed;left:12px;right:12px;top:auto;bottom:calc(env(safe-area-inset-bottom,0px) + 12px);max-width:none;max-height:55vh;z-index:90}.dropdown.left .dd-menu{left:12px;right:12px}.sound-menu{width:100%}.chip{padding:6px 9px}.view-switch button{padding:5px 10px}.panel-toggle{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--border);border-radius:9px;background:var(--bg-elev2);color:var(--text-dim);font-size:15px;cursor:pointer;flex-shrink:0}.panel-toggle:active{background:var(--accent-soft);color:var(--accent)}.file-item .file-attach{display:inline-flex}.file-attach:after,.file-attach:before{display:none}.panel-drawer{display:block;position:fixed;top:0;bottom:0;z-index:60;width:min(300px,86vw);background:var(--bg-elev);transition:transform .25s ease}.panel-drawer.drawer-left{left:0;border-right:1px solid var(--border);box-shadow:8px 0 30px #00000059;transform:translate(-105%)}.panel-drawer.drawer-right{right:0;border-left:1px solid var(--border);box-shadow:-8px 0 30px #00000059;transform:translate(105%)}.panel-drawer.open{transform:translate(0)}.panel-drawer .panel{width:100%;height:100%;border:none}.term-main{position:relative;padding:54px 8px 8px}.term-commands{position:fixed;left:0;top:0;bottom:0;z-index:60;width:min(300px,86vw);transform:translate(-105%);transition:transform .25s ease;box-shadow:8px 0 30px #00000059;border-right:1px solid var(--border)}.term-commands.open{transform:translate(0)}.term-side-toggle{display:inline-flex;align-items:center;justify-content:center;position:absolute;top:10px;left:10px;z-index:20;width:36px;height:36px;border:1px solid var(--border);border-radius:9px;background:var(--bg-elev2);color:var(--text-dim);font-size:15px;cursor:pointer}.term-side-toggle:active{background:var(--accent-soft);color:var(--accent)}.msg{padding:6px 14px 12px}.inputbar{padding:10px 10px 12px}.inputbox{padding:8px 8px 8px 10px;gap:6px}.inputbox textarea{font-size:16px}.inputbox .btn{width:40px;height:40px}.attach-chip{max-width:78vw}.modal-backdrop,.fp-overlay{padding:10px;align-items:flex-end}.dialog-inline{width:calc(100% - 20px);max-height:55vh}.modal,.fp{width:100%;max-width:100%;max-height:94vh;border-radius:14px}.fp{height:92vh}.fp-markdown{padding:16px 14px 24px;font-size:13.5px}.fp-markdown img{max-height:50vh}.statusbar{flex-wrap:nowrap;padding:6px 10px;font-size:10.5px}.status-dot,.status-sep,.status-item:not(.status-ctx):not(.status-cwd){display:none}.status-ctx{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.status-cwd-wrap{flex:1;min-width:0;margin-left:auto}.status-cwd-input{font-size:12px}}.codeblock pre,.termline{border-radius:14px;border-color:#0f172a1f;box-shadow:0 12px 28px #0f172a1a}.toolcall-output pre,.toolcall-diff{border-radius:14px;box-shadow:0 12px 28px #0f172a1a}.fp-markdown h1,.fp-markdown h2,.fp-markdown h3{letter-spacing:-.02em}.toolcall-status{border:none;font-weight:700;letter-spacing:.2px;color:#fff;background:var(--text-faint)}.toolcall.run .toolcall-status{color:#fff;background:var(--amber)}.toolcall.ok .toolcall-status{color:#fff;background:var(--green)}.toolcall.err .toolcall-status{color:#fff;background:var(--red)}.btn.primary{border-radius:12px;font-weight:700;box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.inputbox .btn.send,.inputbox .btn.stop{background:var(--accent);border-color:var(--accent);box-shadow:0 8px 20px color-mix(in srgb,var(--accent) 35%,transparent)}.inputbox .btn.send:hover:not(:disabled),.inputbox .btn.stop:hover:not(:disabled){background:color-mix(in srgb,var(--accent) 85%,black);border-color:color-mix(in srgb,var(--accent) 85%,black);box-shadow:0 10px 24px color-mix(in srgb,var(--accent) 45%,transparent)}.fp-markdown{background:var(--bg)}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}/*!
|
|
2
2
|
Theme: GitHub Dark
|
|
3
3
|
Description: Dark theme as seen on github.com
|
|
4
4
|
Author: github.com
|
package/web/dist/assets/{infoDiagram-27XIBGKW-DSiF9D9z.js → infoDiagram-27XIBGKW-CXXuNoKy.js}
RENAMED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{_ as e,l as s,D as n,d as i}from"./mermaid.core-
|
|
1
|
+
import{_ as e,l as s,D as n,d as i}from"./mermaid.core-D8R7av1J.js";import{p}from"./cynefin-OW5HDTMX-Dlp7w0pR.js";import"./index-C6v7dw-m.js";import"./markdown-CUPbftfV.js";import"./react-ZkKJMDQQ.js";var g={parse:e(async r=>{const a=await p("info",r);s.debug(a)},"parse")},d={version:"11.17.2"},v=e(()=>d.version,"getVersion"),m={getVersion:v},c=e((r,a,o)=>{s.debug(`rendering info diagram
|
|
2
2
|
`+r);const t=n(a);i(t,100,400,!0),t.append("g").append("text").attr("x",100).attr("y",40).attr("class","version").attr("font-size",32).style("text-anchor","middle").text(`v${o}`)},"draw"),l={draw:c},y={parser:g,db:m,renderer:l};export{y as diagram};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{_ as o,c as ot,L as ut,D as dt,an as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as mt,s as wt,o as _t,d as bt}from"./mermaid.core-
|
|
1
|
+
import{_ as o,c as ot,L as ut,D as dt,an as yt,p as ft,k as pt,n as it,a as gt,b as kt,g as mt,s as wt,o as _t,d as bt}from"./mermaid.core-D8R7av1J.js";import"./index-C6v7dw-m.js";import"./markdown-CUPbftfV.js";import"./react-ZkKJMDQQ.js";var tt=(function(){var e=o(function(M,t,s,i){for(s=s||{},i=M.length;i--;s[M[i]]=t);return s},"o"),h=[1,4],r=[1,14],a=[1,12],l=[1,13],y=[6,7,8],f=[1,20],d=[1,18],m=[1,19],c=[6,7,11],k=[1,6,13,14],g=[1,23],_=[1,24],x=[1,6,7,11,13,14],N={trace:o(function(){},"trace"),yy:{},symbols_:{error:2,start:3,ishikawa:4,spaceLines:5,SPACELINE:6,NL:7,ISHIKAWA:8,document:9,stop:10,EOF:11,statement:12,SPACELIST:13,TEXT:14,$accept:0,$end:1},terminals_:{2:"error",6:"SPACELINE",7:"NL",8:"ISHIKAWA",11:"EOF",13:"SPACELIST",14:"TEXT"},productions_:[0,[3,1],[3,2],[5,1],[5,2],[5,2],[4,2],[4,3],[10,1],[10,1],[10,1],[10,2],[10,2],[9,3],[9,2],[12,2],[12,1],[12,1],[12,1]],performAction:o(function(t,s,i,u,p,n,v){var w=n.length-1;switch(p){case 6:case 7:return u;case 15:u.addNode(n[w-1].length,n[w].trim());break;case 16:u.addNode(0,n[w].trim());break}},"anonymous"),table:[{3:1,4:2,5:3,6:[1,5],8:h},{1:[3]},{1:[2,1]},{4:6,6:[1,7],7:[1,8],8:h},{6:r,7:[1,10],9:9,12:11,13:a,14:l},e(y,[2,3]),{1:[2,2]},e(y,[2,4]),e(y,[2,5]),{1:[2,6],6:r,12:15,13:a,14:l},{6:r,9:16,12:11,13:a,14:l},{6:f,7:d,10:17,11:m},e(c,[2,18],{14:[1,21]}),e(c,[2,16]),e(c,[2,17]),{6:f,7:d,10:22,11:m},{1:[2,7],6:r,12:15,13:a,14:l},e(k,[2,14],{7:g,11:_}),e(x,[2,8]),e(x,[2,9]),e(x,[2,10]),e(c,[2,15]),e(k,[2,13],{7:g,11:_}),e(x,[2,11]),e(x,[2,12])],defaultActions:{2:[2,1],6:[2,2]},parseError:o(function(t,s){if(s.recoverable)this.trace(t);else{var i=new Error(t);throw i.hash=s,i}},"parseError"),parse:o(function(t){var s=this,i=[0],u=[],p=[null],n=[],v=this.table,w="",I=0,S=0,L=2,E=1,R=n.slice.call(arguments,1),b=Object.create(this.lexer),C={yy:{}};for(var F in this.yy)Object.prototype.hasOwnProperty.call(this.yy,F)&&(C.yy[F]=this.yy[F]);b.setInput(t,C.yy),C.yy.lexer=b,C.yy.parser=this,typeof b.yylloc>"u"&&(b.yylloc={});var T=b.yylloc;n.push(T);var D=b.options&&b.options.ranges;typeof C.yy.parseError=="function"?this.parseError=C.yy.parseError:this.parseError=Object.getPrototypeOf(this).parseError;function j(P){i.length=i.length-2*P,p.length=p.length-P,n.length=n.length-P}o(j,"popStack");function z(){var P;return P=u.pop()||b.lex()||E,typeof P!="number"&&(P instanceof Array&&(u=P,P=u.pop()),P=s.symbols_[P]||P),P}o(z,"lex");for(var A,W,B,q,H={},X,V,et,Y;;){if(W=i[i.length-1],this.defaultActions[W]?B=this.defaultActions[W]:((A===null||typeof A>"u")&&(A=z()),B=v[W]&&v[W][A]),typeof B>"u"||!B.length||!B[0]){var Q="";Y=[];for(X in v[W])this.terminals_[X]&&X>L&&Y.push("'"+this.terminals_[X]+"'");b.showPosition?Q="Parse error on line "+(I+1)+`:
|
|
2
2
|
`+b.showPosition()+`
|
|
3
3
|
Expecting `+Y.join(", ")+", got '"+(this.terminals_[A]||A)+"'":Q="Parse error on line "+(I+1)+": Unexpected "+(A==E?"end of input":"'"+(this.terminals_[A]||A)+"'"),this.parseError(Q,{text:b.match,token:this.terminals_[A]||A,line:b.yylineno,loc:T,expected:Y})}if(B[0]instanceof Array&&B.length>1)throw new Error("Parse Error: multiple actions possible at state: "+W+", token: "+A);switch(B[0]){case 1:i.push(A),p.push(b.yytext),n.push(b.yylloc),i.push(B[1]),A=null,S=b.yyleng,w=b.yytext,I=b.yylineno,T=b.yylloc;break;case 2:if(V=this.productions_[B[1]][1],H.$=p[p.length-V],H._$={first_line:n[n.length-(V||1)].first_line,last_line:n[n.length-1].last_line,first_column:n[n.length-(V||1)].first_column,last_column:n[n.length-1].last_column},D&&(H._$.range=[n[n.length-(V||1)].range[0],n[n.length-1].range[1]]),q=this.performAction.apply(H,[w,S,I,C.yy,B[1],p,n].concat(R)),typeof q<"u")return q;V&&(i=i.slice(0,-1*V*2),p=p.slice(0,-1*V),n=n.slice(0,-1*V)),i.push(this.productions_[B[1]][0]),p.push(H.$),n.push(H._$),et=v[i[i.length-2]][i[i.length-1]],i.push(et);break;case 3:return!0}}return!0},"parse")},O=(function(){var M={EOF:1,parseError:o(function(s,i){if(this.yy.parser)this.yy.parser.parseError(s,i);else throw new Error(s)},"parseError"),setInput:o(function(t,s){return this.yy=s||this.yy||{},this._input=t,this._more=this._backtrack=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},"setInput"),input:o(function(){var t=this._input[0];this.yytext+=t,this.yyleng++,this.offset++,this.match+=t,this.matched+=t;var s=t.match(/(?:\r\n?|\n).*/g);return s?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),t},"input"),unput:o(function(t){var s=t.length,i=t.split(/(?:\r\n?|\n)/g);this._input=t+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-s),this.offset-=s;var u=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),i.length-1&&(this.yylineno-=i.length-1);var p=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:i?(i.length===u.length?this.yylloc.first_column:0)+u[u.length-i.length].length-i[0].length:this.yylloc.first_column-s},this.options.ranges&&(this.yylloc.range=[p[0],p[0]+this.yyleng-s]),this.yyleng=this.yytext.length,this},"unput"),more:o(function(){return this._more=!0,this},"more"),reject:o(function(){if(this.options.backtrack_lexer)this._backtrack=!0;else return this.parseError("Lexical error on line "+(this.yylineno+1)+`. You can only invoke reject() in the lexer when the lexer is of the backtracking persuasion (options.backtrack_lexer = true).
|
|
4
4
|
`+this.showPosition(),{text:"",token:null,line:this.yylineno});return this},"reject"),less:o(function(t){this.unput(this.match.slice(t))},"less"),pastInput:o(function(){var t=this.matched.substr(0,this.matched.length-this.match.length);return(t.length>20?"...":"")+t.substr(-20).replace(/\n/g,"")},"pastInput"),upcomingInput:o(function(){var t=this.match;return t.length<20&&(t+=this._input.substr(0,20-t.length)),(t.substr(0,20)+(t.length>20?"...":"")).replace(/\n/g,"")},"upcomingInput"),showPosition:o(function(){var t=this.pastInput(),s=new Array(t.length+1).join("-");return t+this.upcomingInput()+`
|