/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.trigger-card-wrap{flex:1;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;padding:24px 16px;overflow-y:auto}.trigger-card{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px;padding:28px 22px;border-radius:16px;background:var(--theme-blue-bg-top, #131b2b);border:1px solid var(--theme-blue-border, #24344a);box-shadow:0 10px 30px #00000059}.trigger-card-icon{width:64px;height:64px;display:flex;align-items:center;justify-content:center;border-radius:16px;color:var(--theme-blue-bright, #58a6ff);background:#58a6ff1f;border:1px solid rgba(88,166,255,.22)}.trigger-card-title{margin:4px 0 0;font-size:18px;font-weight:700;color:var(--text-primary, #e6edf3)}.trigger-card-badge{font-size:11px;letter-spacing:.4px;padding:3px 10px;border-radius:999px;color:var(--theme-blue-bright, #58a6ff);background:#58a6ff1a;border:1px solid rgba(88,166,255,.25)}.trigger-card-desc{margin:4px 0 0;font-size:13px;line-height:1.6;color:var(--text-secondary, #9aa7b4)}.trigger-card-btn{margin-top:8px;width:100%;padding:11px 16px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;color:#fff;background:linear-gradient(135deg,#388bfd,#1f6feb);transition:filter .15s}.trigger-card-btn:hover{filter:brightness(1.08)}.trigger-card-btn:active{filter:brightness(.95)}.trigger-card-hint{margin:2px 0 0;font-size:12px;color:var(--text-muted, #6b7684)}.trigger-card-paired-tag{max-width:100%;font-size:11px;letter-spacing:.3px;padding:3px 10px;border-radius:999px;color:var(--success, #3fb950);background:#3fb9501a;border:1px solid rgba(63,185,80,.28);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.trigger-card-unpaired-tag{font-size:11px;letter-spacing:.3px;padding:3px 10px;border-radius:999px;color:var(--warning, #d29922);background:#d299221a;border:1px solid rgba(210,153,34,.28)}.trigger-card-pair-btn{width:100%;padding:8px 16px;border:1px solid var(--theme-blue-border, #24344a);border-radius:10px;background:transparent;color:var(--text-secondary, #9aa7b4);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.trigger-card-pair-btn:hover{background:#58a6ff14;color:var(--theme-blue-bright, #58a6ff)}.pairing-view{display:flex;flex-direction:column;gap:12px}.pairing-view-desc{margin:0;font-size:13px;line-height:1.6;color:var(--text-secondary, #9aa7b4)}.pairing-addr-card{display:flex;flex-direction:column;gap:8px;padding:16px;border-radius:10px;background:var(--bg-elevated, #161b22);border:1px solid var(--border, #30363d)}.pairing-addr-label{font-size:12px;color:var(--text-muted, #8b949e);letter-spacing:.3px}.pairing-addr-value{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:14px;color:var(--accent, #58a6ff);word-break:break-all;line-height:1.5}.pairing-copy-btn{align-self:flex-start}.pairing-hint{margin:0;font-size:12px;line-height:1.6;color:var(--text-muted, #6b7684)}.pairing-paired-row{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.pairing-paired-tag{font-size:12px;color:var(--success, #3fb950);word-break:break-all}.pairing-clear-btn{padding:4px 10px;font-size:12px}.pairing-field-label{display:block;font-size:12px;color:var(--text-muted, #8b949e);margin:0 0 2px}.pairing-input{width:100%;padding:9px 11px;font-size:13px;background:var(--bg-elevated, #161b22);border:1px solid var(--border, #30363d);border-radius:8px;color:var(--text, #e6edf3);outline:none;box-sizing:border-box}.pairing-input:focus{border-color:var(--accent, #58a6ff)}.pairing-actions{display:flex;gap:8px;justify-content:flex-end}.pairing-test-result{margin:0;font-size:12px;line-height:1.5}.pairing-test-result.is-ok{color:var(--success, #3fb950)}.pairing-test-result.is-fail{color:var(--danger, #f85149)}:root{color-scheme:dark;--bg: #0a0e14;--bg-elevated: #161b22;--border: #30363d;--text: #e6edf3;--text-muted: #8b949e;--accent: #58a6ff;--success: #3fb950;--danger: #f85149;--warning: #d29922;--radius: 10px;--sidebar-width: 220px;--mobile-nav-height: 60px;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%;background:var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea,select{font:inherit}.app-shell{min-height:100vh;display:flex;background:var(--bg)}.sidebar{width:var(--sidebar-width);border-right:1px solid var(--border);background:var(--bg-elevated);padding:20px 12px;display:none;flex-direction:column;gap:8px}.sidebar-brand{font-size:18px;font-weight:700;padding:8px 12px 16px;color:var(--accent)}.nav-link{display:block;padding:10px 12px;border-radius:8px;color:var(--text-muted)}.nav-link.active,.nav-link:hover{background:#58a6ff1f;color:var(--text)}.main-area{flex:1;min-width:0;padding:16px;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.page-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.page-title{margin:0;font-size:22px}.card{background:var(--bg-elevated);border:1px solid var(--border);border-radius:var(--radius);padding:16px}.form-grid{display:grid;gap:12px}.field label{display:block;margin-bottom:6px;color:var(--text-muted);font-size:13px}.field input,.field textarea{width:100%;padding:10px 12px;border-radius:8px;border:1px solid var(--border);background:#0d1117;color:var(--text)}.btn{border:1px solid var(--border);background:#21262d;color:var(--text);border-radius:8px;padding:10px 14px;cursor:pointer}.btn:hover{border-color:var(--accent)}.btn-primary{background:#58a6ff2e;border-color:#58a6ff73;color:var(--accent)}.status-pill{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid var(--border)}.status-running{color:var(--accent);border-color:#58a6ff59}.status-success{color:var(--success);border-color:#3fb95059}.status-failed{color:var(--danger);border-color:#f8514959}.status-cancelled{color:var(--text-muted)}.run-list{display:grid;gap:10px}.run-item{border:1px solid var(--border);border-radius:10px;padding:12px;background:#0d1117;cursor:pointer}.run-item.active{border-color:var(--accent)}.run-item-title{font-weight:600;margin-bottom:6px}.run-item-meta{display:flex;flex-wrap:wrap;gap:8px;color:var(--text-muted);font-size:13px}.runs-layout{display:grid;gap:16px}.log-box{min-height:240px;max-height:420px;overflow:auto;background:#010409;border:1px solid var(--border);border-radius:8px;padding:12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.alert{padding:10px 12px;border-radius:8px;margin-bottom:12px;font-size:14px}.alert-error{background:#f851491f;border:1px solid rgba(248,81,73,.35);color:#ffb4af}.alert-success{background:#3fb9501f;border:1px solid rgba(63,185,80,.35);color:#7ee787}.mobile-nav{position:fixed;left:0;right:0;bottom:0;height:var(--mobile-nav-height);padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--border);background:#161b22f5;display:flex;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.mobile-nav a{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-muted)}.mobile-nav a.active{color:var(--accent)}.platform-badge{font-size:12px;color:var(--text-muted);border:1px solid var(--border);border-radius:999px;padding:4px 10px}@media (min-width: 768px){.sidebar{display:flex}.mobile-nav{display:none}.main-area{padding:24px}.runs-layout{grid-template-columns:minmax(280px,360px) 1fr;align-items:start}}@media (max-width: 767px){.main-area{padding-bottom:calc(var(--mobile-nav-height) + 16px + env(safe-area-inset-bottom))}}html,body{width:100%;height:100%}input::-ms-clear,input::-ms-reveal{display:none}*,*:before,*:after{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:rgba(0,0,0,0)}@-ms-viewport{width:device-width}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{-webkit-text-decoration:underline dotted;text-decoration:underline;text-decoration:underline dotted;border-bottom:0;cursor:help}address{margin-bottom:1em;font-style:normal;line-height:inherit}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-size:1em;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{padding-top:.75em;padding-bottom:.3em;text-align:left;caption-side:bottom}input,button,select,optgroup,textarea{margin:0;color:inherit;font-size:inherit;font-family:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner,[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner{padding:0;border-style:none}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;margin:0;padding:0;border:0}legend{display:block;width:100%;max-width:100%;margin-bottom:.5em;padding:0;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button,[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}mark{padding:.2em;background-color:#feffe6}.cmd-box{margin:8px 0;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.cmd-box-header{display:flex;align-items:center;gap:8px;padding:6px 12px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.cmd-box-label{font-size:12px;color:var(--text-primary);font-weight:500;flex:1}.cmd-box-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:4px;font-size:11px;font-weight:600}.cmd-box-tag.idx{background:#58a6ff26;color:var(--accent-blue)}.cmd-box-tag.success{background:#3fb95026;color:var(--accent-green)}.cmd-box-tag.error{background:#f8514926;color:var(--accent-red)}.cmd-box-tag.pending{background:#8b949e26;color:var(--text-muted)}.cmd-box-cmd{padding:0;background:var(--bg-primary);border-bottom:1px solid var(--border-color)}.cmd-box-cmd pre{margin:0;padding:8px 12px;font-size:12px;line-height:1.5;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono)}.cmd-box-output{padding:0;background:#3fb9500a}.cmd-box-output pre{margin:0;padding:8px 12px;font-size:12px;line-height:1.5;color:var(--accent-green);white-space:pre-wrap;word-break:break-all;font-family:var(--font-mono)}.cmd-diff-line{padding:0 12px;font-size:12px;line-height:1.6;font-family:var(--font-mono);display:flex}.cmd-diff-line .diff-marker{width:24px;flex-shrink:0;-webkit-user-select:none;user-select:none}.cmd-diff-line.add{background:#3fb95014;color:var(--accent-green)}.cmd-diff-line.add .diff-marker{color:#3fb95080}.cmd-diff-line.remove{background:#f8514914;color:var(--accent-red)}.cmd-diff-line.remove .diff-marker{color:#f8514980}.cmd-diff-line.ctx{color:var(--text-primary)}.cmd-diff-line.ctx .diff-marker{color:#8b949e4d}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--border-color: #30363d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #484f58;--accent-blue: #58a6ff;--accent-green: #3fb950;--accent-red: #f85149;--accent-purple: #d2a8ff;--accent-orange: #f0883e;--accent-yellow: #e3b341;--sidebar-width: 64px;--titlebar-height: 36px;--font-mono: "Cascadia Code","JetBrains Mono","Fira Code","Consolas",monospace;--font-sans: -apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans",Helvetica,Arial,sans-serif;--theme-blue-bg-top: #0f1c2e;--theme-blue-bg-bottom: #0a1320;--theme-blue-accent: #4d8cc7;--theme-blue-bright: #6ba8e0;--theme-blue-text: #8faece;--theme-blue-muted: #6e7d8f;--theme-blue-hover-bg: rgba(77, 140, 199, .08);--theme-blue-active-bg: rgba(77, 140, 199, .22);--theme-blue-border: rgba(77, 140, 199, .18);--theme-blue-glow: rgba(107, 168, 224, .45);--surface-base: #0a0e14;--surface-elevated: #0f1620;--surface-card: #131a26;--surface-input: #0d141d;--border-subtle: rgba(77, 140, 199, .1);--border-default: rgba(77, 140, 199, .18);--border-strong: rgba(77, 140, 199, .35);--border-focus: rgba(77, 140, 199, .55);--text-tertiary: #6e7d8f;--success-bg: rgba(63, 185, 80, .1);--warning-bg: rgba(210, 153, 34, .1);--danger-bg: rgba(248, 81, 73, .1);--info-bg: rgba(77, 140, 199, .1);--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--radius-panel: 8px;--radius-card: 6px;--radius-btn: 4px;--radius-badge: 3px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-sans);background:var(--bg-primary);color:var(--text-primary);overflow:hidden;height:100vh;font-size:14px;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--titlebar-height) minmax(0,1fr);grid-template-areas:"sidebar titlebar" "sidebar main"}.titlebar{grid-area:titlebar;grid-row:1;grid-column:2;display:flex;align-items:center;justify-content:space-between;height:var(--titlebar-height);background:var(--bg-secondary);border-bottom:1px solid var(--border-color);-webkit-app-region:drag;-webkit-user-select:none;user-select:none;z-index:100}.titlebar-drag{display:flex;align-items:center;gap:8px;padding-left:12px}.titlebar-icon{display:flex;align-items:center}.titlebar-text{font-size:12px;font-weight:600;color:var(--text-secondary);letter-spacing:.5px}.titlebar-controls{display:flex;-webkit-app-region:no-drag}.control-btn{width:46px;height:var(--titlebar-height);border:none;background:transparent;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.control-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.control-btn.close:hover{background:var(--accent-red);color:#fff}.sidebar{grid-area:sidebar;grid-row:1 / -1;grid-column:1;width:var(--sidebar-width);min-width:var(--sidebar-width);background:linear-gradient(180deg,var(--theme-blue-bg-top) 0%,var(--theme-blue-bg-bottom) 100%);border-right:1px solid var(--theme-blue-border);display:flex;flex-direction:column;min-height:0;overflow:hidden;z-index:50;box-shadow:inset -1px 0 #4d8cc70f}.sidebar-nav{display:flex;flex-direction:column;gap:2px;padding:8px;flex:1;min-height:0;overflow-y:auto}.sidebar-nav::-webkit-scrollbar{width:4px}.sidebar-nav::-webkit-scrollbar-track{background:transparent}.sidebar-nav::-webkit-scrollbar-thumb{background:#4d8cc740;border-radius:2px}.sidebar-nav::-webkit-scrollbar-thumb:hover{background:#4d8cc773}.nav-item{position:relative;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border:none;background:transparent;color:var(--theme-blue-muted);cursor:pointer;border-radius:8px;transition:all .18s cubic-bezier(.4,0,.2,1);font-size:10px;font-family:var(--font-sans)}.nav-item:hover{background:var(--theme-blue-hover-bg);color:var(--theme-blue-text)}.nav-item.active{background:linear-gradient(90deg,var(--theme-blue-active-bg) 0%,rgba(77,140,199,.04) 100%);color:var(--theme-blue-bright);box-shadow:inset 0 0 0 1px #4d8cc738}.nav-item.active:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:3px;height:56%;background:linear-gradient(180deg,var(--theme-blue-bright) 0%,var(--theme-blue-accent) 100%);border-radius:0 2px 2px 0;box-shadow:0 0 8px var(--theme-blue-glow)}.sidebar-footer{padding:6px;border-top:1px solid var(--theme-blue-border);display:flex;flex-direction:column;align-items:center;gap:4px}.sidebar-settings-btn{width:40px;height:32px;border:none;background:transparent;color:var(--theme-blue-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .2s}.sidebar-settings-btn:hover{background:var(--theme-blue-hover-bg);color:var(--theme-blue-text)}.version-badge{text-align:center;font-size:10px;color:var(--theme-blue-muted);padding:2px;opacity:.7}.backend-badge{display:inline-flex;align-items:center;gap:4px;padding:1px 8px;border-radius:10px;font-size:10px;font-weight:600;margin-left:8px;vertical-align:middle;letter-spacing:.3px}.backend-badge .badge-dot{width:6px;height:6px;border-radius:50%;display:inline-block}.backend-cpu{background:#58a6ff26;color:#58a6ff;border:1px solid rgba(88,166,255,.35)}.backend-cpu .badge-dot{background:#58a6ff;box-shadow:0 0 5px #58a6ffb3}.backend-gpu{background:#3fb95026;color:#3fb950;border:1px solid rgba(63,185,80,.35)}.backend-gpu .badge-dot{background:#3fb950;box-shadow:0 0 5px #3fb950b3;animation:gpu-pulse 2s ease-in-out infinite}@keyframes gpu-pulse{0%,to{box-shadow:0 0 5px #3fb950b3}50%{box-shadow:0 0 9px #3fb950}}.main-content{grid-area:main;grid-row:2;grid-column:2;min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;padding:0;display:flex;flex-direction:column;box-sizing:border-box}.main-content>.tab-content{flex:1;display:none;flex-direction:column;min-height:0;padding:16px;box-sizing:border-box}.main-content>.tab-content#tab-dashboard{padding:16px;overflow-y:auto;overflow-x:hidden}.main-content>.tab-content#tab-dashboard .dashboard-panel{flex:1;display:flex;flex-direction:column;min-height:0}.main-content>.tab-content#tab-dashboard .pipeline-output{flex:1;max-height:none;min-height:120px}.main-content>.tab-content#tab-workspace{padding:0;overflow:hidden;min-height:0}.main-content>.tab-content#tab-workspace.active{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.main-content>.tab-content#tab-workspace.active>.ant-app{flex:1;min-height:0;display:flex;flex-direction:column}.workspace-shell{display:flex;flex-direction:column;flex:1;min-height:0;height:100%;overflow:hidden;width:100%}.workspace-scroll{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;width:100%}#workspace-root{width:100%;min-height:min-content;box-sizing:border-box}#workspace-run-panel{flex:0 0 auto;width:100%;background:#0d1117;border-top:1px solid #21262d;z-index:20}.workspace-page{width:100%;min-height:min-content}.workspace-tab-panel{display:block;width:100%;box-sizing:border-box}.repo-tab-page{padding:16px;box-sizing:border-box;width:100%}.repo-tab-page .repo-main-row{display:flex;width:100%;align-items:center;gap:12px}.repo-tab-page .repo-main-row .ant-input-group-wrapper{flex:1 1 auto;min-width:0;overflow:visible}.repo-tab-page .repo-main-row .ant-input-group{display:flex;align-items:stretch;width:100%;overflow:visible}.repo-tab-page .repo-main-row .ant-input-group .ant-input-group-addon{flex:0 0 auto;min-width:80px;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;height:32px;line-height:32px;padding:0 11px;overflow:visible}.repo-tab-page .repo-main-row .ant-input-affix-wrapper{flex:1 1 auto;min-width:0;height:32px;display:inline-flex;align-items:center;padding-top:0;padding-bottom:0}.repo-tab-page .repo-main-row .ant-input-affix-wrapper>input.ant-input{flex:1;min-width:0;height:30px;line-height:30px;padding-top:0;padding-bottom:0}.repo-tab-page .repo-main-row .ant-input-group-wrapper .ant-input{height:32px;line-height:30px}.repo-tab-page .repo-main-row .ant-btn.repo-sync-btn{width:32px;min-width:32px;flex-shrink:0;height:32px;padding:0;line-height:1;display:inline-flex;align-items:center;justify-content:center}.repo-tab-page .repo-main-row .ant-btn.repo-sync-btn .ant-btn-icon,.repo-tab-page .repo-main-row .ant-btn.repo-sync-btn .anticon{margin:0!important;line-height:0;display:inline-flex;align-items:center;justify-content:center;font-size:14px}.repo-tab-page .repo-main-row .ant-btn.repo-sync-btn svg{display:block;flex-shrink:0}.repo-tab-page .repo-main-row .ant-select.repo-branch-select{width:168px!important;flex-shrink:0}.repo-tab-page .repo-main-row .ant-select.repo-branch-select .ant-select-selector{height:32px!important;display:flex!important;align-items:center!important;padding-top:0!important;padding-bottom:0!important}.repo-tab-page .repo-main-row .ant-select.repo-branch-select .ant-select-selection-item,.repo-tab-page .repo-main-row .ant-select.repo-branch-select .ant-select-selection-placeholder{line-height:30px!important}.repo-tab-page .repo-input-action-btn{color:var(--text-secondary)!important;width:28px!important;height:28px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}.repo-tab-page .repo-input-action-btn:hover{color:var(--accent-blue)!important;background:#58a6ff1f!important}.repo-tab-page .ant-space-compact,.repo-tab-page .ant-input-group-wrapper{width:100%}.repo-diff-panel{margin-top:16px;padding-bottom:8px}.repo-diff-scroll{border:1px solid #30363d;border-radius:8px;background:#0d1117;overflow-x:auto}.build-log-panel{width:100%;display:flex;flex-direction:column;position:relative;background:#0d1117}.build-log-panel-body{overflow:hidden;display:flex;flex-direction:column;flex-shrink:0;position:relative}.build-log-panel-body .repo-log-layer{flex:1;min-height:0;overflow:auto;margin:0}.build-log-panel-body .repo-term-layer{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.build-log-panel-body .repo-problems-layer{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.build-log-panel-body .repo-term-host{flex:1;min-height:0;overflow:hidden;background:#0d1117;cursor:text}.build-log-panel-body .repo-term-host .xterm{height:100%;padding:4px 8px;box-sizing:border-box}.build-log-panel-body .repo-term-host .xterm-viewport{overflow-y:auto!important}.build-log-panel-body .repo-term-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#484f58;font-size:12px;gap:8px}.build-log-panel-body pre{overflow-y:scroll!important}.build-panel-resizer{height:12px;margin-top:-6px;cursor:ns-resize;flex-shrink:0;position:relative;z-index:20;touch-action:none;background:transparent}.build-panel-resizer:after{content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:#30363d;pointer-events:none;transition:background .15s}.build-panel-resizer:hover:after,.build-panel-resizer.is-dragging:after{background:#58a6ffa6}.main-content>.tab-content#tab-history{overflow:hidden;padding:12px 16px}.main-content>.tab-content#tab-history .panel.build-history{flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden}.main-content:has(>#tab-plugins.active){overflow:hidden}.main-content>.tab-content#tab-plugins,.main-content>.tab-content#tab-updates,.main-content>.tab-content#tab-cron,.main-content>.tab-content#tab-skills,.main-content>.tab-content#tab-dify{overflow-y:auto;overflow-x:hidden;min-height:0;flex:1 1 0}.main-content>.tab-content#tab-plugins .panel.plugin-market,.main-content>.tab-content#tab-updates .panel,.main-content>.tab-content#tab-cron .panel,.main-content>.tab-content#tab-skills .panel,.main-content>.tab-content#tab-dify .panel{overflow:visible;flex:0 0 auto;height:auto}.main-content>.tab-content#tab-email .panel,.main-content>.tab-content.active{display:flex}.main-content:has(>#tab-workspace.active){overflow:hidden}.main-content:has(>#tab-models.active){overflow:hidden}.main-content:has(>#tab-models2.active){overflow:hidden}.main-content:has(>#tab-hermes.active){overflow:hidden}#tab-ai{padding:0;overflow:hidden}#tab-hermes{padding:12px;overflow:hidden;min-height:0;height:100%;display:flex;flex-direction:column}#tab-hermes>.panel{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#tab-hermes .hermes-subnav{flex-shrink:0}#tab-hermes .hermes-outlet{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#tab-hermes .hermes-outlet>*:not(.hermes-chat-page){flex:1;min-height:0;overflow-y:auto}#tab-hermes .hermes-chat-page{flex:1;min-height:0;height:100%;display:flex;gap:12px;padding:8px 12px 12px;box-sizing:border-box;overflow:hidden;align-items:stretch}#tab-hermes .hermes-chat-aside{width:260px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;min-height:0;overflow:hidden;border-right:1px solid var(--border-color);padding-right:10px}#tab-hermes .hermes-chat-aside-list{flex:1;min-height:0;overflow-y:auto;font-size:12px}#tab-hermes .hermes-chat-main{flex:1;min-width:0;min-height:0;display:flex;flex-direction:column;gap:10px;overflow:hidden}#tab-hermes .hermes-chat-toolbar,#tab-hermes .hermes-chat-cwd,#tab-hermes .hermes-chat-composer{flex-shrink:0}#tab-hermes .hermes-chat-messages{flex:1 1 auto;min-height:0;overflow-y:scroll;overflow-x:hidden;border:1px solid var(--border-color);border-radius:8px;padding:12px;background:#00000005}#tab-hermes .hermes-tool-card,#tab-hermes .hermes-prompt-card{border:1px solid var(--border-color);border-radius:8px;padding:10px 12px;background:var(--bg-secondary, #fff)}#tab-hermes .hermes-tool-pre{margin:8px 0 0;padding:8px;font-size:11px;line-height:1.4;white-space:pre-wrap;word-break:break-word;max-height:220px;overflow:auto;border-radius:6px;background:#0000000a;border:1px solid var(--border-color)}#tab-hermes .hermes-tool-diff{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}#tab-hermes .hermes-tool-muted{margin-top:6px;font-size:12px;color:var(--text-secondary, #666);white-space:pre-wrap}#tab-hermes .hermes-chat-msg--prompt .hermes-prompt-card{border-color:#c4a35a}#tab-hermes .hermes-chat-msg--interim{border-left:3px solid var(--border-color);padding-left:8px}#tab-hermes .hermes-reasoning summary{list-style:none}#tab-hermes .hermes-reasoning summary::-webkit-details-marker{display:none}.tab-content{display:none;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px}.dashboard-header h1{font-size:24px;font-weight:600}.header-actions{display:flex;gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.stat-card{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;padding:20px;display:flex;align-items:center;gap:16px}.stat-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.stat-info{display:flex;flex-direction:column}.stat-value{font-size:28px;font-weight:700;line-height:1.2}.stat-label{font-size:12px;color:var(--text-secondary);margin-top:2px}.panel{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:6px 16px;border-bottom:1px solid var(--border-color);min-height:36px}.panel-header h2{font-size:16px;font-weight:600}.chat-main>.panel>.panel-header{height:36px;padding:0 16px;box-sizing:border-box;flex-shrink:0}.chat-main>.panel>.panel-header h2{margin:0;line-height:1.2}.panel-actions{display:flex;gap:8px}.pipeline-output{padding:16px 20px;font-family:var(--font-mono);font-size:12px;max-height:400px;overflow-y:auto;line-height:1.6}.pipeline-output .output-placeholder{color:var(--text-muted);text-align:center;padding:40px}.pipeline-output .log-line{padding:2px 0;white-space:pre-wrap;word-break:break-all}.pipeline-output .log-line.success{color:var(--accent-green)}.pipeline-output .log-line.error{color:var(--accent-red)}.pipeline-output .log-line.info{color:var(--accent-blue)}.pipeline-output .log-line.warn{color:var(--accent-yellow)}.pipeline-output-block{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(139,148,158,.18);background:#8b949e0a}.pipeline-output-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;font-size:12px;color:var(--text-muted);background:#8b949e1a;-webkit-user-select:none;user-select:none;line-height:36px;cursor:pointer;transition:background .15s}.pipeline-output-header:hover{background:#8b949e29}.pipeline-output-header .pipeline-output-icon{font-size:13px;flex-shrink:0}.pipeline-output-header .pipeline-output-title{font-weight:600;color:var(--text-secondary);font-size:12px}.pipeline-output-header .pipeline-output-status{margin-left:auto;font-size:11px;color:var(--text-muted)}.pipeline-output-body{padding:10px 14px;font-size:12px;line-height:1.6;color:var(--text-secondary);font-family:var(--font-mono);max-height:300px;overflow-y:auto;white-space:pre-wrap;word-break:break-all}.btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-primary);border-radius:8px;cursor:pointer;font-size:13px;font-family:var(--font-sans);transition:all .15s;white-space:nowrap}.btn:hover{background:var(--bg-hover);border-color:var(--text-muted)}.btn-primary{background:#238636;border-color:#f0f6fc1a;color:#fff}.btn-primary:hover{background:#2ea043}.btn-sm{padding:4px 10px;font-size:12px}.btn:disabled{opacity:.42;cursor:not-allowed;color:var(--text-muted);background:var(--bg-secondary, var(--bg-tertiary));border-color:var(--border-color);pointer-events:none}.btn-primary:disabled{background:#23863640;border-color:#f0f6fc14;color:#f0f6fc73}.model-cat-btn{background:var(--bg-tertiary);border-color:var(--border-color);color:var(--text-secondary)}.model-cat-btn:hover{background:var(--bg-hover);color:var(--text-primary)}.model-cat-btn.active{background:#23863626;border-color:#23863666;color:#3fb950;font-weight:600}.chat-layout{display:flex;height:100%;gap:0;position:relative;border:1px solid var(--border-color);border-radius:0;overflow:hidden}.chat-agent-sidebar{width:200px;min-width:200px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden}.chat-agent-sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);height:36px;box-sizing:border-box;flex-shrink:0}.chat-agent-sidebar-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.chat-agent-add-btn{width:24px;height:24px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.chat-agent-add-btn:hover{background:#58a6ff26;color:var(--accent-blue)}.chat-agent-list{flex:1;overflow-y:auto;padding:10px 8px 6px}.chat-agent-item{display:flex;align-items:center;gap:8px;min-height:34px;padding:0 10px;border-radius:0;cursor:pointer;transition:all .15s;margin-bottom:2px;border:1px solid transparent;box-sizing:border-box}.chat-agent-item:hover{background:var(--bg-hover);border-color:var(--border-color)}.chat-agent-item.active{background:#58a6ff14;border-color:#58a6ff40}.chat-agent-name{font-size:12px;font-weight:500;color:var(--text-primary);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-agent-status{font-size:9px;font-weight:600;padding:1px 6px;border-radius:8px;white-space:nowrap;flex-shrink:0}.chat-agent-status.idle{background:#8b949e26;color:var(--text-muted)}.chat-agent-status.running{background:#58a6ff26;color:var(--accent-blue)}.chat-agent-status.done{background:#3fb95026;color:var(--accent-green)}.chat-agent-status.error{background:#f8514926;color:var(--accent-red)}.chat-agent-status.planning{background:#d2992226;color:var(--accent-yellow)}.chat-agent-item-del{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text-muted);font-size:10px;line-height:1;transition:all .15s;opacity:0;flex-shrink:0}.chat-agent-item:hover .chat-agent-item-del{opacity:.6}.chat-agent-item-del:hover{opacity:1!important;background:#f8514926;color:var(--accent-red)}.chat-history-drawer{width:280px;min-width:280px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;overflow:hidden;transition:all .3s cubic-bezier(.4,0,.2,1)}.chat-history-drawer.collapsed{width:0;min-width:0;border-right:none;overflow:hidden;padding:0;margin:0}.chat-history-header{display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid var(--border-color);height:36px;box-sizing:border-box;flex-shrink:0}.chat-history-header h3{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;line-height:1.2}.chat-history-toggle{width:24px;height:24px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:all .15s}.chat-history-toggle:hover{background:var(--bg-hover);color:var(--text-primary)}.chat-history-search{position:relative;padding:10px 12px;min-height:54px;box-sizing:border-box;display:flex;align-items:center;flex-shrink:0}.chat-history-search .search-icon{position:absolute;left:22px;top:50%;transform:translateY(-50%);color:var(--text-muted);pointer-events:none}.chat-history-search-input{width:100%;min-height:34px;height:auto;padding:6px 10px 6px 32px;line-height:1.5;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:8px;font-size:12px;font-family:var(--font-sans);outline:none;transition:border-color .15s;box-sizing:border-box}.chat-history-search-input:focus{border-color:var(--accent-blue)}.chat-workspace-selector{padding:8px 10px;border-bottom:1px solid var(--border-color)}.chat-workspace-row{display:flex;align-items:center;gap:6px}.chat-workspace-path-input{flex:1;background:var(--bg-tertiary);color:var(--text-secondary);border:1px solid var(--border-color);border-radius:6px;padding:6px 10px;font-size:12px;line-height:1.5;font-family:var(--font-mono);outline:none;cursor:default;box-sizing:border-box}.chat-workspace-path-input::placeholder{color:var(--text-muted);font-style:italic;font-family:var(--font-sans);font-size:11px}.chat-workspace-browse-btn{width:26px;height:26px;border:none;background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.chat-workspace-browse-btn:hover{background:#58a6ff26;color:var(--accent-blue)}.chat-workspace-reset-btn{width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s}.chat-workspace-reset-btn:hover{background:#f8514926;color:var(--accent-red)}.chat-history-search-input::placeholder{color:var(--text-muted)}.chat-history-list{flex:1;overflow-y:auto;padding:4px 8px}.chat-history-item{padding:8px 10px;border-radius:0;cursor:pointer;transition:all .15s;margin-bottom:2px;border:1px solid transparent;position:relative}.chat-history-item:hover{background:var(--bg-hover);border-color:var(--border-color)}.chat-history-item.active{background:#58a6ff14;border-color:#58a6ff40}.chat-history-item.active:before{content:"";position:absolute;left:0;top:6px;bottom:6px;width:2px;background:var(--accent-blue);border-radius:0 2px 2px 0}.chat-history-item-title{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-bottom:2px}.chat-history-item-title-text{font-size:12px;font-weight:500;color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.chat-history-item-preview{font-size:10px;color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.3;margin-bottom:2px}.chat-history-item-meta{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;overflow:hidden}.chat-history-item-time{font-size:9px;color:var(--text-muted);flex-shrink:0}.chat-model-badge-session{font-size:8px;font-weight:700;padding:0 4px;border-radius:2px;border:1px solid;white-space:nowrap;flex-shrink:0;line-height:1.5}.chat-history-item-ws{font-size:9px;color:var(--text-muted);flex-shrink:0;max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-history-item-tokens{font-size:9px;color:var(--text-muted);flex-shrink:0;margin-left:auto;font-family:var(--font-mono)}.chat-history-item-actions{display:flex;align-items:center;gap:1px;flex-shrink:0}.chat-history-item-del{width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text-muted);font-size:10px;line-height:1;transition:all .15s;opacity:0;flex-shrink:0}.chat-history-item:hover .chat-history-item-del{opacity:.6}.chat-history-item-del:hover{opacity:1!important;background:#f8514926;color:var(--accent-red)}.sort-btn{width:16px;height:16px;display:flex;align-items:center;justify-content:center;border-radius:4px;cursor:pointer;color:var(--text-muted);font-size:10px;line-height:1;transition:all .15s;flex-shrink:0;-webkit-user-select:none;user-select:none;opacity:.3}.chat-history-item:hover .sort-btn{opacity:.6}.sort-btn:hover{opacity:1!important;background:#58a6ff26;color:var(--accent-blue)}.chat-history-open-btn{position:absolute;left:0;top:50%;transform:translateY(-50%);z-index:10;width:28px;height:48px;border:none;background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;border-radius:0 8px 8px 0;display:flex;align-items:center;justify-content:center;transition:all .15s;border:1px solid var(--border-color);border-left:none}.chat-resizer{width:4px;background:var(--border-color);cursor:col-resize;transition:background .15s;flex-shrink:0;position:relative}.chat-resizer:hover,.chat-resizer.dragging{background:var(--accent-blue)}.chat-resizer:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:2px;height:24px;background:var(--text-muted);border-radius:1px;opacity:.3}.chat-main{flex:1;display:flex;flex-direction:column;min-width:0;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.chat-main .panel{flex:1;display:flex;flex-direction:column;overflow:hidden;border-radius:0}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.chat-messages{flex:1;overflow-y:auto;padding:16px 20px;scroll-behavior:smooth}.chat-message{display:flex;gap:12px;margin-bottom:20px;animation:fadeIn .2s ease}.chat-message:last-child{margin-bottom:4px}.message-avatar{width:32px;height:32px;border-radius:8px;background:var(--bg-tertiary);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:2px}.message-avatar svg{width:16px;height:16px}.message-content{flex:1;min-width:0}.message-author{font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:4px;letter-spacing:.2px}.message-text{font-size:14px;color:var(--text-primary);display:block;line-height:1.7}.message-text>.stream-text-node,.message-text>.stream-rendered-block{white-space:pre-wrap;word-break:break-word;line-height:1.6}.message-text em{color:var(--text-muted);font-style:italic}.stream-rendered-block{display:block;margin:0;padding:0}.chat-message.user .message-avatar{background:#58a6ff26}.chat-message.user .message-text{color:var(--accent-blue)}.chat-input{border-top:1px solid var(--border-color);padding:8px 16px 10px;background:var(--bg-secondary);position:relative}.chat-input-toggle{position:absolute;top:-12px;left:50%;transform:translate(-50%);width:36px;height:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;background:var(--bg-secondary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 8px 8px;color:var(--text-muted);opacity:.5;transition:all .15s;z-index:5}.chat-input-toggle:hover{opacity:1;color:var(--accent-blue)}.chat-input-toggle.collapsed svg{transform:rotate(0)}.chat-input-toggle svg{transition:transform .2s;width:12px;height:12px}.chat-input-body{transition:all .2s ease}.chat-input-composer{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:12px;overflow:hidden;transition:border-color .15s;margin-top:13px;margin-bottom:4px}.chat-input-composer:focus-within{border-color:var(--accent-blue)}.chat-input-composer textarea{width:100%;background:transparent;color:var(--text-primary);border:none;padding:9px 16px;font-family:var(--font-sans);font-size:14px;line-height:1.8;resize:none;outline:none;min-height:68px}.chat-input-composer textarea::placeholder{color:var(--text-muted)}.chat-input-toolbar{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;gap:10px}.chat-input-toolbar-left{display:flex;align-items:center;gap:8px;flex:1;min-width:0}.chat-input-toolbar-right{display:flex;align-items:center;gap:8px;flex-shrink:0}.chat-workspace-selector-inline{display:flex;align-items:center;gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:0 10px;height:32px;min-width:0;max-width:320px;cursor:pointer;transition:border-color .15s;box-sizing:border-box}.chat-workspace-selector-inline:hover{border-color:var(--text-muted)}.chat-workspace-selector-inline .ws-icon{color:var(--accent-yellow);flex-shrink:0}.chat-workspace-selector-inline .ws-chevron{color:var(--text-muted);flex-shrink:0;margin-left:auto}.chat-ws-path{flex:1;color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);padding:0;cursor:pointer;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-model-group{position:relative;display:flex;align-items:center;flex-shrink:0}.chat-model-trigger{display:flex;align-items:center;gap:6px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:0 10px;height:32px;cursor:pointer;transition:border-color .15s;-webkit-user-select:none;user-select:none;box-sizing:border-box}.chat-model-trigger:hover{border-color:var(--text-muted)}.chat-model-badge{font-size:11px;font-weight:700;padding:1px 7px;border-radius:4px;border:1px solid;white-space:nowrap}.chat-model-name{font-size:12px;font-weight:500;color:var(--text-primary);white-space:nowrap}.chat-model-trigger .model-chevron{color:var(--text-muted);flex-shrink:0}.chat-model-dropdown{position:fixed;bottom:auto;top:auto;left:0;min-width:280px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 -8px 40px #00000080;z-index:10000;overflow:hidden;animation:fadeIn .15s ease;max-height:400px;overflow-y:auto;transform-origin:bottom center}.chat-model-option{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;transition:background .1s;border-bottom:1px solid rgba(48,54,61,.4)}.chat-model-option:last-child{border-bottom:none}.chat-model-option:hover{background:var(--bg-hover)}.cmo-badge{font-size:10px;font-weight:700;padding:1px 6px;border-radius:4px;border:1px solid;white-space:nowrap;flex-shrink:0;min-width:28px;text-align:center}.cmo-name{font-size:12px;color:var(--text-primary);white-space:nowrap}.chat-model-group-label{padding:8px 12px;font-size:11px;font-weight:700;letter-spacing:.5px;text-transform:uppercase;display:flex;align-items:center;gap:6px}.cmo-group-cpu{color:#58a6ff;background:#58a6ff14;border-bottom:1px solid rgba(88,166,255,.2);border-left:3px solid #58a6ff}.cmo-group-gpu{color:#3fb950;background:#3fb95014;border-bottom:1px solid rgba(63,185,80,.2);border-left:3px solid #3fb950;border-top:1px solid rgba(63,185,80,.15);margin-top:2px}.chat-model-option.cmo-cpu{border-left:3px solid #58a6ff;background:#58a6ff08}.chat-model-option.cmo-cpu:hover{border-left-color:#58a6ff;background:#58a6ff1a}.chat-model-option.cmo-gpu{border-left:3px solid #3fb950;background:#3fb95008}.chat-model-option.cmo-gpu:hover{border-left-color:#3fb950;background:#3fb9501a}.agent-queue-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:10px;font-size:11px;color:var(--accent-blue);background:#58a6ff1f;border:1px solid rgba(88,166,255,.25);white-space:nowrap}.btn-send-compact{width:32px;height:32px;padding:0;display:flex;align-items:center;justify-content:center;border-radius:8px;background:#0f9d8e;border:none;color:#fff;cursor:pointer;transition:all .15s}.btn-send-compact:hover{background:#12b4a2}@media (max-width: 767px){.usage-menu{display:none!important}.chat-workspace-selector-inline{max-width:none}}.usage-menu{position:relative}.usage-menu-trigger{display:flex;align-items:center;gap:6px;padding:0 10px;height:34px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;cursor:pointer;transition:all .15s;box-sizing:border-box}.usage-menu-trigger:hover{border-color:var(--accent-blue);background:#58a6ff14}.usage-menu-bar{width:50px;height:5px;background:var(--bg-primary);border-radius:3px;overflow:hidden}.usage-menu-fill{height:100%;border-radius:3px;transition:width .5s ease,background .3s;width:0%;background:var(--accent-blue)}.usage-menu-text{font-size:11px;color:var(--text-secondary);white-space:nowrap;font-family:var(--font-mono);min-width:28px;text-align:right}.usage-menu-dropdown{position:fixed;bottom:auto;top:auto;right:auto;width:300px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:10px;box-shadow:0 -8px 40px #00000080;z-index:10000;overflow:hidden;animation:fadeIn .15s ease;transform-origin:bottom center}.umd-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:600;color:var(--text-primary)}.umd-refresh{width:24px;height:24px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:4px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.umd-refresh:hover{background:var(--bg-hover);color:var(--accent-blue)}.umd-body{padding:12px 14px}.umd-loading{text-align:center;color:var(--text-muted);font-size:12px;padding:20px 0}.umd-balance-row{display:flex;gap:8px;margin-bottom:12px}.umd-balance-item{flex:1;text-align:center;padding:8px;background:var(--bg-tertiary);border-radius:8px}.umd-balance-label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:2px}.umd-balance-value{font-size:16px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.umd-section{margin-bottom:10px}.umd-section-title{font-size:11px;color:var(--text-muted);font-weight:500;margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px}.umd-session-row,.umd-detail-row{display:flex;justify-content:space-between;padding:4px 6px;font-size:12px;color:var(--text-secondary)}.umd-mono{font-family:var(--font-mono);color:var(--text-primary);font-size:11px}.umd-provider-row{display:flex;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;border-radius:6px;color:var(--text-secondary);margin-bottom:2px}.umd-provider-row.active{background:var(--bg-tertiary);color:var(--text-primary);font-weight:500}.umd-provider-row.active .umd-provider-name{color:var(--accent-blue)}.umd-provider-name{font-size:12px}.credits-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:380px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:14px;box-shadow:0 20px 60px #00000080;z-index:1000;overflow:hidden;animation:fadeIn .2s ease}.cp-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.cp-header-left{display:flex;align-items:center;gap:10px}.cp-title{font-size:15px;font-weight:600;color:var(--text-primary)}.cp-plan-badge{font-size:10px;color:var(--accent-blue);background:#58a6ff1f;padding:2px 10px;border-radius:10px;font-family:var(--font-mono);letter-spacing:.3px}.cp-close{width:26px;height:26px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:6px;font-size:16px;display:flex;align-items:center;justify-content:center;transition:all .15s}.cp-close:hover{background:var(--bg-hover);color:var(--text-primary)}.cp-body{padding:20px}.cp-balance-row{display:flex;align-items:center;justify-content:center;gap:0;margin-bottom:16px;background:var(--bg-tertiary);border-radius:10px;padding:12px}.cp-balance-item{flex:1;text-align:center}.cp-balance-label{display:block;font-size:11px;color:var(--text-muted);margin-bottom:4px}.cp-balance-value{font-size:22px;font-weight:700;color:var(--text-primary);font-family:var(--font-mono)}.cp-balance-divider{width:1px;height:32px;background:var(--border-color)}.cp-progress-section{margin-bottom:16px}.cp-progress-row{display:flex;justify-content:space-between;font-size:12px;color:var(--text-secondary);margin-bottom:6px}.cp-bar{height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.cp-bar-fill{height:100%;border-radius:3px;transition:width .5s ease}.cp-details{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.cp-detail-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--bg-tertiary);border-radius:8px;font-size:12px}.cp-detail-label{color:var(--text-secondary)}.cp-detail-value{color:var(--text-primary);font-family:var(--font-mono);font-size:12px;font-weight:500}.cp-session-section{margin-bottom:12px}.cp-session-title{font-size:12px;color:var(--text-muted);font-weight:500;margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.cp-session-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:6px}.cp-session-item{padding:10px 6px;background:var(--bg-tertiary);border-radius:8px;text-align:center}.cp-session-label{display:block;font-size:10px;color:var(--text-muted);margin-bottom:3px}.cp-session-value{font-size:15px;font-weight:700;color:var(--accent-blue);font-family:var(--font-mono)}.cp-session-total{color:var(--text-primary)}.cp-footer{display:flex;justify-content:center;padding-top:4px}.usage-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;background:#58a6ff1a;border:1px solid rgba(88,166,255,.2);border-radius:4px;font-size:10px;color:var(--accent-blue);font-family:var(--font-mono);margin-top:6px}.stream-cursor{display:inline-block;animation:streamBlink .6s step-end infinite;color:var(--accent-blue);font-size:15px;line-height:1;margin-left:1px;font-weight:300;opacity:.8}@keyframes streamBlink{50%{opacity:0}}.chat-message.streaming .message-text{color:var(--text-primary)}.stream-waiting{display:flex;align-items:center;gap:6px;padding:0;color:var(--text-muted);font-size:13px}.stream-waiting-dot{width:6px;height:6px;border-radius:50%;background:var(--accent-blue);animation:streamPulse 1.4s ease-in-out infinite}.stream-waiting-dot:nth-child(1){animation-delay:-.46s}.stream-waiting-dot:nth-child(2){animation-delay:-.23s}.stream-waiting-dot:nth-child(3){animation-delay:0s}@keyframes streamPulse{0%,60%,to{transform:scale(.6);opacity:.3}30%{transform:scale(1);opacity:1}}.stream-waiting-label{margin-left:4px;font-size:12px;color:var(--text-muted);opacity:.7}.stream-text-wrapper{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(139,148,158,.18);background:#8b949e0a}.stream-text-wrapper .stream-text-body{padding:10px 14px;font-size:13px;line-height:1.6;color:var(--text-primary);white-space:pre-wrap;word-break:break-word;max-height:400px;overflow-y:auto}.stream-text-node{display:inline;white-space:pre-wrap;word-break:break-word}.stream-status-line{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;margin:6px 0;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);background:#8b949e0f;border-radius:8px;border:1px solid rgba(139,148,158,.1)}.msg-actions-bar{margin-top:8px;display:flex;gap:8px;opacity:0;transition:opacity .15s}.chat-message.user:hover .msg-actions-bar{opacity:1}.msg-rexec-btn{padding:4px 12px;border:1px solid var(--border-color);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;border-radius:6px;font-size:11px;font-family:var(--font-sans);transition:all .15s;display:flex;align-items:center;gap:4px}.msg-rexec-btn:hover{background:#58a6ff1f;border-color:var(--accent-blue);color:var(--accent-blue)}.md-p{margin:0 0 10px;padding:0;line-height:1.7}.md-p:last-child{margin-bottom:0}.md-h1{font-size:20px;font-weight:600;margin:18px 0 10px;padding:0;color:var(--text-primary)}.md-h2{font-size:17px;font-weight:600;margin:16px 0 8px;padding:0;color:var(--text-primary)}.md-h3{font-size:15px;font-weight:500;margin:14px 0 6px;padding:0;color:var(--text-secondary)}.md-h4{font-size:14px;font-weight:600;margin:12px 0 6px;padding:0;color:var(--text-secondary)}.md-h5{font-size:13px;font-weight:600;margin:10px 0 4px;padding:0;color:var(--text-muted)}.md-h6{font-size:12px;font-weight:600;margin:8px 0 4px;padding:0;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.md-ul,.md-ol{margin:6px 0;padding:0 0 0 24px}.md-ul .md-ul,.md-ul .md-ol,.md-ol .md-ul,.md-ol .md-ol{margin:2px 0}.md-li{margin:3px 0;padding:0;line-height:1.7}.md-ol .md-li{list-style-type:decimal}.md-blockquote{border-left:3px solid var(--accent-blue);padding:6px 14px;margin:10px 0;background:#58a6ff0a;color:var(--text-secondary);border-radius:0 8px 8px 0}.md-hr{border:none;border-top:1px solid var(--border-color);margin:14px 0}.md-inline-code{background:var(--bg-tertiary);padding:2px 6px;border-radius:4px;font-family:var(--font-mono);font-size:13px;color:var(--accent-orange)}.md-link{color:var(--accent-blue);text-decoration:none;border-bottom:1px solid rgba(88,166,255,.3);transition:border-color .15s}.md-link:hover{border-bottom-color:var(--accent-blue)}.md-img{max-width:100%;border-radius:8px;margin:8px 0;display:block}.md-del{text-decoration:line-through;color:var(--text-muted);opacity:.7}.md-table{width:100%;border-collapse:collapse;margin:10px 0;font-size:13px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden}.md-table thead{background:var(--bg-tertiary)}.md-table th{padding:8px 12px;text-align:left;font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-color);font-size:12px}.md-table td{padding:6px 12px;border-bottom:1px solid rgba(48,54,61,.5);color:var(--text-primary);line-height:1.5}.md-table tbody tr:last-child td{border-bottom:none}.md-table tbody tr:hover{background:#8b949e0a}.md-code-block{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(139,148,158,.18);background:#8b949e0a}.md-code-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;font-size:12px;color:var(--text-muted);background:#8b949e1a;-webkit-user-select:none;user-select:none;line-height:36px;cursor:pointer;transition:background .15s}.md-code-header:hover{background:#8b949e29}.md-code-lang{font-weight:600;color:var(--text-secondary);font-size:12px;text-transform:lowercase}.md-code-linecount{font-size:11px;color:var(--text-muted);opacity:.6}.md-code-copy,.md-code-toggle{margin-left:auto;cursor:pointer;font-size:11px;color:var(--text-muted);padding:3px 10px;border-radius:5px;transition:all .15s;opacity:.5}.md-code-toggle{margin-left:6px}.md-code-copy:hover,.md-code-toggle:hover{opacity:1;background:#ffffff14;color:var(--text-primary)}.md-code-block pre{padding:10px 14px;overflow:hidden;margin:0}.md-code-block code{font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);white-space:pre-wrap;word-break:break-all;-moz-tab-size:2;tab-size:2}.md-code-block code .lang-javascript .keyword,.md-code-block code .lang-js .keyword,.md-code-block code .lang-python .keyword{color:#cba6f7}.reasoning-block{margin:10px 0;border:1px solid rgba(139,148,158,.18);border-radius:10px;overflow:hidden;background:#8b949e0a}.reasoning-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;color:var(--text-muted);background:#8b949e1a;transition:background .15s;line-height:36px}.reasoning-header:hover{background:#8b949e29}.reasoning-toggle{font-size:10px;color:var(--text-muted);flex-shrink:0;transition:transform .2s}.reasoning-toggle.collapsed{transform:rotate(-90deg)}.reasoning-label{font-weight:500;font-size:12px}.reasoning-body{padding:10px 14px;font-size:13px;line-height:1.6;color:var(--text-muted);font-style:italic;max-height:300px;overflow-y:auto}.reasoning-stream{white-space:pre-wrap;word-break:break-word}.message-text strong{color:var(--text-primary);font-weight:600}.message-text em{color:var(--text-secondary)}.file-change-card{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(139,148,158,.18);background:#8b949e0a}.file-change-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;font-size:12px;color:var(--text-muted);background:#8b949e1a;-webkit-user-select:none;user-select:none;line-height:36px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(139,148,158,.18);margin:0;border-top:none;border-left:none;border-right:none}.file-change-header:hover{background:#8b949e29}.file-change-icon{font-size:13px;flex-shrink:0}.file-change-path{font-weight:600;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-change-stats{display:flex;gap:6px;align-items:center;margin-right:4px}.file-stat-add{font-size:11px;font-weight:600;color:var(--accent-green);background:#3fb9501f;padding:1px 6px;border-radius:4px}.file-stat-del{font-size:11px;font-weight:600;color:var(--accent-red);background:#f851491f;padding:1px 6px;border-radius:4px}.file-change-lang{font-size:11px;color:var(--text-muted);text-transform:lowercase;background:var(--bg-primary);padding:2px 8px;border-radius:4px}.file-change-lines{font-size:11px;color:var(--text-muted);opacity:.6}.file-change-toggle{font-size:10px;color:var(--text-muted);flex-shrink:0;transition:transform .2s;margin-left:4px}.file-change-body{display:block;margin:0;padding:0;border:none}.file-change-pre{padding:10px 14px;overflow:hidden;margin:0;background:transparent;border:none}.file-change-pre code{display:block;margin:0;padding:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);white-space:pre-wrap;word-break:break-all;-moz-tab-size:2;tab-size:2}.diff-view{font-family:var(--font-mono);font-size:12px;line-height:1.5;overflow-x:auto;background:var(--bg-primary)}.diff-hunk-header{padding:4px 10px;background:#58a6ff14;color:var(--text-muted);font-size:11px;font-family:var(--font-mono);border-bottom:1px solid rgba(139,148,158,.1);-webkit-user-select:none;user-select:none}.diff-hunk-title{color:var(--text-secondary);margin-left:6px}.diff-table{width:100%;border-collapse:collapse;table-layout:fixed}.diff-row{height:22px}.diff-row:hover{filter:brightness(1.15)}.diff-ln{width:40px;min-width:40px;max-width:40px;padding:1px 6px;text-align:right;color:var(--text-muted);font-size:11px;opacity:.5;background:var(--bg-secondary);-webkit-user-select:none;user-select:none;white-space:nowrap;overflow:hidden;border-right:1px solid rgba(139,148,158,.1)}.diff-ln-old{color:#f8514999}.diff-ln-new{color:#3fb95099}.diff-sign{width:14px;min-width:14px;max-width:14px;padding:1px 4px;text-align:center;color:var(--text-muted);font-size:11px;opacity:.4;-webkit-user-select:none;user-select:none;background:var(--bg-secondary);border-right:1px solid rgba(139,148,158,.1)}.diff-code{padding:1px 10px;white-space:pre-wrap;word-break:break-all;color:var(--text-primary);font-size:12px;line-height:1.5}.diff-row.diff-line-add{background:#2ea04326}.diff-row.diff-line-add .diff-ln{background:#2ea04314;border-right-color:#2ea04333}.diff-row.diff-line-add .diff-ln-new{color:#2ea043cc;opacity:1}.diff-row.diff-line-add .diff-sign{color:#2ea043cc;opacity:1;background:#2ea04314;border-right-color:#2ea04333}.diff-row.diff-line-add .diff-code{color:var(--text-primary)}.diff-row.diff-line-del{background:#f8514926}.diff-row.diff-line-del .diff-ln{background:#f8514914;border-right-color:#f8514933}.diff-row.diff-line-del .diff-ln-old{color:#f85149cc;opacity:1}.diff-row.diff-line-del .diff-sign{color:#f85149cc;opacity:1;background:#f8514914;border-right-color:#f8514933}.diff-row.diff-line-del .diff-code{color:var(--text-primary)}.diff-row.diff-line-ctx{background:transparent}.diff-row.diff-line-ctx .diff-code{color:var(--text-secondary)}.output-card{margin:10px 0;border-radius:10px;overflow:hidden;border:1px solid rgba(139,148,158,.18);background:#8b949e0a}.output-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;font-size:12px;color:var(--text-muted);background:#8b949e1a;-webkit-user-select:none;user-select:none;line-height:36px;cursor:pointer;transition:background .15s;border-bottom:1px solid rgba(139,148,158,.18);margin:0;border-top:none;border-left:none;border-right:none}.output-header:hover{background:#8b949e29}.output-icon{font-size:13px;flex-shrink:0}.output-title{font-weight:600;color:var(--text-secondary);font-family:var(--font-mono);font-size:12px;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.output-lines{font-size:11px;color:var(--text-muted);opacity:.6}.output-body{display:block;margin:0;padding:0;border:none}.tree-view{font-family:var(--font-mono);font-size:12px;line-height:1.6;background:var(--bg-primary);padding:8px 0}.tree-line{padding:1px 14px;color:var(--text-secondary);white-space:pre;overflow:hidden;text-overflow:ellipsis}.tree-line:hover{background:#8b949e0f}.terminal-view{font-family:var(--font-mono);font-size:12px;line-height:1.6;background:#0d1117;padding:10px 14px}.term-line{padding:1px 0;color:var(--text-secondary);white-space:pre-wrap;word-break:break-all}.term-prompt{color:var(--accent-blue);font-weight:600}.read-file-info{padding:12px 14px}.read-file-path{font-size:12px;color:var(--text-secondary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px}.read-file-progress{display:flex;align-items:center;gap:8px}.read-file-progress-bar{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;overflow:hidden}.read-file-progress-fill{height:100%;background:var(--accent-blue);border-radius:3px;transition:width .3s ease}.read-file-progress-text{font-size:11px;color:var(--accent-green);flex-shrink:0}.usage-badge{margin-top:8px;padding:3px 10px;background:var(--bg-tertiary);border-radius:6px;font-size:11px;color:var(--text-muted);display:inline-flex;align-items:center;gap:4px;font-family:var(--font-mono)}.usage-badge-icon{color:var(--accent-blue)}.tool-call-start{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;margin:4px 0;background:#d2a8ff14;color:var(--accent-purple);border:1px solid rgba(210,168,255,.15);border-radius:6px;font-size:12px;font-family:var(--font-mono)}.tool-call-start:before{content:"⚙";font-size:12px}.tool-call-exec{display:flex;align-items:flex-start;gap:6px;padding:6px 12px;margin:4px 0;background:#58a6ff0a;border-left:3px solid var(--accent-blue);border-radius:0 6px 6px 0;font-size:12px;font-family:var(--font-mono)}.tool-call-label{color:var(--accent-blue);font-weight:600;white-space:nowrap;flex-shrink:0;font-size:12px}.tool-call-args{color:var(--text-muted);word-break:break-all;font-size:12px}.tool-call-spinner{font-size:12px;margin-left:auto;opacity:.6}.tool-call-result{margin:10px 0;border:1px solid rgba(139,148,158,.18);border-radius:10px;overflow:hidden;background:#8b949e0a}.tool-result-header{display:flex;align-items:center;gap:8px;padding:0 14px;height:36px;cursor:pointer;-webkit-user-select:none;user-select:none;background:#8b949e1a;transition:background .15s;line-height:36px}.tool-result-header:hover{background:#8b949e29}.tool-result-icon{color:var(--text-muted);font-weight:700;font-size:14px}.tool-result-name{color:var(--text-muted);font-weight:600;font-size:12px;font-family:var(--font-mono)}.tool-result-lines{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:var(--font-mono);opacity:.6}.tool-result-body{position:relative;transition:max-height .25s ease}.tool-result-body.collapsed{max-height:0!important;overflow:hidden}.tool-result-pre{padding:10px 14px;margin:0;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);white-space:pre-wrap;word-break:break-all;overflow:hidden}.tool-result-fade{position:absolute;bottom:0;left:0;right:0;text-align:center;padding:20px 0 8px;background:linear-gradient(transparent,#161b22f2);cursor:pointer;font-size:12px;color:var(--text-muted);-webkit-user-select:none;user-select:none}.tool-result-fade span{background:var(--bg-tertiary);padding:3px 14px;border-radius:6px;border:1px solid var(--border-color)}.tool-result-fade:hover span{background:var(--bg-secondary);color:var(--text-primary)}.tool-result-pre code{font-family:inherit;color:inherit}.tool-result-terminal{background:#0c0c14;border-top:1px solid rgba(63,185,80,.15)}.tool-result-cmd{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#8b949e0f;border-bottom:1px solid rgba(139,148,158,.12);font-family:var(--font-mono);font-size:11px;color:var(--text-muted)}.tool-result-cmd:before{content:"$";color:var(--text-muted);font-weight:600;opacity:.8}.tool-result-cmd-text{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-result-scroll{max-height:240px;overflow-y:auto;scroll-behavior:auto;padding:8px 0}.tool-result-scroll::-webkit-scrollbar{width:6px}.tool-result-scroll::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}.tool-result-line{padding:2px 14px;font-family:var(--font-mono);font-size:13px;line-height:1.6;color:var(--text-muted);white-space:pre-wrap;word-break:break-all}.tool-result-line:last-child{padding-bottom:2px}.tool-result-filelist{padding:0}.tool-result-file-row{display:flex;align-items:center;gap:8px;padding:4px 14px;font-size:12px;font-family:var(--font-mono);transition:background .1s}.tool-result-file-row:hover{background:#8b949e0f}.tool-result-file-row.dir{color:var(--accent-blue)}.tool-result-file-row.file{color:var(--text-secondary)}.tool-result-file-icon{flex-shrink:0;font-size:12px;width:18px;text-align:center}.tool-result-file-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tool-result-file-type{font-size:10px;color:var(--text-muted);opacity:.5;flex-shrink:0}.tree-dir{color:var(--accent-blue)}.tree-icon{margin-right:6px}.btn-icon-trash{width:36px;height:36px;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}.btn-icon-trash:hover{background:#f8514926;color:var(--accent-red)}.skills-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;padding:20px}.skill-card{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:10px;padding:16px}.skill-card:hover{border-color:var(--text-muted)}.skill-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.skill-name{font-weight:600;font-size:14px}.skill-version{font-size:11px;color:var(--text-muted);padding:2px 6px;background:var(--bg-secondary);border-radius:4px}.skill-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;margin-bottom:10px}.skill-tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font-size:11px;padding:2px 8px;background:#58a6ff1a;color:var(--accent-blue);border-radius:10px}.email-config{padding:20px 20px 32px;max-width:560px}.notify-section{margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid var(--border-color, #30363d)}.notify-section:last-of-type{border-bottom:none}.notify-section-title{font-size:14px;font-weight:600;margin:0 0 12px;color:var(--text-primary, #e6edf3)}.notify-check{display:block;margin-bottom:8px;font-size:13px;cursor:pointer}.notify-check input{margin-right:8px}.form-group{margin-bottom:16px}.form-group label{display:block;font-size:12px;font-weight:600;color:var(--text-secondary);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}.form-input{width:100%;padding:7px 12px;min-height:36px;line-height:1.5;height:auto;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-size:13px;font-family:var(--font-sans);outline:none;transition:border-color .15s;box-sizing:border-box}.form-input:focus{border-color:var(--accent-blue)}select.form-input{padding-block:6px}.form-textarea{width:100%;min-height:120px;padding:10px 12px;line-height:1.5;background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:6px;font-family:var(--font-mono);font-size:12px;resize:vertical;outline:none;box-sizing:border-box}.form-hint{font-size:11px;color:var(--text-muted);margin-top:4px}.form-actions{margin-top:24px}.test-email-row{display:flex;gap:8px}.test-email-row .form-input{flex:1}.update-info{padding:20px}.update-section{margin-bottom:24px}.update-section h3{font-size:13px;color:var(--text-secondary);margin-bottom:8px}.version-display{font-size:32px;font-weight:700;font-family:var(--font-mono)}.update-server-config{display:flex;gap:8px}.update-server-config .form-input{flex:1;max-width:400px}.progress-bar{width:100%;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden;margin-bottom:8px}.progress-fill{height:100%;background:var(--accent-blue);border-radius:4px;transition:width .3s ease;width:0%}.progress-text{font-size:12px;color:var(--text-secondary)}.update-actions{display:flex;gap:8px;margin-top:16px}.cron-list{padding:20px}.cron-empty{text-align:center;padding:40px;color:var(--text-muted)}.cron-item{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px}.cron-item-info{display:flex;flex-direction:column;gap:4px}.cron-item-name{font-weight:600;font-size:14px}.cron-item-expr{font-family:var(--font-mono);font-size:12px;color:var(--accent-green)}.cron-badge{display:inline-block;padding:1px 6px;border-radius:4px;font-size:11px;font-weight:600;margin-right:4px}.cron-badge-hermes{background:#8a2be233;color:#b88dff;border:1px solid rgba(138,43,226,.4)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:none;align-items:center;justify-content:center;z-index:200;padding:24px;box-sizing:border-box;overflow-y:auto}.modal-overlay.is-open{display:flex!important}#settingsDialog{z-index:10050}.modal{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:500px;max-width:90vw;max-height:calc(100vh - 48px);display:flex;flex-direction:column;overflow:hidden;margin:auto;flex-shrink:0}.modal-lg{width:600px}.settings-section{margin-bottom:8px}.settings-section-title{display:flex;align-items:center;gap:8px;font-size:13px;font-weight:600;margin-bottom:12px;color:var(--text-secondary)}.settings-provider-badge{display:inline-block;padding:2px 10px;border-radius:4px;color:#fff;font-size:11px;font-weight:600;letter-spacing:.3px}.settings-divider{height:1px;background:var(--border-color);margin:16px 0}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--border-color);flex-shrink:0}.modal-header h3{font-size:16px}.modal-close{background:none;border:none;color:var(--text-secondary);font-size:24px;cursor:pointer;padding:4px}.modal-body{padding:20px;flex:1 1 auto;min-height:0;overflow-y:auto}.modal-footer{display:flex;justify-content:flex-end;gap:8px;padding:16px 20px;border-top:1px solid var(--border-color);flex-shrink:0}.modal-sm{width:420px}.app-dialog-message{margin:0;color:var(--text-primary);font-size:14px;line-height:1.6;white-space:pre-wrap}.btn-danger{background:var(--accent-red);color:#fff;border:1px solid var(--accent-red)}.btn-danger:hover{background:#da3633;border-color:#da3633;color:#fff}.modal-footer.is-single{justify-content:flex-end}.modal-footer.is-multi{flex-wrap:wrap;justify-content:flex-end;gap:8px}.modal-footer.is-multi .btn{min-width:0}.app-dialog .modal-footer.is-multi{flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:10px}.app-dialog .modal-footer.is-multi .btn{width:100%;min-height:36px;justify-content:center;text-align:center;white-space:normal;line-height:1.35;padding:8px 12px}.app-dialog .modal-header h3{margin:0;font-size:16px;font-weight:600}#toastContainer{position:fixed;top:calc(var(--titlebar-height) + 16px);right:20px;z-index:10060;display:flex;flex-direction:column;gap:8px;pointer-events:none}.app-toast{pointer-events:auto;background:var(--bg-secondary);color:var(--text-primary);padding:10px 16px;border-radius:8px;border:1px solid var(--border-color);border-left:3px solid var(--accent-blue);font-size:13px;box-shadow:0 8px 24px #00000059;max-width:360px;word-break:break-word;animation:appToastIn .2s ease}.app-toast--success{border-left-color:var(--accent-green)}.app-toast--warning{border-left-color:var(--accent-yellow)}.app-toast--error{border-left-color:var(--accent-red)}.app-toast.is-leaving{opacity:0;transition:opacity .3s}@keyframes appToastIn{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}.app-ant-modal .ant-modal-content,.ant-modal .ant-modal-content{background:var(--bg-secondary)!important;border:1px solid var(--border-color);border-radius:12px;box-shadow:0 16px 48px #00000073}.app-ant-modal .ant-modal-header,.ant-modal .ant-modal-header{background:var(--bg-secondary)!important;border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;margin-bottom:0;padding:16px 20px}.app-ant-modal .ant-modal-title,.ant-modal .ant-modal-title{color:var(--text-primary)!important;font-size:16px;font-weight:600}.app-ant-modal .ant-modal-body,.ant-modal .ant-modal-body{color:var(--text-primary);padding:20px}.app-ant-modal .ant-modal-footer,.ant-modal .ant-modal-footer{background:var(--bg-secondary)!important;border-top:1px solid var(--border-color);border-radius:0 0 12px 12px;padding:16px 20px}.app-ant-modal .ant-modal-close,.ant-modal .ant-modal-close{color:var(--text-secondary)}.main-content>.tab-content#tab-augment{padding:0;overflow:hidden}.main-content>.tab-content#tab-augment.active{display:flex;flex-direction:column;height:100%}.augment-toolbar{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);flex-shrink:0;gap:12px}.augment-toolbar-left{display:flex;flex-direction:column;gap:2px}.augment-title{font-size:14px;font-weight:600;color:var(--text-primary)}.augment-subtitle{font-size:11px;color:var(--text-muted)}.augment-toolbar-right{display:flex;align-items:center;gap:8px}.augment-branch-select{background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);font-size:12px;padding:4px 8px;border-radius:6px;outline:none}.augment-pipeline-bar{display:flex;align-items:center;gap:0;padding:10px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-shrink:0;overflow-x:auto}.augment-stage{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:12px;white-space:nowrap;border-radius:6px;background:var(--bg-tertiary);color:var(--text-muted)}.augment-stage-dot{width:8px;height:8px;border-radius:50%;background:currentColor;flex-shrink:0}.augment-stage-arrow{color:var(--text-muted);margin:0 2px;font-size:11px}.augment-stage-passed{color:#22c55e;background:#22c55e1a}.augment-stage-building{color:#f59e0b;background:#f59e0b1a}.augment-stage-testing{color:#3b82f6;background:#3b82f61a}.augment-stage-failed{color:#ef4444;background:#ef44441a}.augment-stage-idle{color:var(--text-muted)}.augment-body{flex:1;display:flex;overflow:hidden}.augment-layers{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.augment-side{width:320px;border-left:1px solid var(--border-color);display:flex;flex-direction:column;background:var(--bg-secondary);flex-shrink:0}.augment-layer{border:1px solid var(--border-color);border-radius:10px;background:var(--bg-tertiary);padding:12px 14px;transition:all .2s}.augment-layer:hover{border-color:var(--accent-blue);box-shadow:0 4px 16px #58a6ff1a}.augment-layer-base{background:linear-gradient(135deg,#58a6ff14,#8b5cf60f);border-color:#58a6ff4d}.augment-layer-header{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.augment-layer-icon{font-size:16px}.augment-layer-label{font-size:13px;font-weight:600;color:var(--text-primary)}.augment-layer-version{font-size:11px;color:var(--text-muted);background:var(--bg-secondary);padding:1px 6px;border-radius:4px;font-family:var(--font-mono, monospace)}.augment-layer-status{font-size:10px;font-weight:600;padding:2px 8px;border-radius:10px;border:1px solid;text-transform:uppercase;letter-spacing:.3px}.augment-layer-source{font-size:10px;color:var(--text-muted);margin-left:auto}.augment-layer-desc{font-size:12px;color:var(--text-secondary);margin-top:6px;line-height:1.5}.augment-layer-actions{display:flex;gap:6px;margin-top:8px}.augment-layer-btn{font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid var(--border-color);background:var(--bg-secondary);color:var(--text-secondary);cursor:pointer;transition:all .15s}.augment-layer-btn:hover{border-color:var(--accent-blue);color:var(--accent-blue)}.augment-agent-panel{padding:12px 16px;border-bottom:1px solid var(--border-color)}.augment-agent-title{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:10px}.augment-agent-row{display:flex;align-items:center;gap:8px;margin-bottom:8px}.augment-agent-badge{font-size:11px;font-weight:600;padding:2px 10px;border-radius:10px;border:1px solid}.augment-agent-dev{color:#3b82f6;background:#3b82f61a;border-color:#3b82f64d}.augment-agent-test{color:#f59e0b;background:#f59e0b1a;border-color:#f59e0b4d}.augment-agent-status{font-size:12px;color:var(--text-muted)}.augment-log-panel{flex:1;display:flex;flex-direction:column;overflow:hidden}.augment-log-title{font-size:12px;font-weight:600;color:var(--text-primary);padding:10px 16px 6px;flex-shrink:0}.augment-log-content{flex:1;overflow-y:auto;padding:0 16px 12px;font-family:var(--font-mono, monospace);font-size:11px;line-height:1.7}.augment-log-line{padding:1px 0;white-space:pre-wrap;word-break:break-all}.augment-dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;z-index:10000;display:flex;align-items:center;justify-content:center}.augment-dialog{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:12px;width:460px;max-width:90vw;max-height:80vh;box-shadow:0 16px 48px #00000080;display:flex;flex-direction:column}.augment-dialog-title{font-size:15px;font-weight:600;color:var(--text-primary);padding:16px 20px;border-bottom:1px solid var(--border-color)}.augment-dialog-body{padding:16px 20px;overflow-y:auto;flex:1}.augment-dialog-label{display:block;font-size:12px;color:var(--text-muted);margin:10px 0 4px}.augment-dialog-input{width:100%;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;padding:8px 10px;border-radius:6px;outline:none;box-sizing:border-box}.augment-dialog-input:focus{border-color:var(--accent-blue)}.augment-dialog-textarea{width:100%;min-height:80px;resize:vertical;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary);font-size:13px;padding:8px 10px;border-radius:6px;outline:none;box-sizing:border-box}.augment-dialog-actions{display:flex;justify-content:flex-end;gap:8px;padding:12px 20px;border-top:1px solid var(--border-color)}.augment-diff-view{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;padding:12px;font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-secondary);white-space:pre-wrap;line-height:1.6;margin:0}.app-ant-modal .ant-modal-close:hover,.ant-modal .ant-modal-close:hover{color:var(--text-primary);background:var(--bg-hover)}.ant-message-notice-content{background:var(--bg-secondary)!important;color:var(--text-primary)!important;border:1px solid var(--border-color);border-radius:8px;box-shadow:0 8px 24px #00000059}.ant-message .anticon{color:var(--accent-blue)!important}.ant-message-success .anticon{color:var(--accent-green)!important}.ant-message-error .anticon{color:var(--accent-red)!important}.ant-message-warning .anticon{color:var(--accent-yellow)!important}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.main-content>.tab-content#tab-device-test{overflow:hidden;min-height:0}.main-content>.tab-content#tab-device-test.active{display:flex;flex-direction:column;flex:1;min-height:0}#tab-device-test>.panel{flex-shrink:0}#tab-device-test .device-test-scroll-area{flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}#tab-device-test .device-test-layout{flex:1 1 auto;min-height:100%;max-height:none;overflow:hidden}#tab-device-test .device-test-layout.is-layout-ready{min-height:240px}#tab-device-test .device-test-col{min-height:0;max-height:100%;overflow:hidden}#tab-device-test .device-test-col-right.dock-expanded{grid-template-rows:minmax(0,1fr) minmax(0,1fr)}#tab-device-test .device-test-col-right.dock-expanded.dock-primary{grid-template-rows:minmax(120px,.85fr) minmax(0,1.15fr)}#tab-device-test .device-test-quad{height:100%;min-height:0;max-height:100%;overflow:hidden}#tab-device-test .device-test-platform-card:not(.compact){height:100%;min-height:0}#tab-device-test .device-test-quad-dock:not(.is-active){height:auto;min-height:0;max-height:none;overflow:visible;flex-shrink:0}#tab-device-test .device-test-col-right{grid-template-rows:minmax(0,1fr) auto}#tab-device-test .device-test-quad-dock.is-active{height:100%;min-height:0;max-height:none}#tab-device-test .device-test-quad-mobile{min-height:0;max-height:100%;overflow:hidden}#tab-device-test.device-test-nested .panel-header{flex-wrap:wrap;gap:6px;padding:8px 12px!important}#tab-device-test.device-test-nested .panel-header h2{font-size:14px;line-height:1.2}#tab-device-test.device-test-nested .panel-actions{flex-wrap:wrap;gap:6px!important}#tab-device-test.device-test-nested .panel-actions .btn{font-size:11px;padding:4px 8px}#tab-device-test.device-test-nested .device-test-layout{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:12px!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;flex:0 0 auto!important}#tab-device-test.device-test-nested .device-test-col-left,#tab-device-test.device-test-nested .device-test-col-right,#tab-device-test.device-test-nested .device-test-col{display:flex!important;flex-direction:column!important;grid-template-rows:none!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:visible!important;gap:12px!important;flex:0 0 auto!important}#tab-device-test.device-test-nested .device-test-quad,#tab-device-test.device-test-nested .device-test-quad-mobile,#tab-device-test.device-test-nested .device-test-quad-dock,#tab-device-test.device-test-nested .device-test-mobile-web{position:relative;z-index:0;flex:0 0 auto!important;height:auto!important;max-height:none!important;min-height:0!important;overflow:hidden!important}#tab-device-test.device-test-nested .device-test-quad-dock.is-compact,#tab-device-test.device-test-nested .device-test-quad.is-compact{min-height:0}#tab-device-test.device-test-nested .device-test-platform-card:not(.compact){display:flex!important;flex-direction:column!important;grid-template-rows:none!important;height:auto!important;min-height:0!important;overflow:hidden!important}#tab-device-test.device-test-nested .device-test-platform-card>.device-test-embed-scroll{flex:0 0 auto!important;height:120px!important;min-height:100px!important;max-height:140px!important}#tab-device-test.device-test-nested .device-test-platform-card.compact{min-height:0;height:auto!important}#tab-device-test.device-test-nested .device-test-mobile-web{display:flex!important;flex-direction:column!important;min-height:220px}#tab-device-test.device-test-nested .device-test-mw-titlebar{padding:6px 8px;flex-wrap:wrap;gap:6px}#tab-device-test.device-test-nested .device-test-mw-titlebar-label{font-size:11px}#tab-device-test.device-test-nested .device-test-embed-host--desktop,#tab-device-test.device-test-nested .device-test-embed-host--portrait{min-height:80px;min-width:0}#tab-device-test.device-test-nested .device-test-embed-scroll{min-height:72px}#tab-device-test.device-test-nested .device-test-mobile-web-portrait .device-test-portrait-slot.is-inactive{flex:0 0 clamp(72px,18%,100px);min-width:72px;max-width:100px}#tab-device-test.device-test-nested .device-test-mobile-web-portrait.focus-mode:not(.has-active) .device-test-portrait-slot{flex:1 1 0;min-width:0;max-width:none}#tab-device-test.device-test-nested .device-test-mobile-web-portrait .device-test-portrait-slot.is-host-blocked{flex:0 0 112px;width:112px;min-width:112px;max-width:112px}#tab-dify.tab-content.active{animation:none}.dify-panel{display:flex;flex-direction:column;gap:12px;padding:0 0 16px}.dify-panel>.panel-header{flex-shrink:0}.dify-status-pill{font-size:12px;color:var(--text-secondary);margin-right:4px}.dify-msg{margin:0 16px;font-size:13px}.dify-msg.ok{color:var(--success, #3fb950)}.dify-msg.err{color:var(--danger, #f85149)}.dify-hint{margin:0 16px;font-size:13px;color:var(--text-secondary)}.dify-actions{display:flex;flex-wrap:wrap;gap:8px;margin:0 16px}.dify-annotation-block{margin:0 16px;font-size:13px}.dify-annotation-block summary{cursor:pointer;color:var(--text-secondary);-webkit-user-select:none;user-select:none}.dify-annotation-input{width:100%;margin:8px 0;font-family:var(--font-mono);font-size:12px}.dify-idle-hint{margin:8px 16px 0;padding:12px 16px;font-size:13px;color:var(--text-secondary);background:var(--bg-tertiary, rgba(255, 255, 255, .04));border:1px dashed var(--border-color);border-radius:8px}.dify-iframe-wrap{position:relative;margin:8px 16px 0;height:min(520px,calc(100vh - 260px));min-height:240px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.dify-iframe{display:block;width:100%;height:100%;border:0;background:var(--bg-secondary)}.btn-secondary{background:transparent;border-color:var(--border-default);color:var(--text-secondary)}.btn-secondary:hover{background:var(--theme-blue-hover-bg);border-color:var(--border-strong);color:var(--text-primary)}#tab-dashboard .dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-6);padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle)}#tab-dashboard .dashboard-header h1{font-size:18px;font-weight:500;letter-spacing:.01em;color:var(--text-primary)}#tab-dashboard .header-actions{display:flex;gap:var(--space-2)}#tab-dashboard .stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}#tab-dashboard .stat-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-card);padding:var(--space-5);display:flex;align-items:center;gap:var(--space-4);transition:border-color .15s ease}#tab-dashboard .stat-card-clickable{cursor:pointer}#tab-dashboard .stat-card-clickable:hover{border-color:var(--border-strong)}#tab-dashboard .stat-icon{width:40px;height:40px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary);background:#4d8cc70f;box-shadow:0 2px 4px #0003,0 4px 8px #00000026,inset 0 1px #ffffff0d;transition:box-shadow .2s ease,transform .2s ease}#tab-dashboard .stat-icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}#tab-dashboard .stat-card-clickable:hover .stat-icon{box-shadow:0 4px 8px #00000040,0 8px 16px #0003,inset 0 1px #ffffff14;transform:translateY(-1px)}#tab-dashboard .stat-icon--accent{color:var(--theme-blue-accent);background:#4d8cc71f;box-shadow:0 2px 4px #4d8cc733,0 4px 8px #00000026,inset 0 1px #ffffff0d}#tab-dashboard .stat-icon--success{color:var(--accent-green);background:#3fb9501f;box-shadow:0 2px 4px #3fb95033,0 4px 8px #00000026,inset 0 1px #ffffff0d}#tab-dashboard .stat-icon--warning{color:var(--accent-yellow);background:#d299221f;box-shadow:0 2px 4px #d2992233,0 4px 8px #00000026,inset 0 1px #ffffff0d}#tab-dashboard .stat-icon--danger{color:var(--accent-red);background:#f851491f;box-shadow:0 2px 4px #f8514933,0 4px 8px #00000026,inset 0 1px #ffffff0d}#tab-dashboard .stat-info{display:flex;flex-direction:column}#tab-dashboard .stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:22px;font-weight:600;line-height:1.2;color:var(--text-primary)}#tab-dashboard .stat-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--text-tertiary);margin-top:var(--space-1)}.dashboard-success-rate{font-size:11px;color:var(--text-tertiary);margin-left:var(--space-2);font-family:var(--font-mono);font-variant-numeric:tabular-nums}#tab-dashboard .panel{background:var(--surface-elevated);border:1px solid var(--border-default);border-radius:var(--radius-panel);overflow:hidden}#tab-dashboard .panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);min-height:40px}#tab-dashboard .panel-header h2{font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary)}#tab-dashboard .panel-actions{display:flex;gap:var(--space-2);align-items:center}.dashboard-recent-section{margin-bottom:var(--space-6);flex-shrink:0}.dashboard-recent-panel .panel-header{margin-bottom:0}.dashboard-recent-list{display:flex;flex-direction:column;gap:0;max-height:240px;overflow-y:auto;background:transparent}.dashboard-recent-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background .12s ease}.dashboard-recent-item:last-child{border-bottom:none}.dashboard-recent-item:hover{background:var(--theme-blue-hover-bg)}.dashboard-recent-item-main{flex:1;min-width:0}.dashboard-recent-item-title{font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:.005em}.dashboard-recent-item-meta{font-size:11px;color:var(--text-tertiary);margin-top:2px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.dashboard-recent-empty{padding:var(--space-6);text-align:center;color:var(--text-tertiary);font-size:12px;letter-spacing:.04em}.dashboard-recent-offline{padding:var(--space-3) var(--space-5);font-size:12px;color:var(--warning);background:var(--warning-bg);border-bottom:1px solid var(--border-subtle)}.dashboard-monitor-section{margin-bottom:var(--space-6);flex-shrink:0}.dashboard-monitor-panel .panel-header{margin-bottom:0}.dashboard-monitor-tick{font-size:11px;color:var(--text-tertiary);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.dashboard-monitor-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);padding:var(--space-3)}.monitor-card{display:flex;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-default);border-radius:var(--radius-card);background:var(--surface-card);transition:border-color .15s ease}.monitor-card:hover{border-color:var(--border-strong)}.monitor-card-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--text-tertiary);background:#4d8cc70f;box-shadow:0 2px 4px #0003,0 4px 8px #00000026,inset 0 1px #ffffff0d;transition:box-shadow .2s ease,transform .2s ease}.monitor-card-icon svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.4))}.monitor-card:hover .monitor-card-icon{box-shadow:0 4px 8px #00000040,0 8px 16px #0003,inset 0 1px #ffffff14;transform:translateY(-1px)}.monitor-card-icon--accent{color:var(--theme-blue-accent);background:#4d8cc71f;box-shadow:0 2px 4px #4d8cc733,0 4px 8px #00000026,inset 0 1px #ffffff0d}.monitor-card-icon--success{color:var(--accent-green);background:#3fb9501f;box-shadow:0 2px 4px #3fb95033,0 4px 8px #00000026,inset 0 1px #ffffff0d}.monitor-card-icon--warning{color:var(--accent-yellow);background:#d299221f;box-shadow:0 2px 4px #d2992233,0 4px 8px #00000026,inset 0 1px #ffffff0d}.monitor-card-icon--danger{color:var(--accent-red);background:#f851491f;box-shadow:0 2px 4px #f8514933,0 4px 8px #00000026,inset 0 1px #ffffff0d}.dashboard-monitor-hint{font-size:11px;color:var(--text-tertiary);letter-spacing:.04em}.monitor-card-body{flex:1;min-width:0}.monitor-card-label{font-size:10px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--text-tertiary);margin-bottom:var(--space-1)}.monitor-card-label--row{display:flex;align-items:center;justify-content:space-between;gap:8px;text-transform:none;letter-spacing:.04em}.monitor-card-label--row>span{text-transform:uppercase;letter-spacing:.08em}.monitor-disk-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:var(--bg-tertiary, rgba(255, 255, 255, .06));border:1px solid var(--border-color, rgba(139, 148, 158, .35));border-radius:6px;color:var(--text-primary);font-size:11px;font-family:var(--font-mono);font-weight:600;line-height:1.2;padding:2px 22px 2px 8px;max-width:72px;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath fill='%238b949e' d='M1 1l4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 7px center}.monitor-disk-select:hover,.monitor-disk-select:focus{border-color:var(--theme-blue-accent, #58a6ff);outline:none}.monitor-disk-select option{background:var(--bg-secondary, #161b22);color:var(--text-primary)}.monitor-card-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-feature-settings:"tnum";font-size:15px;font-weight:500;color:var(--text-primary);line-height:1.2;letter-spacing:.005em}.monitor-card-meta{font-size:10px;color:var(--text-tertiary);margin-top:var(--space-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:.02em}.monitor-bar{height:3px;background:#4d8cc714;border-radius:2px;overflow:hidden;margin-top:var(--space-2)}.monitor-bar-fill{height:100%;background:var(--theme-blue-accent);border-radius:2px;transition:width .5s ease,background .3s ease}.monitor-bar-mem,.monitor-bar-disk{background:var(--warning)}.monitor-bar-gpu{background:var(--theme-blue-accent)}#tab-dashboard .pipeline-output{padding:var(--space-4) var(--space-5);font-family:var(--font-mono);font-size:12px;max-height:400px;overflow-y:auto;line-height:1.6;background:var(--surface-base)}#tab-dashboard .pipeline-output .output-placeholder{color:var(--text-tertiary);text-align:center;padding:var(--space-6);font-size:12px;letter-spacing:.04em}@media (max-width: 1100px){#tab-dashboard .stats-grid,.dashboard-monitor-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 720px){#tab-dashboard .stats-grid,.dashboard-monitor-grid{grid-template-columns:1fr}#tab-dashboard .dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-3)}}#tab-dashboard :focus-visible{outline:2px solid var(--theme-blue-accent);outline-offset:1px}#tab-dashboard ::-webkit-scrollbar{width:6px;height:6px}#tab-dashboard ::-webkit-scrollbar-track{background:transparent}#tab-dashboard ::-webkit-scrollbar-thumb{background:#4d8cc740;border-radius:3px}#tab-dashboard ::-webkit-scrollbar-thumb:hover{background:#4d8cc773}.build-history{display:flex;flex-direction:column;height:100%;min-height:0;gap:12px}.build-history-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;flex-shrink:0}.build-history-toolbar h2{margin:0;font-size:18px;flex:1;min-width:120px}.build-history-filters{display:flex;flex-wrap:wrap;gap:6px}.build-history-filter-btn{padding:5px 10px;border-radius:6px;border:1px solid var(--border-color, #30363d);background:#161b22;color:#8b949e;cursor:pointer;font-size:12px}.build-history-filter-btn.active{border-color:#58a6ff;color:#58a6ff;background:#58a6ff1a}.build-history-search{min-width:160px;max-width:220px}.build-history-retention-hint{font-size:11px;color:#484f58;width:100%}.build-history-body{display:flex;flex:1;min-height:0;gap:12px;border:1px solid var(--border-color, #30363d);border-radius:8px;overflow:hidden;background:#0d1117}.build-history-list{width:320px;min-width:260px;max-width:38%;border-right:1px solid #30363d;display:flex;flex-direction:column;min-height:0}.build-history-list-head{padding:10px 12px;font-size:12px;color:#8b949e;border-bottom:1px solid #21262d;flex-shrink:0}.build-history-list-scroll{flex:1;overflow-y:auto;min-height:0}.build-history-item{padding:10px 12px;border-bottom:1px solid #21262d;cursor:pointer;transition:background .12s}.build-history-item:hover{background:#161b22}.build-history-item.active{background:#58a6ff14;border-left:3px solid #58a6ff;padding-left:9px}.build-history-item-title{font-size:13px;font-weight:600;color:#e6edf3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.build-history-item-meta{display:flex;align-items:center;gap:6px;margin-top:4px;font-size:11px;color:#484f58}.build-history-status{font-size:10px;padding:1px 6px;border-radius:4px;font-weight:600;text-transform:uppercase}.build-history-status.success{background:#3fb95026;color:#3fb950}.build-history-status.failed{background:#f8514926;color:#f85149}.build-history-status.running,.build-history-status.assigned,.build-history-status.queued{background:#58a6ff26;color:#58a6ff}.build-history-status.cancelled{background:#8b949e26;color:#8b949e}.build-history-detail{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.build-history-detail-empty{flex:1;display:flex;align-items:center;justify-content:center;color:#484f58;font-size:13px}.build-history-detail-head{padding:12px 16px;border-bottom:1px solid #21262d;flex-shrink:0}.build-history-detail-head h3{margin:0 0 8px;font-size:15px;word-break:break-all}.build-history-detail-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.build-history-meta-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px 16px;font-size:12px}.build-history-meta-grid dt{color:#484f58;margin:0}.build-history-meta-grid dd{color:#c9d1d9;margin:2px 0 0;word-break:break-all}.build-history-log-wrap{flex:1;display:flex;flex-direction:column;min-height:0;padding:0 16px 12px}.build-history-log-toolbar{display:flex;align-items:center;justify-content:space-between;padding:8px 0;font-size:12px;color:#8b949e;flex-shrink:0}.build-history-log{flex:1;min-height:120px;margin:0;padding:12px;background:#161b22;border:1px solid #21262d;border-radius:6px;overflow:auto;font-family:ui-monospace,Consolas,monospace;font-size:12px;line-height:1.45;color:#3fb950;white-space:pre-wrap;word-break:break-word}.build-history-pager{display:flex;gap:6px;align-items:center;padding:8px 12px;border-top:1px solid #21262d;flex-shrink:0}.build-history-stage-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.build-history-stage-btn{font-size:11px;padding:4px 8px;border-radius:4px;border:1px solid #30363d;background:#21262d;color:#8b949e;cursor:pointer}.build-history-stage-btn:hover{border-color:#58a6ff;color:#58a6ff}.build-history-stage-hint{font-size:11px;color:#484f58;margin-top:8px}.build-history-timeline{margin-top:14px;padding-top:12px;border-top:1px solid #21262d}.build-history-timeline-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:12px;color:#8b949e;margin-bottom:10px}.build-history-timeline-total{color:#484f58}.build-history-timeline-bars{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#21262d;margin-bottom:12px;gap:1px}.build-history-timeline-bar{min-width:2px;height:100%}.build-history-timeline-bar.success{background:#3fb950}.build-history-timeline-bar.failed{background:#f85149}.build-history-timeline-bar.skipped{background:#484f58}.build-history-timeline-bar.running,.build-history-timeline-bar.assigned,.build-history-timeline-bar.queued{background:#58a6ff}.build-history-timeline-bar.pending,.build-history-timeline-bar.unknown{background:#30363d}.build-history-timeline-list{display:flex;flex-direction:column;gap:0}.build-history-timeline-item{display:grid;grid-template-columns:20px 1fr auto;gap:10px;align-items:flex-start;padding:6px 0}.build-history-timeline-track{display:flex;flex-direction:column;align-items:center;min-height:100%;padding-top:4px}.build-history-timeline-dot{width:10px;height:10px;border-radius:50%;background:#484f58;flex-shrink:0;border:2px solid #0d1117;box-shadow:0 0 0 1px #484f58}.build-history-timeline-item.success .build-history-timeline-dot{background:#3fb950;box-shadow:0 0 0 1px #3fb950}.build-history-timeline-item.failed .build-history-timeline-dot{background:#f85149;box-shadow:0 0 0 1px #f85149}.build-history-timeline-item.skipped .build-history-timeline-dot{background:#484f58}.build-history-timeline-item.running .build-history-timeline-dot,.build-history-timeline-item.assigned .build-history-timeline-dot,.build-history-timeline-item.queued .build-history-timeline-dot{background:#58a6ff;box-shadow:0 0 0 1px #58a6ff;animation:build-history-pulse 1.2s ease-in-out infinite}@keyframes build-history-pulse{0%,to{opacity:1}50%{opacity:.45}}.build-history-timeline-line{flex:1;width:2px;min-height:20px;background:#30363d;margin-top:2px}.build-history-timeline-body{min-width:0}.build-history-timeline-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.build-history-timeline-name{font-size:13px;font-weight:600;color:#e6edf3}.build-history-timeline-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:3px;font-size:11px;color:#484f58}.build-history-timeline-replay{font-size:11px;padding:2px 8px;align-self:center}.build-history-empty{padding:24px;text-align:center;color:#484f58;font-size:12px}#tab-models{height:100%;padding:0!important;overflow:hidden}#tab-models.active{display:flex;flex-direction:column}.mm-search-bar{flex:1;display:flex;gap:8px;align-items:center;min-width:0}@media (max-width: 768px){.mm-header{flex-direction:column;align-items:stretch!important}.mm-header h2{font-size:18px;margin:0}.mm-search-bar{width:100%;flex:none}.mm-search-btn{flex-shrink:0;white-space:nowrap;padding:6px 16px!important}.legacy-shell .sidebar-nav .nav-item{min-width:36px;padding:4px 2px}.legacy-shell .sidebar-nav .nav-item span{font-size:9px}.panel-actions{flex-wrap:wrap;gap:6px}}#tab-models .panel{display:flex;flex-direction:column;height:100%;margin:0!important;max-width:none!important;padding:16px 20px!important;overflow:hidden;box-sizing:border-box}#tab-models .panel-header{flex-shrink:0}.mm-body{position:relative;margin-top:14px;flex:1 1 auto;min-height:0}.mm-main{position:absolute;top:0;bottom:0;left:0;right:380px;overflow-y:auto;overflow-x:hidden;padding-right:4px;box-sizing:border-box}.mm-side{position:absolute;top:0;bottom:0;right:0;width:360px;overflow-y:auto;overflow-x:hidden;padding-right:4px;box-sizing:border-box}#modelFeaturedSection,#modelSearchSection{margin-bottom:20px}.mm-side-section{margin-bottom:18px}.mm-side-section:last-child{margin-bottom:0}.mm-main::-webkit-scrollbar,.mm-side::-webkit-scrollbar{width:8px}.mm-main::-webkit-scrollbar-thumb,.mm-side::-webkit-scrollbar-thumb{background:#58a6ff2e;border-radius:4px}.mm-main::-webkit-scrollbar-thumb:hover,.mm-side::-webkit-scrollbar-thumb:hover{background:#58a6ff59}.mm-main::-webkit-scrollbar-track,.mm-side::-webkit-scrollbar-track{background:transparent}.mm-tab-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0;padding-bottom:12px;border-bottom:1px solid var(--border)}.mm-tab-row+.mm-tab-row{margin-top:10px;border-bottom:none;padding-bottom:0}.mm-tab-label{font-size:12px;color:var(--text-muted);margin-right:4px;flex-shrink:0}.mm-cat-btn{padding:4px 12px!important;font-size:12px!important;border-radius:6px!important;border:1px solid var(--border)!important;background:var(--bg-card)!important;color:var(--text-secondary)!important;cursor:pointer;transition:all .18s}.mm-cat-btn:hover{border-color:#58a6ff80!important;color:#58a6ff!important}.mm-cat-btn.active{background:#58a6ff26!important;border-color:#58a6ff99!important;color:#58a6ff!important}.mm-backend-btn{padding:4px 14px!important;font-size:12px!important;font-weight:600;border-radius:6px!important;border:1px solid var(--border)!important;background:var(--bg-card)!important;color:var(--text-secondary)!important;cursor:pointer;transition:all .18s;display:inline-flex;align-items:center;gap:5px}.mm-backend-btn .mm-backend-dot{width:7px;height:7px;border-radius:50%;display:inline-block}.mm-backend-btn[data-backend=cpu] .mm-backend-dot{background:#58a6ff}.mm-backend-btn[data-backend=gpu] .mm-backend-dot{background:#3fb950}.mm-backend-btn[data-backend=api] .mm-backend-dot{background:#a855f7}.mm-backend-btn[data-backend=all] .mm-backend-dot{background:#8b949e}.mm-backend-btn:hover{border-color:#58a6ff80!important;color:var(--text)!important}.mm-backend-btn.active[data-backend=cpu]{background:#58a6ff26!important;border-color:#58a6ff99!important;color:#58a6ff!important}.mm-backend-btn.active[data-backend=gpu]{background:#3fb95026!important;border-color:#3fb95099!important;color:#3fb950!important}.mm-backend-btn.active[data-backend=api]{background:#a855f726!important;border-color:#a855f799!important;color:#a855f7!important}.mm-backend-btn.active[data-backend=all]{background:#8b949e2e!important;border-color:#8b949e80!important;color:var(--text)!important}.mm-tab-hint{font-size:11px;color:var(--text-muted);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:300px}.mm-section-title{font-size:14px;color:var(--text-secondary);margin:0 0 12px;font-weight:600;display:flex;align-items:center;gap:8px;flex-shrink:0}.mm-section-title .mm-count-badge{font-size:10px;padding:1px 8px;border-radius:10px;background:#58a6ff1f;color:#58a6ff;font-weight:600}.mm-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}.mm-card{border:1px solid var(--border);border-radius:10px;padding:0;background:var(--bg-card);display:flex;flex-direction:column;position:relative;transition:all .18s ease;overflow:hidden}.mm-card:before{content:"";position:absolute;left:0;top:0;right:0;height:3px;background:var(--mm-accent, #58a6ff);z-index:1}.mm-card[data-backend=cpu]{--mm-accent: #58a6ff;--mm-glow: rgba(88,166,255,.12)}.mm-card[data-backend=gpu]{--mm-accent: #3fb950;--mm-glow: rgba(63,185,80,.12)}.mm-card[data-backend=api]{--mm-accent: #a855f7;--mm-glow: rgba(168,85,247,.12)}.mm-card[data-backend=both]{--mm-accent: linear-gradient(90deg, #58a6ff, #3fb950);--mm-glow: rgba(88,166,255,.1)}.mm-card:hover{border-color:var(--mm-accent, rgba(88, 166, 255, .45));box-shadow:0 6px 20px #0000004d,0 0 0 1px var(--mm-glow);transform:translateY(-2px)}.mm-card.mm-card--active{border-color:#3fb95080;box-shadow:0 0 0 1px #3fb95040,0 6px 20px #3fb95014}.mm-card.mm-card--incomplete{border-color:#f8514959}.mm-card.mm-card--sharded{border-style:dashed;border-color:#ffc10759}.mm-card.mm-card--sharded:after{content:"分片";position:absolute;top:8px;right:-28px;background:#ffc107e6;color:#0a0e14;font-size:9px;font-weight:700;padding:1px 28px;transform:rotate(35deg);letter-spacing:1px;z-index:2}.mm-card-header{padding:14px 16px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.mm-card-name{font-weight:600;font-size:14px;color:var(--text);line-height:1.35;word-break:break-word}.mm-card-repo{font-size:11px;color:var(--text-muted);margin-top:4px;word-break:break-all;font-family:var(--font-mono, "JetBrains Mono", monospace);opacity:.7}.mm-card-badges{display:flex;gap:4px;flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;max-width:45%}.mm-badge{font-size:9px;padding:2px 8px;border-radius:10px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:3px;letter-spacing:.3px}.mm-badge--cn{background:#3fb9501f;color:#3fb950}.mm-badge--en{background:#8b949e26;color:#8b949e}.mm-badge--default{background:#ffc1071f;color:#ffc107}.mm-badge--quant,.mm-badge--cpu{background:#58a6ff1f;color:#58a6ff}.mm-badge--gpu{background:#3fb9501f;color:#3fb950}.mm-badge--api{background:#a855f71f;color:#a855f7}.mm-badge--both{background:linear-gradient(90deg,#58a6ff1f,#3fb9501f);color:#58a6ff}.mm-badge--research{background:#f851491f;color:#f85149}.mm-badge--flagship{background:linear-gradient(90deg,#ffc10726,#ff57331f);color:#ffc107}.mm-card-desc{padding:8px 16px 0;font-size:12px;color:var(--text-secondary);line-height:1.55;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.mm-card-tags{padding:8px 16px 0;display:flex;gap:4px;flex-wrap:wrap}.mm-tag{font-size:10px;padding:2px 7px;border-radius:3px;background:var(--bg-hover, rgba(48, 54, 61, .5));color:var(--text-muted)}.mm-card-pricing{margin:0 16px;font-size:11px;color:#a855f7;background:#a855f70f;padding:4px 8px;border-radius:4px;font-family:var(--font-mono, "JetBrains Mono", monospace);display:inline-block}.mm-card-footer{padding:10px 16px 12px;display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:auto;border-top:1px solid rgba(48,54,61,.3)}.mm-card-meta{font-size:11px;color:var(--text-muted);display:flex;flex-direction:column;gap:2px}.mm-card-meta .mm-meta-size{color:var(--text-secondary);font-weight:500}.mm-card-actions{display:flex;gap:5px;flex-shrink:0}.mm-card-actions .btn{font-size:11px!important;padding:4px 12px!important;border-radius:6px!important;font-weight:500}.mm-card-actions .btn.btn-primary{background:var(--mm-accent, #58a6ff)!important;border-color:var(--mm-accent, #58a6ff)!important}.mm-card-actions .btn.btn-primary:hover{filter:brightness(1.1)}.mm-side-section{display:flex;flex-direction:column;gap:8px}.mm-local-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--bg-card);display:flex;flex-direction:column;gap:6px}.mm-local-card--active{border-color:#3fb95073;background:#3fb9500a}.mm-local-card--incomplete{border-color:#f8514966}.mm-local-header{display:flex;justify-content:space-between;align-items:flex-start;gap:6px}.mm-local-name{font-size:12px;font-weight:500;color:var(--text);word-break:break-all;line-height:1.35}.mm-local-size{font-size:11px;color:var(--text-muted)}.mm-local-size--incomplete{color:#f85149}.mm-local-actions{display:flex;gap:5px;flex-wrap:wrap}.mm-local-actions .btn{font-size:11px!important;padding:2px 9px!important}.mm-download-card{border:1px solid var(--border);border-radius:8px;padding:10px 12px;background:var(--bg-card)}.mm-download-name{font-size:11px;color:var(--text);margin-bottom:6px;word-break:break-all;line-height:1.35}.mm-download-bar{background:var(--bg-hover);height:6px;border-radius:3px;overflow:hidden;margin-bottom:4px}.mm-download-bar-fill{height:100%;background:linear-gradient(90deg,#58a6ff,#3fb950);border-radius:3px;transition:width .3s}.mm-download-meta{font-size:11px;color:var(--text-muted)}#proxyStatusBadge{font-size:11px;padding:3px 10px;border-radius:4px;flex-shrink:0}.mm-empty{color:var(--text-muted);padding:28px 20px;text-align:center;font-size:13px}.mm-empty .mm-empty-icon{font-size:28px;opacity:.4;margin-bottom:8px}.mm-empty.mm-empty--error{color:#f85149;background:#f8514914;border:1px solid rgba(248,81,73,.2);border-radius:8px;margin-bottom:12px}.mm-card[data-backend=api]{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(168,85,247,.04) 100%)}.mm-card[data-backend=api] .mm-card-desc{color:var(--text-secondary)}.mm-card.mm-card--research{background:linear-gradient(135deg,var(--bg-card) 0%,rgba(248,81,73,.05) 100%);border-style:dashed}.mm-card.mm-card--research:before{background:linear-gradient(180deg,#f85149,#ffc107)}@media (max-width: 1100px){.mm-body{flex-direction:column}.mm-main{position:relative;right:0;width:100%;max-height:none}.mm-side{position:relative;width:100%;max-height:320px}}#tab-models2{height:100%;padding:0!important;overflow:hidden}#tab-models2.active{display:flex;flex-direction:column}.mm2-panel{flex:1 1 0;min-height:0;margin:0!important;max-width:none!important;padding:16px 20px!important;overflow:hidden;box-sizing:border-box;display:flex;flex-direction:column}.mm2-panel .panel-header{flex-shrink:0}.mm2-search-input{flex:1;padding:8px 12px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:13px}.mm2-filter-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0;margin-top:12px}.mm2-filter-label{font-size:12px;color:var(--text-muted);flex-shrink:0}.mm2-filter-hint{font-size:11px;color:var(--text-muted);margin-left:auto}.mm2-cap-btn,.mm2-be-btn{padding:4px 12px;font-size:12px;border-radius:16px;border:1px solid var(--border);background:var(--bg-card);color:var(--text-secondary);cursor:pointer;transition:all .18s}.mm2-cap-btn:hover,.mm2-be-btn:hover{border-color:#58a6ff80;color:#58a6ff}.mm2-cap-btn.active,.mm2-be-btn.active[data-be=cpu]{background:#58a6ff26;border-color:#58a6ff99;color:#58a6ff;font-weight:600}.mm2-be-btn.active[data-be=gpu]{background:#3fb95026;border-color:#3fb95099;color:#3fb950;font-weight:600}.mm2-be-btn.active[data-be=api]{background:#a855f726;border-color:#a855f799;color:#a855f7;font-weight:600}.mm2-be-btn.active[data-be=all]{background:#8b949e2e;border-color:#8b949e80;color:var(--text);font-weight:600}.mm2-cards{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;margin-top:16px;padding-right:4px;padding-bottom:10px;box-sizing:border-box}.mm2-cards::-webkit-scrollbar{width:8px}.mm2-cards::-webkit-scrollbar-thumb{background:#58a6ff2e;border-radius:4px}.mm2-cards::-webkit-scrollbar-thumb:hover{background:#58a6ff59}.mm2-cards::-webkit-scrollbar-track{background:transparent}.mm2-card+.mm2-card{margin-top:10px}.mm2-card{border:1px solid var(--border);border-radius:10px;padding:14px 18px;background:var(--bg-card);display:grid;grid-template-columns:56px 1fr auto;gap:16px;align-items:center;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden;flex-shrink:0}.mm2-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--mm2-accent, #58a6ff);opacity:.7}.mm2-card[data-backend=cpu]{--mm2-accent: #58a6ff}.mm2-card[data-backend=gpu]{--mm2-accent: #3fb950}.mm2-card[data-backend=api]{--mm2-accent: #a855f7}.mm2-card[data-backend=both]{--mm2-accent: #58a6ff}.mm2-card:hover{border-color:#58a6ff73;background:#58a6ff08;transform:translate(2px)}.mm2-card.mm2-card--research{border-style:dashed;background:linear-gradient(135deg,var(--bg-card) 0%,rgba(248,81,73,.04) 100%)}.mm2-card.mm2-card--active{border-color:#3fb9508c;box-shadow:0 0 0 1px #3fb9504d}.mm2-card-icon{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--mm2-accent, #58a6ff) 0%,rgba(0,0,0,.2) 100%);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;text-transform:uppercase;flex-shrink:0}.mm2-card-info{min-width:0;display:flex;flex-direction:column;gap:4px}.mm2-card-title-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.mm2-card-name{font-size:15px;font-weight:600;color:var(--text);line-height:1.3}.mm2-card-badges{display:flex;gap:4px;flex-wrap:wrap}.mm2-card-desc{font-size:12px;color:var(--text-secondary);line-height:1.5;word-break:break-word}.mm2-card-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:2px}.mm2-card-tag{font-size:10px;padding:1px 6px;border-radius:3px;background:var(--bg-hover);color:var(--text-muted)}.mm2-card-stats{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.mm2-card-param{font-size:13px;font-weight:600;color:var(--text)}.mm2-card-size{font-size:11px;color:var(--text-muted)}.mm2-card-pricing{font-size:11px;color:#a855f7;background:#a855f714;padding:2px 7px;border-radius:3px;font-family:Courier New,monospace}.mm2-card-actions{display:flex;gap:4px;margin-top:4px}.mm2-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:9990;opacity:0;pointer-events:none;transition:opacity .25s ease}.mm2-drawer-overlay.open{opacity:1;pointer-events:all}.mm2-drawer{position:fixed;top:0;right:0;bottom:0;width:460px;max-width:90vw;background:var(--bg-card, #0d1117);border-left:1px solid var(--border, #30363d);box-shadow:-8px 0 32px #0006;z-index:9991;transform:translate(100%);transition:transform .28s cubic-bezier(.4,0,.2,1);display:flex;flex-direction:column}.mm2-drawer.open{transform:translate(0)}.mm2-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:18px 22px;border-bottom:1px solid var(--border);flex-shrink:0}.mm2-drawer-header h3{margin:0;font-size:16px;font-weight:600;color:var(--text)}.mm2-drawer-close{width:28px;height:28px;border-radius:50%;border:none;background:var(--bg-hover);color:var(--text-muted);cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .18s}.mm2-drawer-close:hover{background:#f8514926;color:#f85149}.mm2-drawer-body{flex:1;overflow-y:auto;padding:22px;display:flex;flex-direction:column;gap:18px}.mm2-drawer-body::-webkit-scrollbar{width:6px}.mm2-drawer-body::-webkit-scrollbar-thumb{background:#58a6ff2e;border-radius:3px}.mm2-drawer-section{display:flex;flex-direction:column;gap:6px}.mm2-drawer-section-title{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.mm2-drawer-section-content{font-size:13px;color:var(--text-secondary);line-height:1.6}.mm2-drawer-info-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}.mm2-drawer-info-item{display:flex;flex-direction:column;gap:2px}.mm2-drawer-info-label{font-size:10px;color:var(--text-muted);text-transform:uppercase}.mm2-drawer-info-value{font-size:13px;color:var(--text);font-weight:500}.mm2-drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.mm2-empty{color:var(--text-muted);padding:60px 20px;text-align:center;font-size:14px}.mm2-empty .mm2-empty-icon{font-size:36px;opacity:.4;margin-bottom:12px}@media (max-width: 760px){.mm2-card{grid-template-columns:48px 1fr}.mm2-card-stats{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px dashed var(--border)}.mm2-drawer{width:100vw}}.plugin-market{padding:0 4px 24px}.plugin-market-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}.plugin-market-header h2{margin:0;font-size:18px}.plugin-market-filters{display:flex;gap:8px;flex-wrap:wrap}.plugin-filter-btn{padding:6px 12px;border-radius:6px;border:1px solid var(--border-color, #30363d);background:#161b22;color:#8b949e;cursor:pointer;font-size:12px}.plugin-filter-btn.active{border-color:#58a6ff;color:#58a6ff;background:#58a6ff1a}.plugin-market-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}.plugin-card{border:1px solid var(--border-color, #30363d);border-radius:8px;padding:14px;background:#0d1117;display:flex;flex-direction:column;gap:8px;min-height:160px;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.plugin-card--enabled{border-color:#3fb95073;background:linear-gradient(135deg,#3fb9501a,#0d1117 46%);box-shadow:inset 4px 0 #3fb950}.plugin-card--disabled{border-color:#d2992261;background:linear-gradient(135deg,#d2992212,#0d1117 42%);box-shadow:inset 4px 0 #d29922}.plugin-card--disabled .plugin-card-title{color:#b1bac4}.plugin-card--disabled .plugin-card-desc{color:#6e7681}.plugin-card--available{border-style:dashed;border-color:#30363d;opacity:.92}.plugin-card-head{display:flex;align-items:flex-start;gap:10px}.plugin-card-head-main{flex:1;min-width:0}.plugin-card-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:8px}.plugin-card-icon{width:36px;height:36px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:#161b22;border:1px solid #30363d}.plugin-card-icon--enabled{background:#3fb95024;border-color:#3fb95073;box-shadow:0 0 0 1px #3fb9501f}.plugin-card-icon--disabled{background:#161b22;border-color:#d2992259;filter:grayscale(.55);opacity:.82}.plugin-card-icon--available{opacity:.72}.plugin-card-title{font-weight:600;font-size:14px;color:#e6edf3;line-height:1.35}.plugin-status-pill{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:600;line-height:1;padding:4px 9px;border-radius:999px;white-space:nowrap;flex-shrink:0}.plugin-status-pill:before{content:"";width:7px;height:7px;border-radius:50%;flex-shrink:0}.plugin-status-pill--on{color:#3fb950;background:#3fb95029;border:1px solid rgba(63,185,80,.42)}.plugin-status-pill--on:before{background:#3fb950;box-shadow:0 0 0 2px #3fb95038,0 0 8px #3fb9508c}.plugin-status-pill--off{color:#d29922;background:#d299221f;border:1px solid rgba(210,153,34,.38)}.plugin-status-pill--off:before{width:6px;height:6px;background:transparent;border:2px solid #d29922}.plugin-status-pill--none{color:#8b949e;background:#8b949e1a;border:1px solid rgba(139,148,158,.28)}.plugin-status-pill--none:before{background:#484f58;opacity:.75}.plugin-card-runtime{font-size:10px;color:#484f58;margin-top:4px}.plugin-card-desc{font-size:12px;color:#8b949e;line-height:1.45;flex:1}.plugin-card-eps{font-size:10px;color:#6e7681;line-height:1.4;margin-top:-2px}.plugin-card-tags{display:flex;flex-wrap:wrap;gap:4px;min-height:18px}.plugin-tag{font-size:10px;padding:2px 6px;border-radius:4px;background:#21262d;color:#8b949e}.plugin-tag.on{background:#3fb95026;color:#3fb950}.plugin-tag.off{background:#8b949e1a;color:#484f58}.plugin-card-deps{margin-top:4px}.plugin-dep-tag{display:inline-block;font-size:10px;padding:1px 6px;border-radius:3px;margin-right:4px;font-family:var(--font-mono, monospace)}.plugin-dep-tag.on{background:#3fb9501f;color:#3fb950}.plugin-dep-tag.off{background:#f59e0b1f;color:#f59e0b}.plugin-topology-panel{margin-bottom:16px;padding:16px;border-radius:10px;border:1px solid rgba(139,92,246,.2);background:#8b5cf60a}.plugin-topology-head{margin-bottom:12px}.plugin-topology-head h3{margin:0 0 4px;font-size:14px;color:var(--text-primary)}.plugin-topology-head .form-hint{font-size:11px}.plugin-topology-head code{font-family:var(--font-mono, monospace);font-size:10px;background:#8b5cf61f;color:#a78bfa;padding:1px 4px;border-radius:3px}.topo-chain{display:flex;align-items:center;flex-wrap:wrap;gap:0;padding:12px;border-radius:8px;background:#01040966;border:1px solid rgba(139,148,158,.12)}.topo-node{display:flex;align-items:center;gap:10px;padding:10px 14px;border-radius:8px;border:1px solid rgba(139,148,158,.2);background:#8b949e0f;min-width:160px}.topo-node--main{border-color:#58a6ff4d;background:#58a6ff14}.topo-node--orch{border-color:#8b5cf64d;background:#8b5cf614}.topo-node--orch.on{border-color:#3fb9504d}.topo-node--orch.off{border-color:#f59e0b4d;opacity:.7}.topo-node--dep.on{border-color:#3fb95040}.topo-node--dep.off{border-color:#f59e0b40;opacity:.7}.topo-node-icon{font-size:20px;flex-shrink:0}.topo-node-body{min-width:0}.topo-node-name{font-size:13px;font-weight:600;color:var(--text-primary);white-space:nowrap}.topo-node-meta{font-size:10px;color:var(--text-muted);margin-top:2px;white-space:nowrap}.topo-badge{display:inline-block;font-size:9px;padding:1px 5px;border-radius:3px;background:#8b5cf626;color:#a78bfa;font-weight:600;vertical-align:middle;margin-left:4px}.topo-arrow{display:flex;flex-direction:column;align-items:center;color:var(--text-muted);padding:0 6px;flex-shrink:0}.topo-arrow-label{font-size:9px;color:var(--text-muted);font-family:var(--font-mono, monospace);margin-top:2px}.topo-dep-group{display:flex;flex-direction:column;gap:6px}.topo-dep-group .topo-node{min-width:140px;padding:8px 12px}.plugin-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}.plugin-btn-enable{font-weight:600}.plugin-btn-disable{color:#d29922;background:#d299221a;border:1px solid rgba(210,153,34,.42)}.plugin-btn-disable:hover{color:#e3b341;background:#d299222e;border-color:#d299228c}.plugin-card-requires{font-size:10px;color:#6e7681;line-height:1.4;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;word-break:break-word}.plugin-card--enabled .plugin-card-requires{color:#58a6ff}.plugin-incompatible-banner{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:12px 14px;margin-bottom:16px;border-radius:8px;border:1px solid rgba(248,81,73,.45);background:#f8514914;color:#f85149}.plugin-incompatible-banner[hidden]{display:none!important}.plugin-incompatible-banner-text{flex:1;min-width:0}.plugin-drawer-logs{margin-top:12px;border-top:1px solid #30363d;padding-top:12px}.plugin-drawer-logs[hidden]{display:none!important}.plugin-drawer-logs-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.plugin-drawer-logs-body{max-height:220px;overflow:auto;margin:0;padding:10px;font-size:11px;line-height:1.45;background:#0d1117;border:1px solid #30363d;border-radius:6px;color:#8b949e;white-space:pre-wrap;word-break:break-word}.plugin-btn-remove{color:#8b949e}.plugin-drawer-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:9000;display:none;align-items:stretch;justify-content:flex-end}.plugin-drawer-overlay.open{display:flex}.plugin-drawer{width:min(420px,100vw);background:#161b22;border-left:1px solid #30363d;padding:20px;overflow-y:auto}.plugin-drawer h3{margin:0 0 8px;font-size:16px}.plugin-drawer-hint{font-size:12px;color:#8b949e;margin-bottom:16px;line-height:1.5}.plugin-field{margin-bottom:12px}.plugin-field label{display:block;font-size:12px;color:#8b949e;margin-bottom:4px}.plugin-field input,.plugin-field select,.plugin-field textarea{width:100%}.plugin-drawer-footer{display:flex;gap:8px;margin-top:16px;padding-top:16px;border-top:1px solid #30363d}.plugin-badge-panel{border:1px solid var(--border-color, #30363d);border-radius:8px;padding:14px 16px;margin-bottom:16px;background:#0d1117}.plugin-badge-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.plugin-badge-head h3{margin:0;font-size:15px}.plugin-badge-form{display:grid;grid-template-columns:1fr 180px;gap:12px;margin:12px 0}@media (max-width: 720px){.plugin-badge-form{grid-template-columns:1fr}}.plugin-badge-preview-row{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin-bottom:12px}.plugin-badge-preview{min-height:24px;display:flex;align-items:center}.plugin-badge-preview img{display:block;height:20px}.plugin-badge-meta{font-size:12px;color:#8b949e}.plugin-badge-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}:root{--cs-bg: #0a0a0f;--cs-surface: #0f0f1a;--cs-border: #1a1a2e;--cs-accent-cyan: #00f0ff;--cs-accent-magenta: #ff00ff;--cs-accent-green: #00ff88;--cs-accent-amber: #ffaa00;--cs-accent-red: #ff3355;--cs-accent-purple: #9966ff;--cs-text-primary: #e0e0f0;--cs-text-muted: #5a5a7a;--cs-glow-cyan: 0 0 12px rgba(0, 240, 255, .5);--cs-glow-magenta: 0 0 12px rgba(255, 0, 255, .5);--cs-glow-green: 0 0 12px rgba(0, 255, 136, .5);--cs-font-mono: "Cascadia Code", "Fira Code", "JetBrains Mono", "Consolas", monospace}#tab-codescope,#tab-perfdiff{background:var(--cs-bg);color:var(--cs-text-primary);font-family:var(--cs-font-mono);position:relative;overflow:hidden;flex-direction:column;height:100%}#tab-codescope.active,#tab-perfdiff.active{display:flex!important}#tab-codescope:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,240,255,.015) 2px,rgba(0,240,255,.015) 4px);pointer-events:none;z-index:100}.cs-toolbar{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--cs-surface);border-bottom:1px solid var(--cs-border);z-index:10;flex-shrink:0}.cs-toolbar-btn{background:transparent;border:1px solid var(--cs-accent-cyan);color:var(--cs-accent-cyan);padding:6px 16px;font-family:var(--cs-font-mono);font-size:12px;cursor:pointer;letter-spacing:.5px;transition:all .3s ease;position:relative;overflow:hidden}.cs-toolbar-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,240,255,.15),transparent);transition:left .5s ease}.cs-toolbar-btn:hover:before{left:100%}.cs-toolbar-btn:hover{box-shadow:var(--cs-glow-cyan);background:#00f0ff14}.cs-toolbar-btn:active{transform:scale(.97)}.cs-toolbar-btn.scanning{border-color:var(--cs-accent-amber);color:var(--cs-accent-amber);animation:pulse-border 1.5s infinite}@keyframes pulse-border{0%,to{box-shadow:0 0 4px #ffaa004d}50%{box-shadow:0 0 16px #fa0c}}.cs-repo-path{font-size:11px;color:var(--cs-text-muted);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cs-filter{display:flex;gap:8px}.cs-filter label{font-size:11px;color:var(--cs-text-muted);cursor:pointer;display:flex;align-items:center;gap:4px;padding:2px 8px;border:1px solid transparent;transition:all .3s ease}.cs-filter label:hover{color:var(--cs-accent-cyan)}.cs-filter label.active{border-color:var(--cs-accent-cyan);color:var(--cs-accent-cyan);box-shadow:0 0 6px #00f0ff33}.cs-search{background:var(--cs-surface);border:1px solid var(--cs-border);color:var(--cs-text-primary);font-family:var(--cs-font-mono);font-size:11px;padding:4px 10px;width:160px;outline:none;transition:all .3s ease}.cs-search:focus{border-color:var(--cs-accent-cyan);box-shadow:0 0 8px #00f0ff33}.cs-search::placeholder{color:var(--cs-text-muted)}.cs-breadcrumb{display:flex;align-items:center;gap:4px;padding:8px 16px;background:var(--cs-surface);border-bottom:1px solid var(--cs-border);font-size:11px;flex-shrink:0;z-index:9}.cs-breadcrumb-item{color:var(--cs-text-muted);cursor:pointer;padding:2px 6px;border-radius:2px;transition:all .3s ease}.cs-breadcrumb-item:hover,.cs-breadcrumb-item.active{color:var(--cs-accent-cyan)}.cs-breadcrumb-sep{color:var(--cs-text-muted);font-size:10px}.cs-canvas{flex:1;position:relative;overflow:hidden;cursor:grab}.cs-canvas:active{cursor:grabbing}.cs-canvas svg{width:100%;height:100%}.cs-canvas canvas{width:100%;height:100%}.cs-empty{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;color:var(--cs-text-muted);font-size:14px}.cs-empty-icon{font-size:48px;margin-bottom:16px;opacity:.3}.cs-detail-panel{position:absolute;right:0;top:0;bottom:0;width:360px;background:#0f0f1af2;border-left:1px solid var(--cs-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);transform:translate(100%);transition:transform .35s cubic-bezier(.4,0,.2,1);z-index:50;display:flex;flex-direction:column;overflow-y:auto}.cs-detail-panel.open{transform:translate(0)}.cs-detail-panel-header{padding:14px 16px;border-bottom:1px solid var(--cs-border);display:flex;align-items:center;justify-content:space-between}.cs-detail-panel-title{font-size:13px;color:var(--cs-accent-cyan);font-weight:600}.cs-detail-panel-close{background:none;border:none;color:var(--cs-text-muted);cursor:pointer;font-size:18px;transition:color .3s ease}.cs-detail-panel-close:hover{color:var(--cs-accent-red)}.cs-detail-section{padding:12px 16px;border-bottom:1px solid rgba(26,26,46,.5)}.cs-detail-label{font-size:10px;color:var(--cs-text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.cs-detail-value{font-size:12px;color:var(--cs-text-primary);word-break:break-all}.cs-detail-code{background:#0006;border:1px solid var(--cs-border);border-radius:4px;padding:10px;font-size:11px;line-height:1.6;overflow-x:auto;white-space:pre-wrap;color:#b0b0c0;max-height:300px;overflow-y:auto}.cs-detail-code .line-number{color:var(--cs-text-muted);margin-right:8px;-webkit-user-select:none;user-select:none}.cs-signal-tag{display:inline-block;padding:2px 8px;border-radius:2px;font-size:10px;font-weight:600;letter-spacing:.5px}.cs-signal-tag.HIGH{background:#f353;color:var(--cs-accent-red);border:1px solid rgba(255,51,85,.4)}.cs-signal-tag.MEDIUM{background:#fa03;color:var(--cs-accent-amber);border:1px solid rgba(255,170,0,.4)}.cs-signal-tag.LOW{background:#96f3;color:var(--cs-accent-purple);border:1px solid rgba(153,102,255,.4)}.cs-trace-path{padding:4px 8px;margin:2px 0;background:#00f0ff0d;border-left:2px solid var(--cs-accent-cyan);font-size:11px;cursor:pointer;transition:all .3s ease}.cs-trace-path:hover{background:#00f0ff1f}.cs-stats-bar{display:flex;gap:20px;padding:8px 16px;background:var(--cs-surface);border-top:1px solid var(--cs-border);font-size:11px;flex-shrink:0;z-index:10}.cs-stat-item{display:flex;align-items:center;gap:6px}.cs-stat-value{color:var(--cs-accent-cyan);font-weight:600}.cs-stat-label{color:var(--cs-text-muted)}.cs-view-switcher{position:absolute;top:12px;left:12px;display:flex;gap:4px;z-index:30}.cs-view-btn{background:#0f0f1acc;border:1px solid var(--cs-border);color:var(--cs-text-muted);padding:4px 10px;font-size:10px;cursor:pointer;font-family:var(--cs-font-mono);transition:all .3s ease;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.cs-view-btn:hover{color:var(--cs-accent-cyan);border-color:var(--cs-accent-cyan)}.cs-view-btn.active{color:var(--cs-accent-cyan);border-color:var(--cs-accent-cyan);box-shadow:0 0 8px #00f0ff4d}.cs-tooltip{position:absolute;padding:8px 12px;background:#0f0f1af2;border:1px solid var(--cs-accent-cyan);font-size:11px;color:var(--cs-text-primary);pointer-events:none;z-index:200;max-width:280px;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:0 0 16px #00f0ff33}.cs-tooltip-title{color:var(--cs-accent-cyan);font-weight:600;margin-bottom:4px}.cs-tooltip-path{color:var(--cs-text-muted);font-size:10px}.cs-particles{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;z-index:1}@keyframes node-pulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes edge-flow{0%{stroke-dashoffset:20}to{stroke-dashoffset:0}}.cs-node-selected{filter:url(#glow)}.cs-terminal{background:#050508;border-top:1px solid var(--cs-border);border-bottom:1px solid var(--cs-border);height:180px;display:flex;flex-direction:column;flex-shrink:0;z-index:8}.cs-terminal-header{display:flex;align-items:center;justify-content:space-between;padding:4px 12px;background:var(--cs-surface);border-bottom:1px solid var(--cs-border);flex-shrink:0}.cs-terminal-title{font-size:11px;color:var(--cs-accent-green);letter-spacing:1px}.cs-terminal-clear{background:none;border:1px solid var(--cs-border);color:var(--cs-text-muted);font-size:10px;padding:2px 8px;cursor:pointer;font-family:var(--cs-font-mono);transition:all .3s ease}.cs-terminal-clear:hover{border-color:var(--cs-accent-cyan);color:var(--cs-accent-cyan)}.cs-terminal-body{flex:1;overflow-y:auto;padding:8px 12px;font-family:var(--cs-font-mono);font-size:11px;line-height:1.7;color:#b0b0c0}.cs-terminal-body .term-line{white-space:pre-wrap;word-break:break-all}.cs-terminal-body .term-line.phase{color:var(--cs-accent-cyan)}.cs-terminal-body .term-line.progress{color:var(--cs-text-muted)}.cs-terminal-body .term-line.success{color:var(--cs-accent-green)}.cs-terminal-body .term-line.warn{color:var(--cs-accent-amber)}.cs-terminal-body .term-line.error{color:var(--cs-accent-red)}.cs-terminal-body .term-cursor{display:inline-block;width:8px;height:12px;background:var(--cs-accent-green);animation:cursor-blink 1s infinite;vertical-align:middle;margin-left:4px}@keyframes cursor-blink{0%,49%{opacity:1}50%,to{opacity:0}}#tab-codescope ::-webkit-scrollbar{width:4px}#tab-codescope ::-webkit-scrollbar-track{background:transparent}#tab-codescope ::-webkit-scrollbar-thumb{background:var(--cs-border);border-radius:2px}#tab-codescope ::-webkit-scrollbar-thumb:hover{background:var(--cs-accent-cyan)}.main-content>.tab-content#tab-editor{padding:0;overflow:hidden;min-height:0}.main-content>.tab-content#tab-editor.active{flex:1;display:flex;flex-direction:column}.main-content>.tab-content#tab-editor.active>.text-editor-shell{flex:1;min-height:0}.text-editor-shell{flex:1;display:flex;flex-direction:column;min-height:0;background:var(--bg-primary)}.text-editor-tabbar{display:flex;align-items:stretch;gap:2px;padding:0 8px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);overflow-x:auto;flex-shrink:0;min-height:32px;-webkit-app-region:no-drag}.text-editor-tab{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border:none;border-bottom:2px solid transparent;background:transparent;color:var(--text-secondary);font-size:12px;cursor:pointer;white-space:nowrap;max-width:180px}.text-editor-tab.active{color:var(--text-primary);border-bottom-color:var(--accent-blue, #58a6ff);background:#58a6ff0f}.text-editor-tab.modified .text-editor-tab-label:before{content:"● ";color:var(--accent-yellow)}.text-editor-tab-close{opacity:.5;font-size:14px;line-height:1;padding:0 2px}.text-editor-tab-close:hover{opacity:1;color:var(--accent-red, #f85149)}.text-editor-tab-label{overflow:hidden;text-overflow:ellipsis}.text-editor-cm-root{height:100%;min-height:0}.text-editor-cm-error{padding:16px;color:var(--accent-red, #f85149);font-size:13px}.text-editor-toolbar{display:flex;align-items:center;gap:8px;padding:8px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;flex-wrap:wrap;-webkit-app-region:no-drag}.text-editor-toolbar .te-core-actions,.text-editor-toolbar .te-plugin-actions{display:inline-flex;align-items:center;gap:8px}.text-editor-toolbar .te-plugin-actions:not(:empty){padding-left:8px;margin-left:4px;border-left:1px solid var(--border-color)}.text-editor-toolbar .te-file-path{flex:1;min-width:120px;font-size:12px;color:var(--text-secondary);font-family:var(--font-mono);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-editor-toolbar .te-file-path.modified:before{content:"● ";color:var(--accent-yellow)}.text-editor-body{flex:1;display:flex;min-height:0;overflow:hidden;-webkit-app-region:no-drag}.text-editor-textarea{flex:1;width:100%;height:100%;padding:16px 20px;border:none;outline:none;resize:none;background:#0d1117;color:var(--text-primary);font-family:var(--font-mono);font-size:13px;line-height:1.6;-moz-tab-size:4;tab-size:4;box-sizing:border-box}.text-editor-textarea::placeholder{color:var(--text-muted)}.text-editor-statusbar{display:flex;align-items:center;gap:16px;padding:4px 16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);font-size:11px;color:var(--text-muted);flex-shrink:0}.text-editor-statusbar span{font-family:var(--font-mono)}.text-editor-cm-root .cm-editor{height:100%;background:#1a1d23}.text-editor-cm-root .cm-scroller{overflow:auto}.text-editor-cm-root .cm-activeLine{background:transparent!important}.text-editor-cm-root .cm-editor.cm-focused{outline:none}.text-editor-cm-root .cm-scroller::-webkit-scrollbar{width:10px;height:10px}.text-editor-cm-root .cm-scroller::-webkit-scrollbar-thumb{background:#3a3f4b;border-radius:5px;border:2px solid #1a1d23}.text-editor-cm-root .cm-scroller::-webkit-scrollbar-thumb:hover{background:#4b5263}.text-editor-cm-root .cm-scroller::-webkit-scrollbar-track{background:#14161a}html:not([data-i18n-ready]) body{visibility:hidden}html[data-locale=fr] .nav-item span,html[data-locale=it] .nav-item span,html[data-locale=es] .nav-item span,html[data-locale=en] .nav-item span{font-size:12px;line-height:1.25;word-break:break-word}html[data-locale=fr] .sidebar-nav .nav-item,html[data-locale=it] .sidebar-nav .nav-item,html[data-locale=es] .sidebar-nav .nav-item{padding-top:8px;padding-bottom:8px}html[data-locale] .build-history-toolbar h2,html[data-locale] .plugin-market-header h2,html[data-locale] .dashboard-header h1{font-size:clamp(1rem,2.5vw,1.35rem)}html[data-locale=fr] .btn,html[data-locale=it] .btn,html[data-locale=es] .btn{white-space:normal;min-height:32px}html[data-locale] .plugin-card-runtime,html[data-locale] .build-history-filter-btn{font-size:11px}html[data-locale] .settings-language-row select.form-input{max-width:100%}html[data-locale] .modal-header h3{font-size:1rem;line-height:1.35}html,body,#root{height:100%;margin:0}body{display:block!important;overflow:hidden;height:100vh;width:100vw;visibility:visible!important}html:not([data-i18n-ready]) body{visibility:visible!important}.legacy-shell .sidebar{display:flex!important}#root{display:flex;flex-direction:column;min-height:0;width:100%}.legacy-shell{height:100vh;width:100%;display:grid;grid-template-columns:var(--sidebar-width) 1fr;grid-template-rows:var(--titlebar-height) minmax(0,1fr);grid-template-areas:"sidebar titlebar" "sidebar main"}.legacy-shell .sidebar{grid-area:sidebar;grid-row:1 / -1;grid-column:1}.legacy-shell .titlebar{grid-area:titlebar;grid-row:1;grid-column:2}.legacy-shell .main-content{grid-area:main;grid-row:2;grid-column:2;display:flex;flex-direction:column;min-height:0;overflow:hidden}.legacy-shell .main-content>.tab-content.active{display:flex;flex:1;min-height:0;overflow:hidden}.legacy-shell.embed-child{grid-template-columns:1fr;grid-template-rows:28px minmax(0,1fr);grid-template-areas:"chrome" "main"}.legacy-shell.embed-child .embed-sim-chrome{grid-area:chrome;grid-row:1;grid-column:1;display:flex;align-items:center;gap:8px;padding:0 10px;height:28px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;-webkit-app-region:no-drag}.legacy-shell.embed-child .embed-sim-chrome-title{font-size:11px;font-weight:600;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.legacy-shell.embed-child .embed-sim-chrome-badge{font-size:10px;padding:1px 6px;border-radius:4px;background:#58a6ff1f;color:var(--accent-blue);border:1px solid rgba(88,166,255,.25);flex-shrink:0}.legacy-shell.embed-child .main-content{grid-area:main;grid-row:2;grid-column:1;min-height:0;overflow:auto}.legacy-shell.embed-sim-desktop{--sidebar-width: 64px;grid-template-columns:var(--sidebar-width) 1fr!important;grid-template-rows:var(--titlebar-height, 36px) minmax(0,1fr)!important;grid-template-areas:"sidebar titlebar" "sidebar main"!important}.legacy-shell.embed-sim-desktop .sidebar{grid-area:sidebar!important;display:flex!important;flex-direction:column!important;width:var(--sidebar-width)!important;min-width:var(--sidebar-width)!important;border-right:1px solid var(--border-color);border-top:none!important;box-shadow:none!important}.legacy-shell.embed-sim-desktop .sidebar-nav{flex-direction:column!important;overflow-x:hidden!important;overflow-y:auto!important}.legacy-shell.embed-sim-desktop .sidebar-footer{display:flex!important;flex-direction:column!important;align-items:center;border-left:none!important;border-top:1px solid var(--border-color);padding:8px 4px;flex-shrink:0}.legacy-shell.embed-sim-desktop .sidebar-footer .version-badge{display:block!important;font-size:10px}.legacy-shell.embed-sim-desktop .titlebar{grid-area:titlebar!important;-webkit-app-region:no-drag}.legacy-shell.embed-sim-desktop .titlebar-controls{display:flex;align-items:center;gap:6px;padding-right:10px}.legacy-shell.embed-sim-desktop .main-content{grid-area:main!important;min-height:0;overflow:auto}.legacy-shell .sidebar{padding:0}.legacy-shell .sidebar-nav .nav-item{width:100%;align-self:stretch;box-sizing:border-box}.legacy-shell .sidebar-nav .nav-item span{display:block;width:100%;text-align:center;line-height:1.2;white-space:normal;word-break:keep-all;overflow-wrap:break-word}@media (max-width: 768px){.legacy-shell{--titlebar-height: 28px;--mobile-bottom-nav-height: 56px;grid-template-columns:1fr;grid-template-rows:var(--titlebar-height) minmax(0,1fr) auto;grid-template-areas:"titlebar" "main" "sidebar"}.legacy-shell .titlebar{grid-area:titlebar}.legacy-shell .main-content{grid-area:main}.legacy-shell .sidebar{grid-area:sidebar;width:100%;min-width:0;min-height:var(--mobile-bottom-nav-height);flex-direction:row;align-items:stretch;border-right:none;border-top:1px solid var(--theme-blue-border);box-shadow:0 -2px 8px #00000059;background:var(--theme-blue-bg-bottom);padding:0 0 env(safe-area-inset-bottom)}.legacy-shell .sidebar-nav{flex-direction:row;overflow-x:auto;overflow-y:hidden;flex:1;gap:2px;padding:5px 4px 8px;scrollbar-width:thin;scrollbar-color:rgba(77,140,199,.5) transparent;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scroll-snap-type:x proximity}.legacy-shell .sidebar-nav::-webkit-scrollbar{height:4px}.legacy-shell .sidebar-nav::-webkit-scrollbar-track{background:transparent}.legacy-shell .sidebar-nav::-webkit-scrollbar-thumb{background:#4d8cc773;border-radius:2px}.legacy-shell .sidebar-nav::-webkit-scrollbar-thumb:active{background:#4d8cc7bf}.legacy-shell .sidebar-nav .nav-item{flex:0 0 auto;width:auto;min-width:44px;padding:4px;justify-content:center;scroll-snap-align:center}.legacy-shell .sidebar-nav .nav-item.active:before{left:50%;top:auto;bottom:0;transform:translate(-50%);width:60%;height:3px;border-radius:2px 2px 0 0}.legacy-shell .sidebar-footer{flex-direction:row;border-top:none;border-left:1px solid var(--theme-blue-border);padding:4px 8px;flex:0 0 auto;align-items:center}.legacy-shell .sidebar-footer .version-badge,.legacy-shell .titlebar-controls{display:none}.legacy-shell .titlebar{-webkit-app-region:no-drag;padding-right:12px}.legacy-shell .titlebar-drag{gap:6px;padding-left:10px}.legacy-shell .titlebar-icon svg{width:15px;height:15px}.legacy-shell .titlebar-text{font-size:11px;line-height:1}.legacy-shell .main-content{padding-bottom:env(safe-area-inset-bottom)}.legacy-shell .build-history-body{flex-direction:column}.legacy-shell .build-history-list{width:100%;max-height:40vh;border-right:none;border-bottom:1px solid var(--border-color, #30363d)}.legacy-shell .build-history-detail{min-height:0;flex:1}.legacy-shell .mm-body{flex-direction:column}.legacy-shell .mm-side{width:100%;max-height:36vh;overflow-y:auto}.legacy-shell .chat-layout{flex-direction:column}.legacy-shell .chat-agent-sidebar,.legacy-shell .chat-resizer{display:none!important}.legacy-shell .chat-history-drawer{position:absolute;top:0;left:0;right:0;bottom:0;z-index:40;width:100%!important;min-width:0!important;max-height:none}.legacy-shell .chat-history-drawer:not(.open){display:none!important}.legacy-shell .chat-main{flex:1;min-height:0;width:100%}.legacy-shell #tab-codescope.tab-content.active{min-height:0}.legacy-shell .cs-canvas{min-height:240px}.legacy-shell .augment-body{flex-direction:column}.legacy-shell .augment-layers,.legacy-shell .augment-side{width:100%;max-height:45vh;overflow-y:auto}.legacy-shell #tab-perfdiff.tab-content.active>div:last-child{flex-direction:column!important}.legacy-shell #tab-perfdiff .cs-toolbar+div>div:last-child{width:100%!important;max-height:45vh;border-left:none!important;border-top:1px solid var(--cs-border, #30363d)}.legacy-shell .workspace-scroll{overflow-x:auto}.legacy-shell .plugin-market-grid{grid-template-columns:1fr!important}}@keyframes ws-spin{to{transform:rotate(360deg)}}
