:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--bg: #0b0f14;--panel: #0f1621;--panel-2: #0c121b;--border: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .62);--muted-2: rgba(255, 255, 255, .45);--accent: #7c5cff;--accent-2: rgba(124, 92, 255, .18);--danger: #ff4d6d;--ok: #2bd576;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}html,body{height:100%}body{margin:0;overflow:hidden;background:radial-gradient(1200px 600px at 20% -10%,rgba(124,92,255,.18),transparent 60%),radial-gradient(900px 500px at 90% 0%,rgba(43,213,118,.1),transparent 55%),var(--bg);color:var(--text)}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit;color:inherit}#root{height:100%;width:100%;overflow:hidden}:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Apple Color Emoji","Segoe UI Emoji";--ds-bg: #0b0f14;--ds-surface-1: #0f1621;--ds-surface-2: #0c121b;--ds-border: rgba(255, 255, 255, .08);--ds-text: rgba(255, 255, 255, .92);--ds-text-muted: rgba(255, 255, 255, .62);--ds-text-muted-2: rgba(255, 255, 255, .45);--ds-accent: #7c5cff;--ds-accent-bg: rgba(124, 92, 255, .18);--ds-danger: #ff4d6d;--ds-success: #2bd576;--ds-radius-sm: 10px;--ds-radius-md: 12px;--ds-radius-lg: 14px;--ds-space-1: 4px;--ds-space-2: 8px;--ds-space-3: 12px;--ds-space-4: 16px;--ds-space-5: 20px;--ds-font-11: 11px;--ds-font-12: 12px;--ds-font-14: 14px;--ds-shadow-1: 0 10px 30px rgba(0, 0, 0, .35);--ds-focus-ring: 0 0 0 4px rgba(124, 92, 255, .12);--ds-focus-border: rgba(124, 92, 255, .55);--bg: var(--ds-bg);--panel: var(--ds-surface-1);--panel-2: var(--ds-surface-2);--border: var(--ds-border);--text: var(--ds-text);--muted: var(--ds-text-muted);--muted-2: var(--ds-text-muted-2);--accent: var(--ds-accent);--accent-2: var(--ds-accent-bg);--danger: var(--ds-danger);--ok: var(--ds-success);text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media(prefers-reduced-motion:reduce){:root{scroll-behavior:auto}}.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:34px;padding:0 12px;border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:#ffffff08;color:var(--ds-text);font-size:var(--ds-font-12);line-height:1;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background .12s ease,border-color .12s ease,transform 80ms ease,box-shadow .12s ease}.ui-btn:hover{background:#ffffff0d}.ui-btn:active{transform:translateY(1px)}.ui-btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.ui-btn:focus-visible{outline:none;border-color:var(--ds-focus-border);box-shadow:var(--ds-focus-ring)}.ui-btn--primary{border-color:#7c5cff59;background:#7c5cff24}.ui-btn--primary:hover{border-color:#7c5cff8c;background:#7c5cff2e}.ui-btn--danger{border-color:#ff4d6d73;background:#ff4d6d1a;color:#ff7878f2}.ui-btn--danger:hover{border-color:#ff4d6da6;background:#ff4d6d24}.ui-btn--ghost{border-color:transparent;background:transparent;color:var(--ds-text-muted)}.ui-btn--ghost:hover{border-color:var(--ds-border);background:#ffffff0a;color:var(--ds-text)}.ui-btn--sm{height:30px;padding:0 10px;border-radius:var(--ds-radius-sm);font-size:var(--ds-font-12)}.ui-iconBtn{width:34px;padding:0}.ui-field{display:grid;gap:6px}.ui-label{font-size:var(--ds-font-12);color:var(--ds-text-muted)}.ui-input,.ui-select{width:100%;height:34px;padding:0 10px;border-radius:var(--ds-radius-md);border:1px solid var(--ds-border);background:#ffffff08;color:var(--ds-text);outline:none;font-size:var(--ds-font-12);transition:border-color .12s ease,box-shadow .12s ease,background .12s ease}.ui-input:focus,.ui-select:focus{border-color:var(--ds-focus-border);box-shadow:var(--ds-focus-ring)}.ui-select option,.ui-select optgroup{background:var(--ds-surface-1);color:var(--ds-text)}.ui-card{border:1px solid var(--ds-border);border-radius:var(--ds-radius-lg);background:#ffffff08}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 8px;border-radius:999px;border:1px solid var(--ds-border);background:#ffffff08;color:var(--ds-text-muted-2);font-size:var(--ds-font-11)}.ui-menu{min-width:180px;border:1px solid var(--ds-border);border-radius:var(--ds-radius-md);background:#0f1621f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px;box-shadow:var(--ds-shadow-1)}.ui-menuItem{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:10px;border-radius:var(--ds-radius-sm);cursor:pointer;font-size:var(--ds-font-12);color:var(--ds-text)}.ui-menuItem:hover{background:#ffffff0d;border-color:var(--ds-border)}.ui-menuItemDanger{color:#ff7878f2}.app{height:100%;display:grid;grid-template-columns:var(--sidebar-w, 280px) 6px 1fr}.sidebar{background:linear-gradient(180deg,var(--panel),var(--panel-2));border-right:none;display:flex;flex-direction:column;min-width:240px}.resizer{position:relative;cursor:col-resize;background:transparent}.resizer:before{content:"";position:absolute;top:0;bottom:0;left:50%;width:1px;transform:translate(-.5px);background:var(--border)}.resizer:hover:before{background:#7c5cff73}.resizer:active:before{background:#7c5cffa6}.sidebarHeader{padding:14px 14px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid var(--border);position:relative}.brand{display:flex;flex-direction:column;gap:2px;line-height:1.1}.brandTitle{font-weight:650;font-size:14px;letter-spacing:.2px}.brandSub{font-size:12px;color:var(--muted)}.newChatBtn{border:1px solid var(--border);background:#ffffff0a;padding:8px 10px;border-radius:10px;cursor:pointer}.newChatBtn:hover{border-color:#7c5cff80;background:#7c5cff1a}.sessionList{padding:10px;overflow:auto;flex:1;scrollbar-width:none}.sessionList::-webkit-scrollbar{width:0;height:0}.sessionRow{display:flex;align-items:stretch;gap:6px;margin-bottom:8px}.sessionMainBtn{flex:1;width:auto}.sessionActions{position:relative;display:flex;align-items:center}.sessionKebabBtn{width:34px;height:34px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--muted);font-size:18px;line-height:1}.sessionKebabBtn:hover{background:#ffffff0a;border-color:var(--border);color:var(--text)}.sessionMenu{position:fixed;z-index:9999;min-width:160px;border:1px solid var(--border);border-radius:12px;background:#0f1621f2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);padding:6px;box-shadow:0 10px 30px #00000059}.actionMenu{min-width:200px}.headerDropdown{position:fixed;right:14px;top:56px;z-index:9999}.buildBadge{margin-top:6px;font-size:11px;color:var(--muted-2)}.actionMenuHeader{padding:6px 8px 4px;font-size:11px;color:var(--muted-2)}.actionMenuDivider{height:1px;background:#ffffff0f;margin:6px}.miniBtn{border:1px solid var(--border);background:#ffffff08;padding:4px 8px;border-radius:10px;cursor:pointer;font-size:11px;color:var(--muted)}.miniBtn:hover{background:#ffffff0d;color:var(--text)}.sessionMenuItem{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:10px;border-radius:10px;cursor:pointer;font-size:12px;color:var(--text)}.sessionMenuItem:hover{background:#ffffff0d;border-color:var(--border)}.sessionMenuItemDanger{color:#ff7878f2}.sidebarTabs{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:10px 10px 8px;border-bottom:1px solid var(--border)}.tabBtn{border:1px solid var(--border);background:#ffffff08;padding:8px 10px;border-radius:12px;cursor:pointer;font-size:12px;color:var(--muted)}.tabBtn:hover{background:#ffffff0d}.tabBtnActive{color:var(--text);border-color:#7c5cff59;background:#7c5cff1a}.sidebarBody{flex:1;min-height:0;overflow:auto}.sideList{padding:10px}.sideTitleRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 2px 10px}.sideTitleRow .sideSectionTitle{margin:0}.sideAddBtn{width:34px;height:34px;border-radius:12px;border:1px solid var(--border);background:#ffffff0a;cursor:pointer;font-size:16px;line-height:1}.sideAddBtn:hover{border-color:#7c5cff80;background:#7c5cff1a}.sideDropdownWrap{position:relative}.sideDropdown{position:absolute;right:0;top:42px;z-index:9999}.sideSearch{margin:6px 2px 10px}.sideSearchInput{width:100%;height:34px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;outline:none;font-size:12px}.sideSearchInput.ui-input{height:34px;border-radius:12px;font-size:12px}.sideSearchInput:focus{border-color:#7c5cff8c;box-shadow:0 0 0 4px #7c5cff1f}.sideItemActive{background:#7c5cff1a;border-color:#7c5cff59}.workSplit{display:grid;grid-template-columns:1fr;min-height:0}.detailCard{max-width:980px;margin:0 auto;border:1px solid var(--border);border-radius:14px;background:#ffffff08;padding:14px}.sshDetailHeader{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding-bottom:12px;margin-bottom:8px;border-bottom:1px solid rgba(255,255,255,.06)}.sshDetailHeaderLeft{min-width:0}.sshDetailTitleRow{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sshDetailTitle{font-size:14px;font-weight:700;color:var(--text)}.sshDetailSub{margin-top:2px;font-size:12px;color:var(--muted-2);word-break:break-word}.sshDetailActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;align-items:center}.sshTagRow{display:flex;gap:6px;flex-wrap:wrap;align-items:center}.sshEmptyState{display:grid;gap:8px}.mgrGrid{display:grid;grid-template-columns:260px 1fr;gap:12px;min-height:0}.mgrToolbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.mgrToolbar .fieldInput{flex:1}.mgrRow{display:flex;align-items:center;gap:10px}.mgrRowBetween{display:flex;align-items:center;justify-content:space-between;gap:10px}.mgrHint{font-size:11px;color:var(--muted-2)}.mgrList{display:grid;gap:6px}.mgrHostItem{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 10px;border-radius:10px;border:1px solid var(--border);background:#ffffff05}.mgrHostMeta{font-size:11px;color:var(--muted-2)}.mgrActionsRow{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}.mgrDanger{color:#ff7878f2}.mgrPane{border:1px solid var(--border);border-radius:12px;background:#ffffff05;padding:10px;min-height:0;overflow:auto}.mgrPaneTitle{font-size:12px;font-weight:700;margin:0 0 8px}.treeItem{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:10px;border:1px solid transparent;cursor:pointer}.treeItem:hover{background:#ffffff0a;border-color:var(--border)}.treeItemActive{background:#7c5cff1a;border-color:#7c5cff59}.badge{font-size:11px;padding:2px 8px;border-radius:999px;border:1px solid var(--border);color:var(--muted)}.indent{padding-left:12px}.detailRow{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.06)}.detailRow:last-child{border-bottom:none}.detailLabel{font-size:12px;color:var(--muted)}.detailValue{font-size:12px;color:var(--text);word-break:break-word}.btnRow{display:flex;gap:10px;margin-top:12px}.btn{border:1px solid var(--border);background:#ffffff0a;padding:8px 10px;border-radius:12px;cursor:pointer;font-size:12px}.btn:hover{border-color:#7c5cff80;background:#7c5cff1a}.btn:disabled{cursor:not-allowed;opacity:.55}.btnDanger{border-color:#ff50508c;background:#ff50501a}.btnDanger:hover{background:#ff505029}.modalOverlay{position:fixed;inset:0;background:#0000008c;z-index:9998}.modal{position:fixed;z-index:9999;top:50%;left:50%;transform:translate(-50%,-50%);width:min(720px,calc(100vw - 24px));border:1px solid var(--border);border-radius:14px;background:#0f1621fa;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 10px 30px #00000059;padding:12px}.modalHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:6px 6px 10px}.modalTitle{font-size:13px;font-weight:700}.modalBody{padding:6px;display:grid;gap:10px}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field{display:flex;flex-direction:column;gap:6px}.fieldLabel{font-size:11px;color:var(--muted)}.fieldInput,.fieldSelect{height:34px;padding:0 10px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;outline:none;font-size:12px}.fieldSelect option,.fieldSelect optgroup{color:#111;background-color:#fff}.fieldInput:focus,.fieldSelect:focus{border-color:#7c5cff8c;box-shadow:0 0 0 4px #7c5cff1f}.fieldSpan2{grid-column:span 2}.modalFooter{display:flex;justify-content:flex-end;gap:10px;padding:10px 6px 6px}.btnPrimary{border-color:#7c5cff73;background:#7c5cff2e}.btnPrimary:hover{background:#7c5cff3d}.sideSectionTitle{font-size:12px;font-weight:700;color:var(--text);letter-spacing:.2px;margin:4px 2px 10px}.sideGroupLabel{margin:10px 2px 6px;font-size:11px;color:var(--muted-2);text-transform:uppercase;letter-spacing:.6px}.sideGroup{border:1px solid var(--border);border-radius:12px;padding:6px;background:#ffffff05;margin-bottom:8px;position:relative}.sideGroupHeader{font-size:12px;font-weight:650;color:var(--muted);padding:6px 8px}.sideGroupHeaderRow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px}.groupKebabBtn{width:28px;height:28px;border-radius:10px;border:1px solid transparent;background:transparent;cursor:pointer;color:var(--muted);font-size:16px;line-height:1}.groupKebabBtn:hover{background:#ffffff0a;border-color:var(--border);color:var(--text)}.groupMenu{position:absolute;right:10px;top:42px;z-index:9999;min-width:180px}.sideItem{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:8px;border-radius:10px;cursor:pointer;display:flex;flex-direction:column;gap:3px}.sideItem:hover{background:#ffffff0a;border-color:var(--border)}.sideItemTitle{font-size:12px;font-weight:650;color:var(--text)}.sideItemMeta{font-size:11px;color:var(--muted-2)}.sideEmpty{font-size:12px;color:var(--muted-2);padding:10px 8px;border:1px dashed var(--border);border-radius:12px;background:#ffffff05}.sidebarFooter{border-top:1px solid var(--border);padding:10px;display:flex;flex-direction:column;gap:8px;background:#0f162159}.footerBtn{width:100%;text-align:left;border:1px solid var(--border);background:#ffffff08;padding:10px;border-radius:12px;cursor:pointer;font-size:12px;color:var(--text);display:flex;flex-direction:column;gap:4px}.footerBtn:hover{background:#ffffff0d}.footerHint{font-size:11px;color:var(--muted-2)}.footerRow{display:grid;grid-template-columns:1fr 1fr;gap:8px}.footerBtnSmall{padding:10px;align-items:flex-start}.sessionItem{width:100%;text-align:left;border:1px solid transparent;background:transparent;padding:10px;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:4px}.sessionItem:hover{background:#ffffff0a;border-color:var(--border)}.sessionItemActive{background:#7c5cff1a;border-color:#7c5cff59}.sessionTitle{font-size:13px;font-weight:600}.sessionMeta{font-size:12px;color:var(--muted-2)}.main{display:grid;grid-template-rows:auto 1fr auto;min-width:0;min-height:0}.topbar{border-bottom:1px solid var(--border);background:#0f16218c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px}.topbarTitle{display:flex;flex-direction:column;gap:2px;min-width:0}.h1{font-size:14px;font-weight:650;margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.h2{font-size:12px;margin:0;color:var(--muted)}.statusPill{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--border);background:#ffffff0a;padding:8px 10px;border-radius:999px;font-size:12px;color:var(--muted);white-space:nowrap}.dot{width:8px;height:8px;border-radius:999px;background:var(--muted-2)}.dotOk{background:var(--ok)}.dotErr{background:var(--danger)}.messages{padding:18px 16px;overflow-y:auto;min-height:0}.msgRow{display:flex;margin:10px 0}.msgUser{justify-content:flex-end}.msgAssistant{justify-content:flex-start}.bubble{max-width:min(780px,92%);border:1px solid var(--border);border-radius:14px;padding:10px 12px;background:#ffffff08;white-space:pre-wrap;line-height:1.5;font-size:13px}.bubbleUser{background:#7c5cff1f;border-color:#7c5cff59}.bubbleAssistant{background:#ffffff08}.composerWrap{border-top:1px solid var(--border);padding:12px;background:#0f16218c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.composer{display:grid;grid-template-columns:1fr 220px;gap:10px;align-items:end;max-width:980px;margin:0 auto}.textarea{width:100%;resize:none;min-height:44px;max-height:180px;padding:10px 12px;border-radius:12px;border:1px solid var(--border);outline:none;background:#ffffff08}.textarea:focus{border-color:#7c5cff8c;box-shadow:0 0 0 4px #7c5cff1f}.sendBtn{cursor:pointer;border:1px solid rgba(124,92,255,.45);background:#7c5cff2e;color:var(--text);padding:10px 14px;border-radius:12px;font-weight:650}.sendBtn:hover{background:#7c5cff3d}.sendBtn:disabled{cursor:not-allowed;opacity:.55}.hint{max-width:980px;margin:10px auto 0;font-size:12px;color:var(--muted-2)}@media(max-width:860px){.app{grid-template-columns:1fr}.sidebar,.resizer{display:none}}.modelSelect{height:44px;border-radius:12px;border:1px solid var(--border);background:#ffffff08;padding:0 10px;outline:none}.modelSelect:focus{border-color:#7c5cff8c;box-shadow:0 0 0 4px #7c5cff1f}.modelSelect:disabled{opacity:.6;cursor:not-allowed}.composerInput .textarea{padding-right:64px}.stopBtn{position:absolute;right:8px;bottom:8px;height:28px;padding:0 10px;border-radius:10px;border:1px solid rgba(255,80,80,.55);background:#ff505024;color:var(--text);cursor:pointer;font-size:12px;font-weight:650}.stopBtn:hover{background:#ff505033}.composerInput{position:relative;width:100%}.composerInput .textarea{padding-right:84px}.actionBtn{position:absolute;right:10px;bottom:10px;height:30px;min-width:64px;padding:0 12px;border-radius:12px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);cursor:pointer;font-size:12px;font-weight:650}.actionBtn:disabled{cursor:not-allowed;opacity:.55}.actionBtnSend{border-color:#7c5cff73;background:#7c5cff2e}.actionBtnSend:hover{background:#7c5cff3d}.actionBtnStop{border-color:#ff50508c;background:#ff505024}.actionBtnStop:hover{background:#ff505033}.modelSelect option,.modelSelect optgroup{color:#111;background-color:#fff}.workArea{display:grid;grid-template-rows:auto 1fr;min-height:0}.workHeader{border-bottom:1px solid var(--border);background:#0f16218c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);padding:12px 16px}.workBody{padding:18px 16px;overflow:auto;min-height:0}.workCard{max-width:980px;margin:0 auto;border:1px solid var(--border);border-radius:14px;background:#ffffff08;padding:14px}.workCardTitle{font-size:13px;font-weight:700;margin-bottom:6px}.workCardText{font-size:12px;color:var(--muted);line-height:1.6;white-space:pre-wrap}
