@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600&family=JetBrains+Mono:wght@400;500&display=swap";.panel-content.datacatalog-panel,.data-catalog-panel{display:flex;flex-direction:column;height:100%;background:var(--color-background-secondary);color:var(--color-text-primary)}.catalog-toolbar{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2) var(--space-1)}.catalog-search{flex:1;min-height:var(--height-sm);padding:5px 10px;border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--text-xs);outline:none;transition:border-color var(--duration-fast) var(--ease-in-out),box-shadow var(--duration-fast) var(--ease-in-out)}.catalog-search:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 24%,transparent)}.catalog-meta{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;display:flex;align-items:center;gap:var(--space-1)}.ws-dot{display:inline-block;width:6px;height:6px;border-radius:50%}.ws-dot.on{background:#10b981}.ws-dot.off{background:#6b7280}.catalog-list-area{position:relative;flex:1;min-height:0}.catalog-row{display:flex;align-items:center;gap:var(--space-2);padding:0 10px;cursor:pointer;font-size:var(--text-xs);border-bottom:1px solid var(--color-border-primary);transition:background var(--duration-fast) var(--ease-in-out)}.catalog-row:hover{background:var(--color-bg-hover)}.derived-badge{display:inline-flex;align-items:center;justify-content:center;min-width:16px;height:16px;padding:0 4px;border-radius:var(--radius-full);border:1px solid var(--color-violet);color:var(--color-violet);font-size:10px;font-weight:700;flex-shrink:0;background:var(--color-violet-bg)}.catalog-row.loading{color:var(--color-text-secondary);font-style:italic}.freq-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 3px;border-radius:3px;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}.series-id{font-family:monospace;font-size:var(--text-xs);color:var(--color-accent);flex-shrink:0;min-width:80px}.series-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.catalog-loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:var(--color-overlay-subtle);z-index:5;pointer-events:none}.catalog-spinner{width:18px;height:18px;border:2px solid var(--color-border-primary);border-top-color:var(--color-accent);border-radius:50%;animation:catalog-spin .6s linear infinite}@keyframes catalog-spin{to{transform:rotate(360deg)}}.catalog-loading{padding:8px;text-align:center;font-size:var(--text-xs);color:var(--color-text-secondary)}.mode-toggle{padding:4px 8px;border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;line-height:1;flex-shrink:0;transition:border-color var(--duration-fast) var(--ease-in-out),color var(--duration-fast) var(--ease-in-out),background-color var(--duration-fast) var(--ease-in-out)}.mode-toggle:hover{border-color:var(--color-accent);color:var(--color-text-primary);background:var(--color-bg-hover)}.mode-toggle:disabled{opacity:.45;cursor:default}.catalog-group-header{display:flex;align-items:center;gap:var(--space-2);padding:0 10px;cursor:pointer;font-size:var(--text-xs);font-weight:600;background:var(--color-bg-secondary);border-bottom:1px solid var(--color-border-primary);color:var(--color-text-primary);transition:background var(--duration-fast) var(--ease-in-out)}.catalog-group-header:hover{background:var(--color-bg-hover)}.group-expand{font-size:9px;color:var(--color-text-secondary);width:12px;text-align:center;flex-shrink:0}.group-label{flex:1}.group-count{font-size:10px;font-weight:400;color:var(--color-text-secondary)}.toolbar-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px 6px;border:1px solid var(--color-border-primary);border-radius:var(--radius-sm);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:var(--text-sm);cursor:pointer;line-height:1;flex-shrink:0;position:relative;transition:border-color var(--duration-fast) var(--ease-in-out),color var(--duration-fast) var(--ease-in-out),background-color var(--duration-fast) var(--ease-in-out)}.toolbar-btn:hover{border-color:var(--color-accent);color:var(--color-text-primary);background:var(--color-bg-hover)}.toolbar-btn.active{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-light)}.toolbar-btn.has-filters{border-color:var(--color-accent)}.filter-badge-count{position:absolute;top:-5px;right:-5px;min-width:14px;height:14px;padding:0 3px;border-radius:7px;background:var(--color-accent);color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.filter-dropdown{position:fixed;z-index:10000;min-width:260px;max-width:340px;max-height:70vh;overflow-y:auto;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);padding:10px;box-shadow:var(--shadow-lg);animation:dropdown-in .12s ease-out}@keyframes dropdown-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.filter-loading{display:flex;justify-content:center;gap:6px;padding:12px 0}.filter-loading-dot{width:6px;height:6px;border-radius:50%;background:var(--color-text-secondary);animation:filter-pulse 1.2s ease-in-out infinite}.filter-loading-dot:nth-child(2){animation-delay:.15s}.filter-loading-dot:nth-child(3){animation-delay:.3s}@keyframes filter-pulse{0%,80%,to{opacity:.3;transform:scale(.8)}40%{opacity:1;transform:scale(1)}}.filter-section{margin-bottom:10px}.filter-section:last-of-type{margin-bottom:0}.filter-label{display:block;font-size:10px;font-weight:600;color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.04em;margin-bottom:6px}.filter-pills{display:flex;flex-wrap:wrap;gap:4px}.filter-pill{padding:3px 8px;border:1px solid var(--color-border-primary);border-radius:var(--radius-full);background:var(--color-bg-secondary);color:var(--color-text-secondary);font-size:10px;font-weight:600;cursor:pointer;transition:all .12s;display:inline-flex;align-items:center;gap:4px}.filter-pill:hover{border-color:var(--color-border-strong);color:var(--color-text-primary);background:var(--color-bg-hover)}.filter-pill.active{border-color:var(--color-info-vivid);background:color-mix(in srgb,var(--color-info-vivid) 16%,transparent);color:var(--color-info-vivid)}.filter-pill.derived.active{border-color:var(--color-violet);background:var(--color-violet-bg);color:var(--color-violet-light)}.filter-pill.freq.active{border-color:var(--color-accent);background:var(--color-accent-light);color:var(--color-accent)}.filter-count{font-size:9px;opacity:.6}.filter-clear{display:block;width:100%;padding:4px 0;margin-top:8px;border:none;border-top:1px solid var(--color-border-primary);background:transparent;color:var(--color-text-secondary);font-size:10px;cursor:pointer;text-align:center;transition:color .15s}.filter-clear:hover{color:var(--color-accent)}.macro-empty-list{margin:12px 0 0;padding-left:18px;color:var(--empty-state-message-color, var(--text-2, #98a2b3));font-size:13px;line-height:1.45;text-align:left;max-width:520px}.macro-empty-list li+li{margin-top:6px}.empty-state-hints{display:flex;flex-direction:column;gap:4px;align-items:center}.empty-panel-hint kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border:1px solid var(--panel-border-color, #2f3a4a);border-radius:6px;background:var(--panel-bg-2, #0f1720);color:var(--text-1, #dce6f2);font-size:11px;font-family:inherit;line-height:1}:root{--color-background-primary: #ffffff;--color-background-secondary: #f8f8f8;--color-background-tertiary: #f0f0f0;--color-background-elevated: #ffffff;--color-text-primary: #1a1a1a;--color-text-secondary: #6b6b6b;--color-text-tertiary: #767676;--color-text-link: #007aff;--color-border-primary: #e5e7eb;--color-border-secondary: #f0f0f0;--color-icon-primary: #4a4a4a;--color-icon-secondary: #808080;--color-accent-default: #007aff;--color-accent-hover: #005bcc;--color-accent-active: #0040a0;--color-success: #28a745;--color-warning: #ffc107;--color-error: #dc3545;--color-info: #17a2b8;--color-success-bg: rgba(40, 167, 69, .1);--color-warning-bg: rgba(255, 193, 7, .1);--color-error-bg: rgba(220, 53, 69, .1);--color-info-bg: rgba(23, 162, 184, .1);--color-text-on-accent: #ffffff;--color-focus-ring: #007aff;--color-chat-user-bg: #e8edf5;--color-chat-agent-bg: #ffffff;--color-chat-tool-bg: #f3f4f6;--color-chat-border: #d8dbe0;--color-code-bg: #f5f5f5;--color-diff-added: #e6ffed;--color-diff-removed: #ffebeb;--font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", monospace;--font-size-xs: 11px;--font-size-2xs: 10px;--font-size-3xs: 9px;--font-size-4xs: 8px;--font-size-sm: 12px;--font-size-ui: 13px;--font-size-base: 14px;--font-size-md: 16px;--font-size-lg: 18px;--font-size-xl: 20px;--font-size-2xl: 22px;--font-size-3xl: 28px;--font-weight-regular: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--spacing-xxs: 2px;--spacing-xs: 4px;--spacing-1: 6px;--spacing-sm: 8px;--spacing-1-5: 10px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 20px;--spacing-xxl: 24px;--spacing-3xl: 32px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 2px 4px rgba(0, 0, 0, .08);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .12), 0 2px 4px rgba(0, 0, 0, .06);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .06);--radius-none: 0px;--radius-sm: 2px;--radius-md: 4px;--radius-lg: 6px;--radius-input: 8px;--radius-full: 9999px;--z-below: -1;--z-base: 0;--z-sticky: 10;--z-dropdown: 100;--z-overlay: 200;--z-modal: 300;--z-tooltip: 400;--z-toast: 500;--z-context-menu: 1000;--z-popover: 1001;--ease-out-fluid: cubic-bezier(.3, 0, 0, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-spring: cubic-bezier(.34, 1.56, .64, 1);--duration-fast: .1s;--duration-default: .15s;--duration-smooth: .2s;--duration-slow: .3s;--icon-size-inline: 16px;--icon-size-toolbar: 18px;--icon-size-activity: 20px;--interactive-hover-bg: var(--color-background-tertiary);--interactive-active-bg: var(--color-accent-active);--interactive-disabled-opacity: .5;--text-micro: var(--font-size-xs);--text-2xs: var(--font-size-2xs);--text-3xs: var(--font-size-3xs);--text-4xs: var(--font-size-4xs);--text-xs: var(--font-size-sm);--text-sm: var(--font-size-ui);--text-base: var(--font-size-base);--text-lg: var(--font-size-md);--text-xl: var(--font-size-lg);--text-2xl: 24px;--text-3xl: var(--font-size-3xl);--font-normal: var(--font-weight-regular);--font-medium: var(--font-weight-medium);--font-semibold: var(--font-weight-semibold);--leading-tight: 1.2;--leading-normal: 1.4;--leading-relaxed: 1.6;--space-0: 0;--space-1: var(--spacing-xs);--space-2: var(--spacing-sm);--space-3: var(--spacing-md);--space-4: var(--spacing-lg);--space-5: var(--spacing-xl);--space-6: var(--spacing-xxl);--space-8: var(--spacing-3xl);--space-10: 40px;--space-12: 48px;--space-16: 64px;--height-xs: 24px;--height-sm: 28px;--height-md: 32px;--height-lg: 36px;--radius-xs: var(--radius-sm);--radius-tab: var(--radius-sm);--radius-xl: var(--radius-lg);--radius-2xl: var(--radius-lg);--color-bg-canvas: var(--color-background-secondary);--color-bg-primary: var(--color-background-primary);--color-bg-secondary: var(--color-background-secondary);--color-bg-tertiary: var(--color-background-tertiary);--color-bg-hover: var(--interactive-hover-bg);--color-bg-active: color-mix(in srgb, var(--color-accent-default) 12%, var(--color-background-tertiary));--color-bg-inverse: var(--color-text-primary);--color-border: var(--color-border-primary);--color-border-strong: color-mix(in srgb, var(--color-border-primary) 80%, var(--color-text-primary));--color-accent: var(--color-accent-default);--color-accent-light: color-mix(in srgb, var(--color-accent-default) 14%, transparent);--color-text-inverse: var(--color-text-on-accent);--color-text-on-inverse-bg: var(--color-background-primary);--color-text-placeholder: var(--color-text-tertiary);--background: var(--color-bg-primary);--foreground: var(--color-text-primary);--card: var(--color-bg-primary);--card-foreground: var(--color-text-primary);--popover: var(--color-bg-primary);--popover-foreground: var(--color-text-primary);--primary: var(--color-accent-default);--primary-foreground: var(--color-text-on-accent);--secondary: var(--color-bg-secondary);--secondary-foreground: var(--color-text-primary);--muted: var(--color-bg-secondary);--muted-foreground: var(--color-text-secondary);--accent: var(--color-accent-default);--accent-foreground: var(--color-text-on-accent);--destructive: var(--color-error);--destructive-foreground: var(--color-text-on-accent);--border: var(--color-border-primary);--input: var(--color-border-primary);--ring: var(--color-focus-ring);--radius: var(--radius-md);--color-success-hover: color-mix(in srgb, var(--color-success) 86%, black);--color-success-light: var(--color-success-bg);--color-warning-light: var(--color-warning-bg);--color-error-hover: color-mix(in srgb, var(--color-error) 86%, black);--color-error-light: var(--color-error-bg);--color-info-hover: color-mix(in srgb, var(--color-info) 86%, black);--color-info-light: var(--color-info-bg);--color-ai-agent: #ea580c;--color-ai-agent-hover: #c2410c;--color-ai-agent-glow: rgba(234, 88, 12, .15);--color-ai-agent-foreground: #18181b;--color-git-modified: #e2c08d;--color-git-added: #73c991;--color-git-deleted: #f14c4c;--color-git-modified-bg: rgba(226, 192, 141, .2);--color-git-added-bg: rgba(115, 201, 145, .2);--color-git-deleted-bg: rgba(241, 76, 76, .2);--color-neutral-bg: rgba(107, 114, 128, .15);--color-violet-bg: rgba(139, 92, 246, .15);--color-highlight: #fef08a;--color-selected: #e0e7ff;--color-selected-hover: #c7d2fe;--color-scrollbar: color-mix(in srgb, var(--color-border-primary) 80%, var(--color-icon-secondary));--color-scrollbar-hover: color-mix(in srgb, var(--color-border-primary) 40%, var(--color-icon-primary));--color-pre-bg: #1f2937;--color-pre-text: #f9fafb;--color-tool-bg: var(--color-chat-tool-bg);--color-command-bg: color-mix(in srgb, var(--color-background-tertiary) 80%, var(--color-background-secondary));--color-violet: #7c3aed;--color-violet-light: #a78bfa;--color-pink: #ec4899;--color-pink-light: #f9a8d4;--color-info-vivid: #60a5fa;--color-indigo: #6366f1;--color-overlay: rgba(0, 0, 0, .5);--color-inset-shadow: rgba(0, 0, 0, .15);--color-diff-divider: color-mix(in srgb, var(--color-border-primary) 60%, var(--color-icon-primary));--color-diff-add-bg: var(--color-diff-added);--color-diff-add-text: #166534;--color-diff-remove-bg: var(--color-diff-removed);--color-diff-remove-text: #991b1b;--color-term-bg: #f8fafc;--color-term-fg: #111827;--color-term-cursor: #111827;--color-term-selection: #bfdbfe;--color-term-black: #0f172a;--color-term-red: #dc2626;--color-term-green: #16a34a;--color-term-yellow: #f59e0b;--color-term-blue: #2563eb;--color-term-magenta: #db2777;--color-term-cyan: #0891b2;--color-term-white: #e2e8f0;--color-agent-focus: color-mix(in srgb, var(--color-ai-agent) 30%, transparent);--color-agent-focus-strong: color-mix(in srgb, var(--color-ai-agent) 40%, transparent);--color-warning-muted: var(--color-warning-bg);--color-warning-fg: var(--color-warning);--color-warning-emphasis: var(--color-warning);--color-accent-fg: var(--color-accent-default);--color-danger-fg: var(--color-error);--color-danger-subtle: var(--color-error-bg);--color-canvas-default: var(--color-bg-primary);--color-canvas-subtle: var(--color-bg-secondary);--color-fg-default: var(--color-text-primary);--color-fg-muted: var(--color-text-secondary);--color-hover: var(--color-bg-hover);--color-active: var(--color-bg-active);--color-code-fg: var(--color-text-primary);--color-overlay-subtle: color-mix(in srgb, var(--color-overlay) 40%, transparent);--color-overlay-muted: color-mix(in srgb, var(--color-overlay) 80%, transparent);--color-diff-copy-bg: color-mix(in srgb, var(--color-bg-inverse) 80%, transparent);--color-diff-copy-border: color-mix(in srgb, var(--color-git-deleted) 60%, transparent);--color-diff-copy-hover-bg: color-mix(in srgb, var(--color-git-deleted) 40%, transparent);--color-diff-word-removed-bg: color-mix(in srgb, var(--color-git-deleted) 40%, transparent);--color-diff-word-added-bg: color-mix(in srgb, var(--color-git-added) 40%, transparent);--color-mode-act: #a28bff;--color-mode-plan: #6fd3c1;--color-mode-act-ring: rgba(162, 139, 255, .7);--color-mode-plan-ring: rgba(111, 211, 193, .7);--shadow-float: var(--shadow-lg);--shadow-xl: var(--shadow-lg);--shadow-toast: var(--shadow-lg);--ring-focus: 0 0 0 2px var(--color-background-primary), 0 0 0 4px color-mix(in srgb, var(--color-focus-ring) 45%, transparent);--shadow-focus: var(--ring-focus);--shadow-card: var(--shadow-md);--shadow-button: var(--shadow-sm);--shadow-button-hover: var(--shadow-md);--syntax-keyword: #d73a49;--syntax-string: #032f62;--syntax-number: #005cc5;--syntax-comment: #6a737d;--syntax-function: #6f42c1;--syntax-variable: #24292e;--syntax-operator: #d73a49;--syntax-class: #6f42c1;--syntax-property: #005cc5;--syntax-punctuation: #24292e;--transition-fast: var(--duration-fast) var(--ease-out-fluid);--transition-normal: var(--duration-default) var(--ease-in-out);--transition-slow: var(--duration-slow) var(--ease-in-out)}[data-theme=dark]{--color-background-primary: #121212;--color-background-secondary: #1a1a1a;--color-background-tertiary: #242424;--color-background-elevated: #1e1e1e;--color-text-primary: #e0e0e0;--color-text-secondary: #BDBDBD;--color-text-tertiary: #888888;--color-text-link: #61dafb;--color-border-primary: #2a2a2a;--color-border-secondary: #222222;--color-icon-primary: #b0b0b0;--color-icon-secondary: #707070;--color-accent-default: #61dafb;--color-accent-hover: #3d9dd6;--color-accent-active: #2a7399;--color-success: #2ecc71;--color-warning: #f1c40f;--color-error: #e74c3c;--color-info: #3498db;--color-success-bg: rgba(46, 204, 113, .12);--color-warning-bg: rgba(241, 196, 15, .12);--color-error-bg: rgba(231, 76, 60, .12);--color-info-bg: rgba(52, 152, 219, .12);--color-focus-ring: #61dafb;--color-chat-user-bg: #2f3542;--color-chat-agent-bg: #1f1f1f;--color-chat-tool-bg: #2a2a2a;--color-chat-border: #3a3a3a;--color-code-bg: #282c34;--color-diff-added: #1f4a2f;--color-diff-removed: #4a2f2f;--color-diff-add-bg: #1f4a2f;--color-diff-remove-bg: #4a2f2f;--shadow-sm: inset 0 0 0 1px rgba(255, 255, 255, .06);--shadow-md: inset 0 0 0 1px rgba(255, 255, 255, .08), 0 2px 4px rgba(0, 0, 0, .2);--shadow-lg: inset 0 0 0 1px rgba(255, 255, 255, .1), 0 4px 8px rgba(0, 0, 0, .3);--shadow-inset: inset 0 1px 2px rgba(0, 0, 0, .2);--color-bg-canvas: #000000;--color-bg-inverse: #ffffff;--color-border-strong: color-mix(in srgb, var(--color-border-primary) 70%, var(--color-background-elevated));--color-accent-light: color-mix(in srgb, var(--color-accent-default) 18%, transparent);--color-success-hover: #22c55e;--color-warning-light: #422006;--color-error-hover: #f87171;--color-info-hover: #60a5fa;--color-ai-agent: #f97316;--color-ai-agent-hover: #fb923c;--color-ai-agent-glow: rgba(249, 115, 22, .15);--color-git-added: #7ee787;--color-git-deleted: #ffa198;--color-git-modified-bg: rgba(226, 192, 141, .25);--color-git-added-bg: rgba(126, 231, 135, .25);--color-git-deleted-bg: rgba(255, 161, 152, .25);--color-neutral-bg: rgba(156, 163, 175, .2);--color-violet-bg: rgba(167, 139, 250, .2);--color-highlight: #854d0e;--color-selected: #312e81;--color-selected-hover: #3730a3;--color-scrollbar: #4b5563;--color-scrollbar-hover: #6b7280;--color-pre-bg: #11111b;--color-pre-text: #cdd6f4;--color-command-bg: #1a1b26;--color-violet: #a78bfa;--color-violet-light: #c4b5fd;--color-pink: #f472b6;--color-pink-light: #fbcfe8;--color-info-vivid: #93c5fd;--color-indigo: #818cf8;--color-overlay: rgba(0, 0, 0, .7);--color-inset-shadow: rgba(0, 0, 0, .3);--color-diff-copy-bg: color-mix(in srgb, var(--color-bg-primary) 85%, var(--color-bg-inverse));--color-diff-divider: #4b5563;--color-diff-add-text: #86efac;--color-diff-remove-text: #fca5a5;--color-term-bg: #0f172a;--color-term-fg: #e2e8f0;--color-term-cursor: #e2e8f0;--color-term-selection: #334155;--color-term-red: #ef4444;--color-term-green: #22c55e;--color-term-blue: #3b82f6;--color-term-magenta: #ec4899;--color-term-cyan: #06b6d4;--color-term-white: #f1f5f9;--ring-focus: 0 0 0 2px var(--color-background-primary), 0 0 0 4px color-mix(in srgb, var(--color-focus-ring) 60%, transparent);--syntax-keyword: #cba6f7;--syntax-string: #a6e3a1;--syntax-number: #fab387;--syntax-comment: #6c7086;--syntax-function: #89b4fa;--syntax-variable: #cdd6f4;--syntax-operator: #89dceb;--syntax-class: #f9e2af;--syntax-property: #94e2d5;--syntax-punctuation: #bac2de}:root{--scrollbar-size: 6px}*{scrollbar-width:thin;scrollbar-color:transparent transparent}:root.scrollbar-active *{scrollbar-color:color-mix(in srgb,var(--color-border-primary) 85%,transparent) transparent}:root.scrollbar-active *:hover{scrollbar-color:color-mix(in srgb,var(--color-text-tertiary) 90%,transparent) transparent}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size)}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:transparent;border-radius:var(--radius-full);transition:background-color var(--duration-fast) var(--ease-in-out)}:root.scrollbar-active *::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--color-border-primary) 85%,transparent)}:root.scrollbar-active *::-webkit-scrollbar-thumb:hover{background:color-mix(in srgb,var(--color-text-tertiary) 90%,transparent)}@media (prefers-reduced-motion: reduce){*::-webkit-scrollbar-thumb{transition:none!important}}@property --tw-animation-delay{syntax:"*";inherits:false;initial-value:0s}@property --tw-animation-direction{syntax:"*";inherits:false;initial-value:normal}@property --tw-animation-duration{syntax:"*";inherits:false}@property --tw-animation-fill-mode{syntax:"*";inherits:false;initial-value:none}@property --tw-animation-iteration-count{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-enter-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-enter-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-blur{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-opacity{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-rotate{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-scale{syntax:"*";inherits:false;initial-value:1}@property --tw-exit-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-exit-translate-y{syntax:"*";inherits:false;initial-value:0}@theme inline{--animation-delay-0: 0s; --animation-delay-75: 75ms; --animation-delay-100: .1s; --animation-delay-150: .15s; --animation-delay-200: .2s; --animation-delay-300: .3s; --animation-delay-500: .5s; --animation-delay-700: .7s; --animation-delay-1000: 1s; --animation-repeat-0: 0; --animation-repeat-1: 1; --animation-repeat-infinite: infinite; --animation-direction-normal: normal; --animation-direction-reverse: reverse; --animation-direction-alternate: alternate; --animation-direction-alternate-reverse: alternate-reverse; --animation-fill-mode-none: none; --animation-fill-mode-forwards: forwards; --animation-fill-mode-backwards: backwards; --animation-fill-mode-both: both; --percentage-0: 0; --percentage-5: .05; --percentage-10: .1; --percentage-15: .15; --percentage-20: .2; --percentage-25: .25; --percentage-30: .3; --percentage-35: .35; --percentage-40: .4; --percentage-45: .45; --percentage-50: .5; --percentage-55: .55; --percentage-60: .6; --percentage-65: .65; --percentage-70: .7; --percentage-75: .75; --percentage-80: .8; --percentage-85: .85; --percentage-90: .9; --percentage-95: .95; --percentage-100: 1; --percentage-translate-full: 1; --animate-in: enter var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-out: exit var(--tw-animation-duration,var(--tw-duration,.15s))var(--tw-ease,ease)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes enter { from { opacity: var(--tw-enter-opacity,1); transform: translate3d(var(--tw-enter-translate-x,0),var(--tw-enter-translate-y,0),0)scale3d(var(--tw-enter-scale,1),var(--tw-enter-scale,1),var(--tw-enter-scale,1))rotate(var(--tw-enter-rotate,0)); filter: blur(var(--tw-enter-blur,0)); }}@keyframes exit { to { opacity: var(--tw-exit-opacity,1); transform: translate3d(var(--tw-exit-translate-x,0),var(--tw-exit-translate-y,0),0)scale3d(var(--tw-exit-scale,1),var(--tw-exit-scale,1),var(--tw-exit-scale,1))rotate(var(--tw-exit-rotate,0)); filter: blur(var(--tw-exit-blur,0)); }}--animate-accordion-down: accordion-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-accordion-up: accordion-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-down: collapsible-down var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); --animate-collapsible-up: collapsible-up var(--tw-animation-duration,var(--tw-duration,.2s))var(--tw-ease,ease-out)var(--tw-animation-delay,0s)var(--tw-animation-iteration-count,1)var(--tw-animation-direction,normal)var(--tw-animation-fill-mode,none); @keyframes accordion-down { from { height: 0; }to { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }}@keyframes accordion-up { from { height: var(--radix-accordion-content-height,var(--bits-accordion-content-height,var(--reka-accordion-content-height,var(--kb-accordion-content-height,var(--ngp-accordion-content-height,auto))))); }to { height: 0; }}@keyframes collapsible-down { from { height: 0; }to { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }}@keyframes collapsible-up { from { height: var(--radix-collapsible-content-height,var(--bits-collapsible-content-height,var(--reka-collapsible-content-height,var(--kb-collapsible-content-height,auto)))); }to { height: 0; }}--animate-caret-blink: caret-blink 1.25s ease-out infinite; @keyframes caret-blink { 0%,70%,100% { opacity: 1; }20%,50% { opacity: 0; }}}@utility animation-duration-*{--tw-animation-duration: calc(--value(number)*1ms) ; --tw-animation-duration: --value(--animation-duration-*,[duration],"initial",[*]); animation-duration: calc(--value(number)*1ms) ; animation-duration: --value(--animation-duration-*,[duration],"initial",[*]);}@utility delay-*{animation-delay: calc(--value(number)*1ms) ; animation-delay: --value(--animation-delay-*,[duration],"initial",[*]); --tw-animation-delay: calc(--value(number)*1ms) ; --tw-animation-delay: --value(--animation-delay-*,[duration],"initial",[*]);}@utility repeat-*{animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]); --tw-animation-iteration-count: --value(--animation-repeat-*,number,"initial",[*]);}@utility direction-*{animation-direction: --value(--animation-direction-*,"initial",[*]); --tw-animation-direction: --value(--animation-direction-*,"initial",[*]);}@utility fill-mode-*{animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]); --tw-animation-fill-mode: --value(--animation-fill-mode-*,"initial",[*]);}@utility running{animation-play-state: running;}@utility paused{animation-play-state: paused;}@utility play-state-*{animation-play-state: --value("initial",[*]);}@utility blur-in{--tw-enter-blur: 20px;}@utility blur-in-*{--tw-enter-blur: calc(--value(number)*1px) ; --tw-enter-blur: --value(--blur-*,[*]);}@utility blur-out{--tw-exit-blur: 20px;}@utility blur-out-*{--tw-exit-blur: calc(--value(number)*1px) ; --tw-exit-blur: --value(--blur-*,[*]);}@utility fade-in{--tw-enter-opacity: 0;}@utility fade-in-*{--tw-enter-opacity: calc(--value(number)*.01) ; --tw-enter-opacity: --value(--percentage-*,[*]);}@utility fade-out{--tw-exit-opacity: 0;}@utility fade-out-*{--tw-exit-opacity: calc(--value(number)*.01) ; --tw-exit-opacity: --value(--percentage-*,[*]);}@utility zoom-in{--tw-enter-scale: 0;}@utility zoom-in-*{--tw-enter-scale: calc(--value(number)*1%) ; --tw-enter-scale: --value(ratio) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility -zoom-in-*{--tw-enter-scale: calc(--value(number)*-1%) ; --tw-enter-scale: calc(--value(ratio)*-1) ; --tw-enter-scale: --value(--percentage-*,[*]);}@utility zoom-out{--tw-exit-scale: 0;}@utility zoom-out-*{--tw-exit-scale: calc(--value(number)*1%) ; --tw-exit-scale: --value(ratio) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility -zoom-out-*{--tw-exit-scale: calc(--value(number)*-1%) ; --tw-exit-scale: calc(--value(ratio)*-1) ; --tw-exit-scale: --value(--percentage-*,[*]);}@utility spin-in{--tw-enter-rotate: 30deg;}@utility spin-in-*{--tw-enter-rotate: calc(--value(number)*1deg) ; --tw-enter-rotate: calc(--value(ratio)*360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility -spin-in{--tw-enter-rotate: -30deg;}@utility -spin-in-*{--tw-enter-rotate: calc(--value(number)*-1deg) ; --tw-enter-rotate: calc(--value(ratio)*-360deg) ; --tw-enter-rotate: --value(--rotate-*,[*]);}@utility spin-out{--tw-exit-rotate: 30deg;}@utility spin-out-*{--tw-exit-rotate: calc(--value(number)*1deg) ; --tw-exit-rotate: calc(--value(ratio)*360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility -spin-out{--tw-exit-rotate: -30deg;}@utility -spin-out-*{--tw-exit-rotate: calc(--value(number)*-1deg) ; --tw-exit-rotate: calc(--value(ratio)*-360deg) ; --tw-exit-rotate: --value(--rotate-*,[*]);}@utility slide-in-from-top{--tw-enter-translate-y: -100%;}@utility slide-in-from-top-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-y: calc(--value(ratio)*-100%) ; --tw-enter-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-bottom{--tw-enter-translate-y: 100%;}@utility slide-in-from-bottom-*{--tw-enter-translate-y: calc(--value(integer)*var(--spacing)); --tw-enter-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-y: calc(--value(ratio)*100%) ; --tw-enter-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-left{--tw-enter-translate-x: -100%;}@utility slide-in-from-left-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-in-from-right{--tw-enter-translate-x: 100%;}@utility slide-in-from-right-*{--tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-in-from-start{&:dir(ltr){ --tw-enter-translate-x: -100%; }&:dir(rtl){ --tw-enter-translate-x: 100%; }}@utility slide-in-from-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-in-from-end{&:dir(ltr){ --tw-enter-translate-x: 100%; }&:dir(rtl){ --tw-enter-translate-x: -100%; }}@utility slide-in-from-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-enter-translate-x: calc(--value(ratio)*100%) ; --tw-enter-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-enter-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-enter-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-enter-translate-x: calc(--value(ratio)*-100%) ; --tw-enter-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}@utility slide-out-to-top{--tw-exit-translate-y: -100%;}@utility slide-out-to-top-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-y: calc(--value(ratio)*-100%) ; --tw-exit-translate-y: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-bottom{--tw-exit-translate-y: 100%;}@utility slide-out-to-bottom-*{--tw-exit-translate-y: calc(--value(integer)*var(--spacing)); --tw-exit-translate-y: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-y: calc(--value(ratio)*100%) ; --tw-exit-translate-y: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-left{--tw-exit-translate-x: -100%;}@utility slide-out-to-left-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ;}@utility slide-out-to-right{--tw-exit-translate-x: 100%;}@utility slide-out-to-right-*{--tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]);}@utility slide-out-to-start{&:dir(ltr){ --tw-exit-translate-x: -100%; }&:dir(rtl){ --tw-exit-translate-x: 100%; }}@utility slide-out-to-start-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }}@utility slide-out-to-end{&:dir(ltr){ --tw-exit-translate-x: 100%; }&:dir(rtl){ --tw-exit-translate-x: -100%; }}@utility slide-out-to-end-*{&:where(:dir(ltr),[dir="ltr"],[dir="ltr"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*100%) ; --tw-exit-translate-x: calc(--value(ratio)*100%) ; --tw-exit-translate-x: --value(--translate-*,[percentage],[length]); }&:where(:dir(rtl),[dir="rtl"],[dir="rtl"]*){ --tw-exit-translate-x: calc(--value(integer)*var(--spacing)*-1); --tw-exit-translate-x: calc(--value(--percentage-*,--percentage-translate-*)*-100%) ; --tw-exit-translate-x: calc(--value(ratio)*-100%) ; --tw-exit-translate-x: calc(--value(--translate-*,[percentage],[length])*-1) ; }}*,*:before,*:after{box-sizing:border-box}html,body,#root{height:100%;width:100%;margin:0;padding:0;overflow:hidden;font-family:var(--font-sans);color:var(--color-text-primary);background-color:var(--color-bg-primary)}body{font-size:var(--text-sm);letter-spacing:-.01em;line-height:var(--leading-normal);-webkit-font-smoothing:antialiased}.lucide{stroke-width:1.5}input::placeholder,textarea::placeholder{color:var(--color-text-placeholder)}h1,h2,h3,.text-lg,.text-xl,.text-2xl{letter-spacing:-.02em}html{height:100vh;height:100dvh}.theme-transition,.theme-transition *,.theme-transition *:before,.theme-transition *:after{transition:background-color var(--transition-normal),color var(--transition-normal),border-color var(--transition-normal),fill var(--transition-normal),stroke var(--transition-normal)!important}#root{display:flex}:focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px;box-shadow:none}:focus:not(:focus-visible){outline:none}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle,.interactive-primary){transition:background-color var(--duration-fast) var(--ease-in-out),color var(--duration-fast) var(--ease-in-out),box-shadow var(--duration-fast) var(--ease-in-out),transform var(--duration-fast) var(--ease-in-out),opacity var(--duration-fast) var(--ease-in-out)}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle,.interactive-primary):not(:disabled):not([aria-disabled=true]):focus-visible{outline:2px solid var(--color-focus-ring);outline-offset:2px}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle):not(:disabled):not([aria-disabled=true]):hover{background:var(--color-background-tertiary)}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle,.interactive-primary):not(:disabled):not([aria-disabled=true]):active{transform:scale(.98);box-shadow:var(--shadow-inset)}:where(input,textarea,select):focus-visible{box-shadow:var(--shadow-sm),0 0 0 2px color-mix(in srgb,var(--color-focus-ring) 24%,transparent)}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle,.interactive-primary):is(:disabled,[aria-disabled=true]){opacity:.5;cursor:not-allowed}.interactive,.interactive-subtle,.interactive-primary{border-radius:var(--radius-sm)}.interactive-primary{background:var(--color-accent-default);color:var(--color-text-on-accent)}.interactive-primary:not(:disabled):not([aria-disabled=true]):hover{background:color-mix(in srgb,var(--color-accent-default) 88%,var(--color-background-primary))}.interactive-primary:not(:disabled):not([aria-disabled=true]):active{background:var(--color-accent-active)}.interactive-lift{transition:transform var(--transition-fast),box-shadow var(--transition-fast)}.interactive-lift:hover{transform:translateY(-1px);box-shadow:var(--shadow-button-hover)}.card,.panel-card{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-card);transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.card:hover,.panel-card:hover{box-shadow:var(--shadow-md);border-color:var(--color-border-strong)}.panel-inset{background:var(--color-bg-tertiary);box-shadow:var(--shadow-inset);border-radius:var(--radius-md)}.app-error-boundary{display:flex;align-items:center;justify-content:center;width:100vw;height:100vh;background:var(--color-canvas-default, #0d1117);color:var(--color-text-primary, #e0e0e0)}.app-error-boundary-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-md, 12px);max-width:400px;text-align:center;padding:var(--spacing-xl, 24px)}.app-error-boundary-icon{color:var(--color-danger-default, #f85149)}.app-error-boundary-title{font-size:var(--font-size-lg, 18px);font-weight:var(--font-weight-semibold, 600);margin:0}.app-error-boundary-message{font-size:var(--font-size-sm, 12px);color:var(--color-text-secondary, #999);margin:0;word-break:break-word}.app-error-boundary-reload{display:inline-flex;align-items:center;gap:var(--spacing-sm, 8px);margin-top:var(--spacing-md, 12px);padding:10px 24px;border-radius:var(--radius-md, 6px);border:1px solid var(--color-accent-default, #007aff);background:var(--color-accent-default, #007aff);color:#fff;font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-medium, 500);cursor:pointer;transition:opacity .12s ease}.app-error-boundary-reload:hover{opacity:.9}.dev-mode-banner{position:fixed;top:0;left:50%;z-index:9999;transform:translate(-50%);padding:2px 12px;border-radius:0 0 8px 8px;background:color-mix(in srgb,var(--color-accent-default, #ea580c) 85%,#000);color:#fff;font-family:var(--font-mono, monospace);font-size:11px;letter-spacing:.02em;pointer-events:none;opacity:.85}.app-container{display:flex;flex-direction:column;width:100%;height:100%;position:relative}.app-main-content{flex:1;min-height:0;display:flex;flex-direction:column;animation:app-content-fade-in var(--duration-smooth) var(--ease-out-fluid)}.skip-to-content-link{position:absolute;top:0;left:var(--space-3);transform:translateY(-140%);z-index:var(--z-toast);border-radius:var(--radius-sm);border:1px solid color-mix(in srgb,var(--color-accent) 55%,var(--color-border));background:var(--color-bg-primary);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);text-decoration:none;transition:transform var(--transition-fast)}.skip-to-content-link:focus-visible{transform:translateY(var(--space-2));outline:2px solid var(--color-focus-ring);outline-offset:2px}.app-header{display:flex;align-items:center;justify-content:space-between;height:48px;min-height:48px;padding:0 var(--spacing-lg, 16px);background-color:var(--color-bg-secondary);border-bottom:1px solid var(--color-border);flex-shrink:0;position:relative;z-index:var(--z-sticky)}.app-header-brand{display:flex;align-items:center;gap:var(--space-2);min-width:0}.app-header-logo{width:24px;height:24px;background:linear-gradient(165deg,color-mix(in srgb,var(--color-accent) 88%,white) 0%,var(--color-accent) 100%);color:var(--color-text-inverse);border-radius:6px;border:1px solid color-mix(in srgb,var(--color-accent) 65%,var(--color-border));display:flex;align-items:center;justify-content:center;font-weight:var(--font-semibold);font-size:var(--font-size-sm, 12px);line-height:1;letter-spacing:.01em}.app-header-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--color-text-primary);line-height:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-header-controls{display:flex;align-items:center;gap:var(--space-2)}.app-container-narrow .app-header{height:40px;min-height:40px;padding:0 var(--space-3)}.app-container-narrow .app-header-brand{gap:var(--space-1)}.app-container-narrow .app-header-logo{width:20px;height:20px;border-radius:5px;font-size:10px}.app-container-narrow .app-header-title{font-size:var(--text-sm);max-width:min(68vw,18rem)}.dockview-host{flex:1;min-height:0;display:flex;background:var(--color-background-primary);padding:0;gap:0}.dockview-host>.dockview-theme-abyss{flex:1;min-height:0;background:var(--color-bg-primary)}.capability-warning{padding:var(--space-2) var(--space-4);background:var(--color-warning-muted);color:var(--color-warning-fg);border-bottom:1px solid var(--color-warning-emphasis);font-size:var(--text-sm)}.capability-warning strong{font-weight:var(--font-semibold)}.app-loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;width:100%;height:100%;min-height:0;background:var(--color-canvas-default);color:var(--color-fg-muted);text-align:center}.pane-loading-state,.pane-error-state{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;min-height:100%;padding:var(--space-8);text-align:center;background:var(--color-canvas-subtle);color:var(--color-fg-muted)}.pane-loading-icon{color:var(--color-accent-fg);margin-bottom:var(--space-4);animation:pane-loading-spin 1s linear infinite}.pane-loading-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-fg-default);margin:0 0 var(--space-2) 0}.pane-loading-message{font-size:var(--text-sm);margin:0;max-width:320px}.pane-error-icon{color:var(--color-danger-fg);margin-bottom:var(--space-4)}.pane-error-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--color-fg-default);margin:0 0 var(--space-2) 0}.pane-error-message{font-size:var(--text-sm);margin:0 0 var(--space-4) 0;max-width:300px}.pane-error-list{list-style:none;padding:0;margin:0 0 var(--space-4) 0;font-size:var(--text-sm);font-family:var(--font-mono)}.pane-error-list li{padding:var(--space-1) var(--space-2);background:var(--color-danger-subtle);color:var(--color-danger-fg);border-radius:var(--radius-sm);margin-bottom:var(--space-1)}.pane-error-retry{display:inline-flex;align-items:center;gap:6px;margin-top:var(--spacing-sm, 8px);padding:6px 16px;border-radius:var(--radius-md, 6px);border:1px solid var(--color-border-default, #333);background:var(--color-bg-secondary, #1e1e1e);color:var(--color-text-primary, #e0e0e0);font-size:var(--font-size-sm, 12px);cursor:pointer;transition:background .12s ease,border-color .12s ease}.pane-error-retry:hover{background:var(--color-bg-tertiary, #2a2a2a);border-color:var(--color-accent-default, #007aff)}.pane-error-hint{font-size:var(--text-xs);color:var(--color-fg-muted);margin:0;margin-top:var(--spacing-sm, 8px);max-width:280px}@keyframes pane-loading-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.workspace-loading{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:0;min-height:0;background:var(--color-bg-primary);animation:workspace-loading-enter .4s ease-out both;text-align:center}.workspace-loading-brand{font-size:var(--font-size-3xl);font-weight:var(--font-weight-bold, 700);color:var(--color-accent-default, #007aff);margin-bottom:var(--space-4, 16px);letter-spacing:-.03em;-webkit-user-select:none;user-select:none}.workspace-loading-icon{color:var(--color-text-secondary, #999);margin-bottom:var(--space-3, 12px);animation:pane-loading-spin 1s linear infinite}.workspace-loading-title{font-size:var(--font-size-base, 14px);font-weight:var(--font-weight-medium, 500);color:var(--color-text-primary);margin:0 0 var(--space-1, 4px) 0;letter-spacing:-.01em}.workspace-loading-message{font-size:var(--font-size-sm, 12px);color:var(--color-text-tertiary);margin:0;line-height:var(--leading-relaxed, 1.625)}@keyframes workspace-loading-enter{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.panel-lazy-loading{flex:1;width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-canvas-default)}.panel-lazy-loading-content{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm, 8px);opacity:0;animation:panel-lazy-fade-in .2s ease-out .25s forwards}.panel-lazy-loading-spinner{width:24px;height:24px;border:2px solid var(--color-border-default, #333);border-top-color:var(--color-accent-default, #007aff);border-radius:50%;animation:panel-lazy-spin .8s linear infinite}.panel-lazy-loading-text{font-size:var(--font-size-sm, 12px);color:var(--color-text-tertiary, #888)}@keyframes panel-lazy-spin{to{transform:rotate(360deg)}}@keyframes panel-lazy-fade-in{to{opacity:1}}.theme-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:1px solid transparent;background:transparent;border-radius:4px;cursor:pointer;color:var(--color-text-secondary);transition:background-color var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.theme-toggle:hover{background-color:var(--color-bg-hover);border-color:var(--color-border);color:var(--color-text-primary);box-shadow:var(--shadow-button)}.theme-toggle:active{background-color:var(--color-bg-active);transform:scale(.95)}.theme-toggle:focus-visible{box-shadow:var(--shadow-focus);border-color:var(--color-accent)}.theme-toggle svg{flex-shrink:0}.panel-content{height:100%;display:flex;flex-direction:column;overflow:hidden}.filetree-panel{background:var(--color-background-secondary);border-right:1px solid var(--color-border-secondary);overflow:hidden}.filetree-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-1);flex-shrink:0}.filetree-toolbar-spacer{flex:1}.filetree-section-spacer{flex:0}.filetree-body{flex:1;min-height:0;display:flex;overflow:hidden}.filetree-body>*{flex:1 1 auto;min-width:0}.filetree-footer{margin-top:auto;padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border)}.filetree-panel.filetree-section-collapsed .filetree-footer{border-top:none;flex-shrink:0}.sync-status-footer{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-top:1px solid var(--color-border);font-size:var(--font-size-xs, 11px);color:var(--color-text-muted);flex-shrink:0;min-height:26px;position:relative}.sync-branch{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px;cursor:default;color:var(--color-text-tertiary)}.sync-branch--draft{color:var(--color-accent-muted, var(--color-text-tertiary))}.sync-branch-name{overflow:hidden;text-overflow:ellipsis}.sync-footer-view-toggle{display:inline-flex;align-items:center;gap:1px;margin-left:4px;background:var(--color-bg-active);border-radius:var(--radius-sm);padding:1px}.sync-footer-toggle-btn{display:flex;align-items:center;justify-content:center;width:20px;height:18px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.sync-footer-toggle-btn:hover{color:var(--color-text-primary)}.sync-footer-toggle-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.sync-state-spacer{flex:1}.sync-github-button{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;text-decoration:none;color:var(--color-text-secondary);transition:all var(--transition-fast)}.sync-github-button--linked:hover{color:var(--color-text-primary);background:var(--color-bg-hover);border-color:var(--color-border-strong)}.sync-github-button--unlinked{color:var(--color-danger)}.sync-github-button--unlinked:hover{color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 10%,transparent);border-color:color-mix(in srgb,var(--color-danger) 45%,var(--color-border-strong))}.sync-state{display:inline-flex;align-items:center;gap:3px;white-space:nowrap;cursor:pointer;background:none;border:none;padding:0;font:inherit;color:inherit}.sync-state:hover{opacity:.8}.sync-state:disabled{cursor:default;opacity:1}.sync-state--ok{color:var(--color-success)}.sync-state--dirty{color:var(--color-text-muted)}.sync-state--syncing{color:var(--color-accent)}.sync-state--error{color:var(--color-error)}.sync-state--paused{color:var(--color-text-muted)}.sync-menu-trigger{display:inline-flex;align-items:center;justify-content:center;background:none;border:none;padding:2px;cursor:pointer;color:var(--color-text-muted);border-radius:3px;margin-left:2px}.sync-menu-trigger:hover,.sync-menu-trigger--active{color:var(--color-text);background:var(--color-bg-hover)}.sync-menu{position:absolute;bottom:100%;right:0;margin-bottom:4px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:180px;padding:var(--spacing-xs, 4px) 0;z-index:var(--z-dropdown)}.sync-menu-item{display:flex;align-items:center;gap:var(--spacing-sm, 8px);width:100%;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);background:none;border:none;cursor:pointer;font:inherit;font-size:var(--font-size-sm, 12px);color:var(--color-text);text-align:left;white-space:nowrap}.sync-menu-item:hover:not(:disabled){background:var(--color-bg-hover)}.sync-menu-item:disabled{opacity:.5;cursor:default}.sync-menu-item--current{color:var(--color-accent);font-weight:500}.sync-menu-item--submenu{justify-content:flex-start}.sync-menu-item--loading{cursor:default}.sync-menu-item--agent{color:var(--color-text-secondary);font-style:italic}.sync-menu-item--agent:hover:not(:disabled){color:var(--color-accent)}.sync-menu-chevron{margin-left:auto}.sync-menu-error{display:flex;align-items:flex-start;gap:6px;padding:6px 10px;font-size:var(--font-size-xs, 11px);color:var(--color-danger);background:color-mix(in srgb,var(--color-danger) 8%,transparent);border-bottom:1px solid var(--color-border);line-height:1.3}.sync-menu-error svg{flex-shrink:0;margin-top:1px}.sync-menu-divider{height:1px;background:var(--color-border);margin:4px 0}.sync-menu-section-label{font-size:var(--font-size-2xs);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);padding:var(--spacing-xs, 4px) var(--spacing-md, 12px) 2px}.sync-branch-submenu{position:fixed;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:170px;max-height:240px;overflow-y:auto;padding:var(--spacing-xs, 4px) 0;z-index:var(--z-overlay)}.sync-branch-create{display:flex;align-items:center;gap:var(--spacing-sm, 8px);padding:6px 12px;color:var(--color-text-muted);position:sticky;bottom:0;background:var(--color-background-elevated);border-top:1px solid var(--color-border);margin-top:2px}.sync-branch-input{flex:1;background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:3px;padding:3px 6px;font:inherit;font-size:var(--font-size-sm, 12px);color:var(--color-text);outline:none;min-width:0}.sync-branch-input:focus{border-color:var(--color-accent)}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xxs, 2px) var(--spacing-xxs, 2px) var(--spacing-xs, 4px) var(--spacing-xs, 4px);margin-bottom:var(--space-1)}.sidebar-title{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.sidebar-toggle-btn{display:flex;align-items:center;justify-content:center;width:var(--height-xs);height:var(--height-xs);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.sidebar-toggle-btn:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.sidebar-toggle-btn:active{transform:scale(.9)}.sidebar-toggle-btn:focus-visible{box-shadow:var(--shadow-focus)}.sidebar-header-actions{display:flex;align-items:center;gap:1px}.sidebar-action-btn{display:flex;align-items:center;justify-content:center;width:var(--height-xs);height:var(--height-xs);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:background var(--transition-fast),color var(--transition-fast),transform var(--transition-fast)}.sidebar-action-btn:hover,.sidebar-action-btn.active{background:var(--color-bg-hover);color:var(--color-text-primary)}.sidebar-action-btn:active{transform:scale(.9)}.sidebar-action-btn:focus-visible{box-shadow:var(--shadow-focus)}.sidebar-action-btn--close{padding:4px;width:auto;height:auto;border-radius:var(--radius-sm)}.sidebar-action-btn--close:hover{background:var(--color-background-tertiary);color:var(--color-text-primary)}.sidebar-action-btn--github{color:var(--color-text-tertiary);opacity:.7;transition:opacity .15s,color .15s}.sidebar-action-btn--github:hover{opacity:1;color:var(--color-text-primary)}.sidebar-action-btn--github-unlinked{color:var(--color-danger);opacity:.95}.sidebar-action-btn--github-unlinked:hover{color:var(--color-danger);opacity:1}.sidebar-action-btn--github-unavailable,.sidebar-action-btn--github-unavailable:hover{opacity:.6;cursor:not-allowed}.sidebar-action-btn--github-linked{opacity:1;color:var(--color-text-secondary);text-decoration:none}.left-pane-brand-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.left-pane-header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2);flex-shrink:0;border-bottom:1px solid var(--color-border)}.left-pane-header-flat .left-pane-brand-title{flex:1}.left-pane-header-actions{display:inline-flex;align-items:center;gap:var(--space-1)}.sidebar-section-header{display:flex;align-items:center;gap:var(--space-1);padding:var(--spacing-sm) var(--spacing-md);flex-shrink:0;-webkit-user-select:none;user-select:none}.sidebar-section-toggle{display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);flex-shrink:0;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-section-toggle:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.sidebar-section-title{font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-tertiary);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-section-icon{display:flex;align-items:center;color:var(--color-text-secondary);flex-shrink:0}.sidebar-section-actions{display:flex;align-items:center;gap:1px;flex-shrink:0}.datacatalog-panel{background:var(--color-background-secondary);box-shadow:1px 0 0 0 var(--color-border-secondary);border-bottom:1px solid var(--color-border-secondary);overflow:hidden}.datacatalog-body{flex:1 1 auto;min-height:0;overflow:hidden;display:flex}.datacatalog-tree{height:100%}.datacatalog-item{cursor:default;color:var(--color-text-tertiary)}.datacatalog-item:hover{background:transparent}.datacatalog-placeholder-icon{opacity:.4;flex-shrink:0}.filetree-collapsed,.terminal-collapsed{display:flex;flex-direction:column;align-items:center;padding:0;gap:0;height:100%}.sidebar-activity-bar{width:48px;display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-1);border-right:1px solid var(--color-border-secondary);box-shadow:1px 0 color-mix(in srgb,var(--color-border-primary) 60%,transparent)}.sidebar-activity-group{width:100%;display:flex;flex-direction:column;align-items:center;gap:var(--space-1)}.sidebar-activity-btn{position:relative;width:32px;height:32px;border:none;border-radius:var(--radius-md);background:transparent;color:var(--color-icon-secondary);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.sidebar-activity-btn:hover{background:var(--color-bg-hover);color:var(--color-icon-primary)}.sidebar-activity-btn.active{color:var(--color-accent-default);background:color-mix(in srgb,var(--color-accent-default) 15%,transparent)}.sidebar-activity-btn.active:before{content:"";position:absolute;left:-4px;top:6px;bottom:6px;width:3px;border-radius:0 999px 999px 0;background:var(--color-accent-default)}.filetree-collapsed .sidebar-activity-btn.active{color:var(--color-icon-secondary);background:transparent}.filetree-collapsed .sidebar-activity-btn.active:before{display:none}.sidebar-activity-expand{margin-bottom:var(--space-1)}.filetree-collapsed-footer{margin:auto var(--spacing-xs) 0;width:100%;display:flex;justify-content:center;padding:var(--space-2) var(--space-1)}.filetree-collapsed-footer .user-menu-trigger.compact{padding:2px}.filetree-collapsed-footer .user-menu-trigger.compact .user-avatar{width:24px;height:24px}.sidebar-collapsed-label{writing-mode:vertical-rl;text-orientation:mixed;font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.editor-panel-content{background:var(--color-bg-primary)}.empty-state{width:min(440px,92%);margin:0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);padding:clamp(var(--space-5),6vh,var(--space-10)) var(--space-5);text-align:center}.empty-state-icon-wrap{display:inline-flex;align-items:center;justify-content:center;color:var(--color-text-tertiary)}.empty-state-title{margin:0;color:var(--color-text-primary);font-size:var(--font-size-base);font-weight:var(--font-semibold);line-height:var(--leading-tight)}.empty-state-message{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-base);line-height:var(--leading-normal)}.empty-state-hint{margin:0;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-tertiary);font-size:var(--font-size-sm);line-height:var(--leading-normal)}kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--color-border-primary);border-radius:var(--radius-md);background:var(--color-bg-secondary);box-shadow:0 1px 0 var(--color-border-primary);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--font-size-xs, 11px);font-weight:var(--font-weight-medium);line-height:1;white-space:nowrap}.empty-panel{background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center}.empty-panel-content{transform:translateY(-2%)}.empty-panel-icon{color:var(--color-text-tertiary)}.empty-panel-message{max-width:34ch}.empty-panel-hint{text-transform:none}.empty-state-capabilities{list-style:none;margin:var(--space-2) 0 0;padding:0;display:flex;flex-direction:column;gap:var(--space-2);text-align:left}.empty-state-capability{display:flex;align-items:center;gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);line-height:var(--leading-normal)}.empty-state-capability svg{flex-shrink:0;color:var(--color-text-tertiary)}.terminal-panel-content,.shell-panel-content,.agent-panel-content{background:color-mix(in srgb,var(--color-term-bg) 16%,var(--color-bg-secondary));display:flex;flex-direction:column}.panel-content.terminal-panel-content:not(.agent-panel-content),.panel-content.shell-panel-content{border-top:1px solid var(--color-border-secondary)}.right-rail-panel{background:var(--color-bg-secondary)}.agent-panel-content{border-left:1px solid var(--color-border-secondary)}.dockview-theme-abyss{--dv-tabs-and-actions-container-height: 36px;--dv-tab-margin: 0;--dv-tab-font-size: var(--text-sm);--dv-activegroup-visiblepanel-tab-background-color: var(--color-bg-primary);--dv-activegroup-hiddenpanel-tab-background-color: var(--color-bg-secondary);--dv-inactivegroup-visiblepanel-tab-background-color: var(--color-bg-secondary);--dv-inactivegroup-hiddenpanel-tab-background-color: var(--color-bg-tertiary);--dv-tab-divider-color: var(--color-border-primary);--dv-activegroup-visiblepanel-tab-color: var(--color-text-primary);--dv-activegroup-hiddenpanel-tab-color: var(--color-text-secondary);--dv-inactivegroup-visiblepanel-tab-color: var(--color-text-primary);--dv-inactivegroup-hiddenpanel-tab-color: var(--color-text-secondary);--dv-separator-border: transparent;--dv-paneview-header-border-color: var(--color-border-primary);--dv-tabs-and-actions-container-background-color: var(--color-bg-tertiary);--dv-group-view-background-color: var(--color-bg-primary);--dv-icon-hover-background-color: var(--color-bg-tertiary)}.dockview-theme-abyss .tabs-container,.dockview-theme-abyss .dv-tabs-container{background:var(--color-bg-tertiary)}.dockview-theme-abyss .tab,.dockview-theme-abyss .dv-tab{font-family:var(--font-sans);font-size:var(--text-sm)}.dockview-theme-abyss .dv-tab{margin:0;padding:0 var(--spacing-md, 12px);border-right:1px solid var(--color-border-secondary);border-top-left-radius:0;border-top-right-radius:0}.dockview-theme-abyss .dv-tabs-container>.dv-tab:last-child{border-right:none}.dockview-theme-abyss .dv-tab .ui-dv-tab{position:relative;width:100%;height:100%;display:flex;align-items:center;gap:var(--space-1)}.dockview-theme-abyss .dv-tab .ui-dv-tab:after{content:"";position:absolute;left:4px;right:4px;bottom:0;height:2px;border-radius:2px 2px 0 0;background:var(--color-accent-default);opacity:0;transition:opacity var(--transition-fast)}.dockview-theme-abyss .dv-tab.dv-active-tab .ui-dv-tab:after{opacity:1}.dockview-theme-abyss .dv-tab .ui-dv-tab-default{min-height:36px}.dockview-theme-abyss .dv-tab .ui-dv-tab-compact{min-height:32px}.dockview-theme-abyss .dv-tab .dv-default-tab-content{margin-right:var(--space-1);overflow:hidden;text-overflow:ellipsis;font-weight:var(--font-normal);display:inline-flex;align-items:center;gap:5px}.dv-tab-icon{flex-shrink:0;opacity:.7}.dockview-theme-abyss .dv-tab.dv-active-tab .dv-default-tab-content{color:var(--color-text-primary);font-weight:var(--font-medium)}.dockview-theme-abyss .dv-tab.dv-inactive-tab .dv-default-tab-content{color:var(--color-text-secondary)}.dockview-theme-abyss .dv-tab .ui-dv-tab-close{width:20px;height:20px;border:none;border-radius:var(--radius-md);padding:0;background:transparent;color:var(--color-icon-secondary);opacity:0;pointer-events:none;transition:opacity var(--transition-fast),color var(--transition-fast),background var(--transition-fast)}.dockview-theme-abyss .dv-tab .ui-dv-tab-close svg{width:14px;height:14px}.dockview-theme-abyss .dv-tab .ui-dv-tab-close:hover{color:var(--color-icon-primary);background:var(--color-bg-tertiary)}.dockview-theme-abyss .dv-tab:hover .ui-dv-tab-close,.dockview-theme-abyss .dv-tab.dv-active-tab .ui-dv-tab-close{opacity:1;pointer-events:auto}.dockview-theme-abyss .dv-groupview.dv-active-group>.dv-content-container{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-default) 26%,transparent)}.dockview-theme-abyss .tabs-and-actions-container{background:var(--color-bg-tertiary)!important;border-bottom:1px solid var(--color-border-primary)}.dockview-theme-abyss .dv-tabs-and-actions-container{height:36px;min-height:36px;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border-primary)}.dockview-theme-abyss .dv-tabs-and-actions-container.dv-single-tab{display:flex}.dockview-theme-abyss .dv-pane .dv-pane-body>.panel-content{animation:pane-content-fade-in var(--duration-default) var(--ease-out-fluid)}.dockview-theme-abyss .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled{width:6px;cursor:col-resize}.dockview-theme-abyss .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled{height:6px;cursor:row-resize}.dockview-theme-abyss .dv-split-view-container>.dv-sash-container>.dv-sash.dv-enabled:after{content:"";position:absolute;pointer-events:none;background:var(--color-border-secondary);opacity:1;transition:width var(--transition-fast),height var(--transition-fast),background-color var(--transition-fast)}.dockview-theme-abyss .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled:after{top:0;bottom:0;left:50%;width:1px;transform:translate(-50%)}.dockview-theme-abyss .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled:after{left:0;right:0;top:50%;height:1px;transform:translateY(-50%)}.dockview-theme-abyss .dv-split-view-container>.dv-sash-container>.dv-sash.dv-enabled:hover:after,.dockview-theme-abyss .dv-split-view-container>.dv-sash-container>.dv-sash.dv-enabled:active:after{background:var(--color-accent-default)}.dockview-theme-abyss .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled:hover:after,.dockview-theme-abyss .dv-split-view-container.dv-horizontal>.dv-sash-container>.dv-sash.dv-enabled:active:after{width:4px}.dockview-theme-abyss .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled:hover:after,.dockview-theme-abyss .dv-split-view-container.dv-vertical>.dv-sash-container>.dv-sash.dv-enabled:active:after{height:4px}.tab-header-actions{display:flex;align-items:center;gap:2px}.tab-collapse-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;margin-right:var(--space-1);padding:0;border:1px solid transparent;background:transparent;color:var(--color-icon-primary);cursor:pointer;border-radius:var(--radius-md);flex-shrink:0}.tab-collapse-btn:hover{background:var(--color-bg-tertiary);color:var(--color-accent-default)}.tab-collapse-btn:active{background:var(--color-bg-active);border-color:color-mix(in srgb,var(--color-accent-default) 40%,var(--color-border-primary));box-shadow:var(--shadow-inset)}.app{display:flex;height:100vh;font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-border);gap:1px}.app>*{background:var(--color-bg-primary)}.sidebar{width:300px;padding:var(--space-2);box-sizing:border-box;overflow:auto}.file-tree{display:flex;flex-direction:column;width:100%;min-width:0;height:100%;font-size:var(--font-size-ui, 13px);background:var(--color-bg-secondary)}.file-tree-sections{flex:1;overflow:auto;padding:0 4px}.file-tree-section{margin-bottom:2px}.file-tree-section-header{display:flex;align-items:center;gap:var(--space-2);min-height:24px;padding:4px 8px;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:var(--radius-sm);font-size:var(--font-size-xs, 11px);font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);background:transparent;border:none;transition:background var(--transition-fast),color var(--transition-fast)}.file-tree-section-header:hover{background:var(--color-bg-hover);color:var(--color-text-secondary)}.file-tree-section-header.has-changes{color:var(--color-info)}.section-collapse-icon{font-size:var(--font-size-4xs);color:var(--color-text-tertiary);width:12px;text-align:center;transition:transform var(--transition-fast)}.file-tree-section-header:not(.collapsed) .section-collapse-icon{transform:rotate(90deg)}.section-icon{color:var(--color-text-tertiary);opacity:.95}.section-label{flex:1;letter-spacing:.01em}.file-tree-section-content{padding-left:10px;margin-left:10px;border-left:none;overflow:hidden;transition:max-height var(--transition-normal),opacity var(--transition-fast)}.section-folder-placeholder{color:var(--color-text-tertiary);font-style:italic}.section-folder-placeholder:hover{color:var(--color-text-secondary)}.section-empty-placeholder{color:var(--color-border-strong);font-style:italic;cursor:default}.section-empty-placeholder:hover{background:transparent}.config-file-item{margin-bottom:var(--space-1);padding-bottom:var(--space-1);border-bottom:1px solid var(--color-border)}.file-tree-section:last-child .file-tree-section-header{background:transparent;font-weight:var(--font-medium);font-size:var(--text-xs);color:var(--color-text-tertiary);padding:var(--space-1) var(--space-2);margin-top:var(--space-2)}.file-tree-section:last-child .file-tree-section-header:hover{background:var(--color-bg-secondary);color:var(--color-text-secondary)}.search-box{display:flex;align-items:center;gap:var(--space-1);min-height:36px;padding:0 var(--spacing-sm);margin:var(--spacing-1) var(--spacing-sm);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:6px;box-shadow:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.search-box:hover{border-color:var(--color-border-strong)}.search-box:focus-within{border-color:var(--color-accent-default);background:var(--color-bg-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-default) 22%,transparent)}.search-icon{display:flex;align-items:center;color:var(--color-text-tertiary);flex-shrink:0}.search-input{flex:1;border:none;background:transparent;font-size:var(--font-size-ui, 13px);font-family:inherit;color:var(--color-text-primary);outline:none}.search-input::placeholder{color:var(--color-text-tertiary)}.search-clear{display:flex;align-items:center;justify-content:center;width:16px;height:16px;border:none;background:none;border-radius:0;cursor:pointer;color:var(--color-icon-secondary);padding:0;flex-shrink:0;transition:color var(--transition-fast)}.search-clear:hover{background:none;color:var(--color-icon-primary)}.search-results{flex:1;overflow:auto}.file-tree-loading-state{margin:8px;padding:10px 12px;border-radius:var(--radius-md);background:var(--color-bg-primary);border:1px solid var(--color-border);color:var(--color-text-secondary);display:flex;flex-direction:column;gap:6px}.file-tree-loading-title{font-size:var(--font-size-ui, 13px);font-weight:500;color:var(--color-text-primary)}.file-tree-loading-detail{font-size:var(--font-size-sm, 12px);color:var(--color-text-secondary);line-height:1.4}.file-tree-loading-retry{align-self:flex-start;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);padding:4px 10px;font-size:var(--font-size-sm, 12px);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.file-tree-loading-retry:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.file-tree-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);padding:10px 10px 8px}.file-tree-skeleton-row{height:18px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-bg-tertiary) 20%,var(--color-bg-secondary) 45%,var(--color-bg-tertiary) 80%);background-size:300% 100%;animation:uiShimmer 1.2s ease-in-out infinite}.file-tree-skeleton-row.w-40{width:40%}.file-tree-skeleton-row.w-44{width:44%}.file-tree-skeleton-row.w-48{width:48%}.file-tree-skeleton-row.w-52{width:52%}.file-tree-skeleton-row.w-56{width:56%}.search-status{padding:var(--space-3) var(--space-2);color:var(--color-text-tertiary);font-size:var(--text-sm)}.search-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-xs, 4px);padding:var(--space-5) var(--space-3);text-align:center}.search-empty-icon{color:var(--color-text-tertiary)}.search-empty-title{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--font-medium)}.search-empty-hint{color:var(--color-text-tertiary);font-size:var(--text-xs)}.search-result-item{display:flex;align-items:flex-start;gap:var(--space-2);padding:var(--space-2);cursor:pointer;border-radius:var(--radius-sm)}.search-result-item:hover{background:var(--color-bg-tertiary)}.search-result-item:focus-visible{background:var(--color-bg-tertiary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,transparent)}.search-result-icon{flex-shrink:0;color:var(--color-text-tertiary);margin-top:1px}.search-result-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.search-result-name{font-size:var(--text-sm);color:var(--color-text-primary)}.search-result-name mark{background:var(--color-highlight);color:inherit;border-radius:var(--radius-xs)}.search-result-path{font-size:var(--text-xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.editor{flex:1;display:flex;flex-direction:column;box-sizing:border-box;overflow:auto}.tab-bar{display:flex;align-items:center;background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border);overflow-x:auto;flex-shrink:0}.tab-bar::-webkit-scrollbar{height:4px}.tab-bar::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:var(--radius-xs)}.tab{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);border-top:2px solid transparent;border-right:1px solid var(--color-border);background:var(--color-bg-tertiary);border-top-left-radius:var(--radius-tab);border-top-right-radius:var(--radius-tab);cursor:pointer;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap;transition:background var(--transition-fast),color var(--transition-fast)}.tab:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.tab-active{background:var(--color-bg-primary);color:var(--color-text-primary);font-weight:var(--font-medium);border-top-color:var(--color-accent-default)}.tab-name{max-width:160px;overflow:hidden;text-overflow:ellipsis}.tab-close{display:flex;align-items:center;justify-content:center;width:var(--height-xs);height:var(--height-xs);border:none;background:transparent;border-radius:var(--radius-tab);cursor:pointer;color:var(--color-text-tertiary);padding:0;opacity:0;transition:background var(--transition-fast),color var(--transition-fast)}.tab-close svg{width:14px;height:14px}.tab-close:hover{background:var(--color-border-strong);color:var(--color-text-primary)}.tab:hover .tab-close,.tab-active .tab-close{opacity:1}.tab-active .tab-close{color:var(--color-text-secondary)}.tab-active .tab-close:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.tab-git-status{font-size:var(--font-size-3xs);font-weight:var(--font-semibold);padding:1px 3px;border-radius:var(--radius-xs);flex-shrink:0}.tab-name-m{color:var(--color-git-modified)}.tab-name-u,.tab-name-a{color:var(--color-git-added)}.tab-name-d{color:var(--color-git-deleted)}.editor-empty{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-tertiary);font-size:var(--text-sm)}.editor-wrapper{display:flex;flex-direction:column;flex:1;min-height:0}.editor-toolbar{display:flex;align-items:center;justify-content:flex-start;min-height:36px;padding:4px var(--space-3);border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);flex-shrink:0}.editor-breadcrumbs{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-secondary);font-size:var(--text-xs)}.editor-breadcrumbs .crumb{display:inline-flex;align-items:center;gap:var(--space-1)}.editor-breadcrumbs .crumb-current{color:var(--color-text-primary);font-weight:var(--font-semibold)}.editor-breadcrumbs .crumb-sep{color:var(--color-scrollbar)}.editor-toolbar-right{display:flex;align-items:center;gap:var(--space-2);margin-left:auto}.editor-menu{display:flex;align-items:center;gap:2px;flex-wrap:wrap}.menu-group{display:flex;align-items:center;gap:2px}.menu-separator{width:1px;height:16px;background:var(--color-border-primary);margin:0 var(--space-1)}.editor-menu button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;background:transparent;border-radius:var(--radius-md);cursor:pointer;color:var(--color-icon-primary);font-size:var(--text-xs);font-weight:var(--font-medium);transition:background var(--transition-fast),color var(--transition-fast)}.editor-menu button:hover{background:var(--color-bg-tertiary);color:var(--color-accent-default)}.editor-menu button.is-active{background:var(--color-bg-tertiary);color:var(--color-accent-default);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent-default) 30%,transparent)}.editor-menu button:disabled{opacity:.4;cursor:not-allowed}.save-status{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0}.save-status-saving{color:var(--color-text-secondary)}.save-spinner{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes uiShimmer{0%{background-position:180% 0}to{background-position:-40% 0}}.save-status-dirty{color:var(--color-warning)}.save-dot{width:8px;height:8px;background:var(--color-warning);border-radius:var(--radius-full)}.save-status-saved{color:var(--color-success-hover)}.save-button{padding:var(--space-1) var(--space-3);border:none;background:var(--color-text-primary);color:var(--color-bg-secondary);border-radius:var(--radius-sm);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast)}.save-button:hover{background:var(--color-bg-active)}.editor-content{flex:1;overflow:auto;padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px);min-height:0;font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-normal)}.editor-content .tiptap{outline:none;min-height:100%;font-size:var(--text-sm);line-height:var(--leading-normal)}.editor-content .tiptap p.is-editor-empty:first-child:before{content:attr(data-placeholder);float:left;color:var(--color-text-tertiary);pointer-events:none;height:0}.editor-content .tiptap h1{font-size:1.875rem;font-weight:700;margin:1rem 0 .5rem;line-height:1.2}.editor-content .tiptap h2{font-size:1.5rem;font-weight:600;margin:1rem 0 .5rem;line-height:1.25}.editor-content .tiptap h3{font-size:1.25rem;font-weight:600;margin:.75rem 0 .5rem;line-height:1.3}.editor-content .tiptap p{margin:.5rem 0;line-height:1.6}.editor-content .tiptap ul,.editor-content .tiptap ol{padding-left:1.5rem;margin:.5rem 0}.editor-content .tiptap li{margin:.25rem 0}.editor-content .tiptap ul[data-type=taskList]{list-style:none;padding-left:0}.editor-content .tiptap ul[data-type=taskList] li{display:flex;align-items:flex-start;gap:var(--spacing-sm, 8px)}.editor-content .tiptap ul[data-type=taskList] li>label{flex-shrink:0;margin-top:3px}.editor-content .tiptap ul[data-type=taskList] li>div{flex:1}.editor-content .tiptap blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-4);margin:.5rem 0;color:var(--color-text-secondary);font-style:italic}.editor-content .tiptap pre{background:var(--color-pre-bg);color:var(--color-pre-text);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;margin:var(--space-3) 0;border:1px solid var(--color-border);box-shadow:var(--shadow-inset);position:relative}.editor-content .tiptap pre:before{content:attr(data-language);position:absolute;top:0;right:0;padding:var(--space-1) var(--space-2);font-size:var(--text-xs);color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;background:var(--color-overlay-subtle);border-radius:0 var(--radius-lg) 0 var(--radius-sm)}.editor-content .tiptap code{background:var(--color-code-bg);color:var(--color-accent);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-border)}.editor-content .tiptap pre code{background:none;padding:0;color:inherit;border:none;font-family:inherit;font-size:inherit}.editor-content .tiptap pre code .hljs-comment,.editor-content .tiptap pre code .hljs-quote{color:var(--syntax-comment);font-style:italic}.editor-content .tiptap pre code .hljs-keyword,.editor-content .tiptap pre code .hljs-selector-tag,.editor-content .tiptap pre code .hljs-built_in{color:var(--syntax-keyword)}.editor-content .tiptap pre code .hljs-string,.editor-content .tiptap pre code .hljs-title,.editor-content .tiptap pre code .hljs-section,.editor-content .tiptap pre code .hljs-attribute{color:var(--syntax-string)}.editor-content .tiptap pre code .hljs-number,.editor-content .tiptap pre code .hljs-literal,.editor-content .tiptap pre code .hljs-variable,.editor-content .tiptap pre code .hljs-template-variable,.editor-content .tiptap pre code .hljs-tag .hljs-attr{color:var(--syntax-number)}.editor-content .tiptap pre code .hljs-function,.editor-content .tiptap pre code .hljs-name{color:var(--syntax-function)}.editor-content .tiptap pre code .hljs-type,.editor-content .tiptap pre code .hljs-class .hljs-title{color:var(--syntax-class)}.editor-content .tiptap pre code .hljs-tag,.editor-content .tiptap pre code .hljs-tag .hljs-name{color:var(--syntax-operator)}.editor-content .tiptap pre code .hljs-regexp,.editor-content .tiptap pre code .hljs-link{color:var(--syntax-property)}.editor-content .tiptap pre code .hljs-symbol,.editor-content .tiptap pre code .hljs-bullet{color:var(--syntax-number)}.editor-content .tiptap pre code .hljs-meta{color:var(--syntax-punctuation)}.editor-content .tiptap pre code .hljs-deletion{color:var(--color-error);background:var(--color-error-bg)}.editor-content .tiptap pre code .hljs-addition{color:var(--color-success);background:var(--color-success-bg)}.editor-content .tiptap pre code .hljs-emphasis{font-style:italic}.editor-content .tiptap pre code .hljs-strong{font-weight:700}.editor-content .tiptap .editor-image{max-width:100%;height:auto;display:block;margin:var(--space-3) 0;border-radius:var(--radius-md)}.editor-content .tiptap .editor-image.ProseMirror-selectednode{outline:2px solid var(--color-accent);outline-offset:2px}.editor-content .tiptap .image-resizer{display:inline-flex;position:relative;flex-grow:0}.editor-content .tiptap .image-resizer .resize-trigger{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;background:var(--color-accent);border:2px solid white;border-radius:50%;cursor:nwse-resize;opacity:0;transition:opacity var(--transition-fast)}.editor-content .tiptap .image-resizer:hover .resize-trigger,.editor-content .tiptap .image-resizer.resizing .resize-trigger{opacity:1}.editor-content .tiptap mark{background:var(--color-highlight);padding:1px 2px;border-radius:var(--radius-xs)}.editor-content .tiptap a,.editor-content .tiptap a.editor-link{color:var(--color-info-hover);text-decoration:underline;cursor:pointer}.editor-content .tiptap a:hover{color:var(--color-info)}.editor-content .tiptap hr{border:none;border-top:1px solid var(--color-border);margin:var(--space-4) 0}.editor-content .tiptap table{border-collapse:collapse;margin:var(--space-4) 0;width:100%;table-layout:fixed;overflow:hidden}.editor-content .tiptap table td,.editor-content .tiptap table th{border:1px solid var(--color-border);padding:var(--space-2) var(--space-3);vertical-align:top;box-sizing:border-box;position:relative;min-width:80px}.editor-content .tiptap table th{background:var(--color-bg-secondary);font-weight:var(--font-semibold);text-align:left}.editor-content .tiptap table td>*,.editor-content .tiptap table th>*{margin:0}.editor-content .tiptap table .selectedCell:after{z-index:2;position:absolute;content:"";left:0;right:0;top:0;bottom:0;background:var(--color-selected);pointer-events:none}.editor-content .tiptap table .column-resize-handle{position:absolute;right:-2px;top:0;bottom:-2px;width:4px;background-color:var(--color-accent);cursor:col-resize}.editor-content .tiptap.resize-cursor{cursor:col-resize}.editor-content .tiptap img,.editor-content .tiptap img.editor-image{max-width:100%;height:auto;border-radius:var(--radius-md);margin:var(--space-3) 0;display:block}.editor-content .tiptap img.ProseMirror-selectednode{outline:2px solid var(--color-accent);outline-offset:2px}.editor-content .potion-content{outline:none;min-height:100%;font-size:var(--text-sm);line-height:var(--leading-normal)}.editor-content .potion-content h1{font-size:1.875rem;font-weight:700;margin:1rem 0 .5rem;line-height:1.2}.editor-content .potion-content h2{font-size:1.5rem;font-weight:600;margin:1rem 0 .5rem;line-height:1.25}.editor-content .potion-content h3{font-size:1.25rem;font-weight:600;margin:.75rem 0 .5rem;line-height:1.3}.editor-content .potion-content p,.editor-content .potion-content li{margin:.5rem 0;line-height:1.6}.editor-content .potion-content ul,.editor-content .potion-content ol{margin:.5rem 0;padding-left:1.5rem}.editor-content .potion-content ul{list-style:disc}.editor-content .potion-content ol{list-style:decimal}.editor-content .potion-content blockquote{border-left:3px solid var(--color-border);padding-left:var(--space-4);margin:.5rem 0;color:var(--color-text-secondary);font-style:italic}.editor-content .potion-content pre{background:var(--color-pre-bg);color:var(--color-pre-text);padding:var(--space-4);border-radius:var(--radius-lg);overflow-x:auto;font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;margin:var(--space-3) 0;border:1px solid var(--color-border);box-shadow:var(--shadow-inset)}.editor-content .potion-content code{background:var(--color-code-bg);color:var(--color-accent);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono);font-size:.875em;border:1px solid var(--color-border)}.editor-content .potion-content pre code{background:none;color:inherit;padding:0;border:none}.editor-content .potion-content a{color:var(--color-info-hover);text-decoration:underline}.editor-content .potion-content a:hover{color:var(--color-info)}.file-item{display:flex;align-items:center;gap:var(--space-2);min-height:28px;padding:4px 16px;margin:0;cursor:pointer;font-size:var(--font-size-ui, 13px);line-height:1.35;border-radius:6px;transition:background var(--transition-fast),color var(--transition-fast),box-shadow var(--transition-fast)}.file-item:hover{background:var(--color-bg-hover)}.file-item:focus{outline:none;box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent) 22%,transparent)}.file-item-active{background:var(--color-selected);font-weight:var(--font-medium);border-left:none;box-shadow:inset 2px 0 0 var(--color-accent)}.file-item-active:hover{background:var(--color-selected-hover)}.file-item-active .file-item-name{color:var(--color-accent)}.file-item-new{background:var(--color-success-light)}.file-item-icon{flex-shrink:0;font-size:var(--text-sm);width:16px;text-align:center;color:var(--color-text-tertiary);transition:color var(--transition-fast)}.file-item-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;transition:color var(--transition-fast)}.folder-new-file-btn{display:inline-flex;align-items:center;justify-content:center;width:var(--height-xs);height:var(--height-xs);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-tertiary);opacity:0;pointer-events:none;transition:opacity var(--transition-fast),background var(--transition-fast),color var(--transition-fast)}.file-item:hover .folder-new-file-btn,.folder-new-file-btn:focus-visible{opacity:1;pointer-events:auto}.folder-new-file-btn:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.git-status-badge{flex-shrink:0;font-size:var(--text-xs);font-weight:var(--font-semibold);padding:1px var(--space-1);border-radius:var(--radius-sm);text-transform:uppercase}.git-status-modified{background:var(--color-git-modified-bg);color:var(--color-git-modified)}.git-status-untracked,.git-status-new,.git-status-added{background:var(--color-git-added-bg);color:var(--color-git-added)}.git-status-deleted,.git-status-conflict{background:var(--color-git-deleted-bg);color:var(--color-git-deleted)}.dir-changes-dot{width:6px;height:6px;background:var(--color-git-modified);border-radius:var(--radius-full);flex-shrink:0}.file-item.has-changes>.file-item-name{color:var(--color-git-modified)}.file-name-m{color:var(--color-git-modified)}.file-name-u,.file-name-a{color:var(--color-git-added)}.file-name-d{color:var(--color-git-deleted)}.context-menu{position:fixed;z-index:var(--z-context-menu);min-width:160px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1) 0;animation:contextMenuFadeIn var(--duration-fast) var(--ease-out-fluid)}.context-menu-item{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer;color:var(--color-text-primary)}.context-menu-item:hover{background:var(--color-bg-tertiary)}.context-menu-separator{height:1px;background:var(--color-border);margin:var(--space-1) 0}.context-menu-danger{color:var(--color-error-hover)}.context-menu-danger:hover{background:var(--color-error-light)}.rename-input{flex:1;border:1px solid var(--color-accent);background:var(--color-bg-primary);padding:2px var(--space-1);font-size:var(--text-sm);font-family:inherit;border-radius:var(--radius-sm);outline:none;min-width:0;color:var(--color-text-primary);box-shadow:var(--shadow-focus);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.file-item.drag-over{background:var(--color-info-light);border-radius:var(--radius-sm)}.drop-hint{font-size:var(--text-xs);color:var(--color-info-hover);font-weight:var(--font-normal)}.notice{display:flex;gap:var(--space-3);align-items:center;padding:var(--space-2) var(--space-3);margin-bottom:var(--space-2);background:var(--color-warning-light);border:1px solid var(--color-warning);border-radius:var(--radius-md);font-size:var(--text-sm)}.notice button{border:none;background:var(--color-text-primary);color:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);cursor:pointer}.terminal-panel{width:360px;border-left:1px solid var(--color-border);background:var(--color-pre-bg);display:flex;flex-direction:column}.terminal-panel-content .terminal,.shell-panel-content .terminal{flex:1}.shell-header{display:flex;align-items:center;gap:var(--space-2);height:32px;min-height:32px;padding:0 var(--space-2);background:color-mix(in srgb,var(--color-bg-tertiary) 70%,var(--color-bg-secondary));border-bottom:1px solid var(--color-border);font-size:var(--text-xs)}.shell-session-bar{display:flex;align-items:center;gap:var(--space-2);flex:1}.shell-panel-content .terminal-select{flex:1;min-width:0}.terminal-header,.agent-header{display:flex;align-items:center;gap:var(--space-2);height:32px;min-height:32px;padding:0 var(--space-2);background:color-mix(in srgb,var(--color-bg-tertiary) 70%,var(--color-bg-secondary));border-bottom:1px solid var(--color-border);font-size:var(--text-xs);color:var(--color-text-secondary)}.terminal-header .sidebar-toggle-btn,.agent-header .sidebar-toggle-btn{flex-shrink:0}.terminal-header-spacer,.agent-header-spacer{flex:1}.terminal-title-text{font-weight:var(--font-semibold);color:var(--color-text-primary);font-size:var(--font-size-ui, 13px);line-height:20px}.terminal-icon-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.terminal-icon-btn:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.terminal-icon-btn.terminal-close-btn:hover{background:var(--color-error-bg);color:var(--color-error)}.view-mode-toggle{display:inline-flex;background:var(--color-bg-active);border-radius:var(--radius-md);padding:2px;gap:2px}.view-mode-btn{min-height:var(--height-sm);padding:var(--space-1) var(--space-2);border:none;background:transparent;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.view-mode-btn:hover{color:var(--color-text-primary)}.view-mode-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.terminal-provider-label{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-secondary)}.terminal-provider-select{min-width:110px}.terminal-meta{font-weight:var(--font-medium);color:var(--color-text-secondary);margin-left:var(--space-2)}.status-dot{width:8px;height:8px;border-radius:var(--radius-full);background:var(--color-success-hover);box-shadow:none}.terminal-body,.agent-body{flex:1;min-height:0;position:relative}.agent-panel-content .agent-body{display:flex;flex-direction:column;min-height:0;position:relative;overflow:hidden}.agent-panel-content .agent-header{border-bottom:1px solid var(--color-border-secondary);background:var(--color-bg-secondary)}.agent-panel-content .agent-instance{position:relative;inset:auto;opacity:1;visibility:visible;pointer-events:auto;display:flex;flex-direction:column;flex:1;min-height:0}.agent-panel-content .provider-agent{display:flex;flex-direction:column;flex:1;min-height:0}.agent-panel-content .provider-pi-native{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.agent-panel-content .provider-pi-native .pi-native-wrapper{display:flex;flex:1;min-height:0;width:100%;height:100%}.agent-connecting-state{display:flex;flex:1;width:100%;height:100%;min-height:0;align-items:center;justify-content:center;text-align:center;color:var(--color-text-tertiary)}.agent-panel-content .pi-agent-frame{flex:1;min-height:0}.pi-backend-chat{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--color-bg-primary)}.pi-backend-messages{flex:1;min-height:0;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.pi-backend-row{display:flex}.pi-backend-row.is-user{justify-content:flex-end}.pi-backend-row.is-assistant{justify-content:flex-start;flex-direction:column;align-items:flex-start}.pi-backend-bubble{max-width:92%;white-space:pre-wrap;word-break:break-word;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);padding:var(--space-2) var(--space-3);color:var(--color-text-primary);font-size:var(--text-sm);line-height:var(--leading-relaxed)}.pi-backend-row.is-user .pi-backend-bubble{max-width:85%;margin-left:var(--space-6);border-radius:12px 12px 4px;background:var(--color-bg-tertiary);border-color:color-mix(in srgb,var(--color-border) 75%,var(--color-ai-agent) 25%)}.pi-backend-row.is-assistant .pi-backend-bubble{max-width:95%;border:none;background:transparent;padding-inline:0}.pi-backend-bubble.is-streaming:after{content:"";display:inline-block;width:6px;height:1em;margin-left:2px;vertical-align:middle;background:var(--color-ai-agent);animation:blink 1s step-start infinite}.pi-backend-composer{border-top:1px solid var(--color-border);padding:var(--space-4);display:flex;gap:var(--space-2);align-items:flex-end;flex-shrink:0;background:var(--color-bg-primary)}.pi-backend-input{flex:1;min-height:44px;max-height:180px;resize:vertical;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-bg-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-sm);line-height:var(--leading-relaxed);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.pi-backend-input::placeholder{color:var(--color-text-placeholder)}.pi-backend-input:focus-visible{outline:none;border-color:var(--color-accent-default);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-accent-default) 20%,transparent)}.pi-backend-send{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:var(--color-ai-agent);color:var(--color-ai-agent-foreground);min-height:var(--height-sm);padding:4px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast),transform var(--transition-fast)}.pi-backend-send:hover{background:var(--color-ai-agent-hover)}.pi-backend-send:active{transform:scale(.97)}.pi-backend-send:disabled{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary);opacity:.55;cursor:not-allowed;transform:none}.pi-backend-error{padding:var(--space-2) var(--space-3);border-top:1px solid var(--color-border);color:var(--color-error);background:var(--color-error-bg);font-size:var(--text-xs)}@keyframes blink{50%{opacity:0}}.agent-session-toolbar{display:inline-flex;align-items:center;gap:0}.agent-session-toolbar .terminal-select{border-top-right-radius:0;border-bottom-right-radius:0;border-right:none}.agent-session-toolbar .terminal-new-icon{border:1px solid var(--color-border);border-left:none;border-radius:0 var(--radius-md) var(--radius-md) 0}.agent-session-select{min-width:140px;max-width:220px;background-color:var(--color-bg-secondary)}.agent-session-select option{background-color:var(--color-bg-primary);color:var(--color-text-primary)}.terminal-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm)}.terminal-empty .terminal-new{background:var(--color-text-primary);color:var(--color-text-inverse);border:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer}.terminal{height:100%;padding:var(--spacing-sm) var(--spacing-md);box-sizing:border-box}.terminal .xterm{height:100%;-webkit-user-select:text;user-select:text}.terminal .xterm-screen{-webkit-user-select:text;user-select:text}.terminal .xterm-viewport{scrollbar-width:thin;scrollbar-color:var(--color-scrollbar) transparent}.terminal .xterm-viewport::-webkit-scrollbar{width:8px}.terminal .xterm-viewport::-webkit-scrollbar-track{background:transparent}.terminal .xterm-viewport::-webkit-scrollbar-thumb{background:var(--color-scrollbar);border-radius:var(--radius-full)}.terminal-select{border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);min-height:var(--height-md);padding:6px 24px 6px 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-family:var(--font-sans);cursor:pointer;transition:border-color var(--transition-fast),background var(--transition-fast);-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 6px center}.terminal-select:hover{border-color:var(--color-border-strong);background:var(--color-bg-tertiary)}.terminal-select:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.terminal-select option{background:var(--color-bg-primary);color:var(--color-text-primary);padding:var(--space-1)}.terminal-new{border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);min-height:var(--height-sm);padding:4px 12px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-medium);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.terminal-new:hover{background:var(--color-bg-tertiary);border-color:var(--color-border-strong)}.terminal-new-icon{width:28px;height:28px;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-secondary);border:none;padding:0;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-base);line-height:1;cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.terminal-new-icon:hover{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.terminal-instance{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;visibility:hidden;pointer-events:none}.terminal-instance.active{opacity:1;visibility:visible;pointer-events:auto}.diff-panel{margin:0 var(--space-4) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-secondary);overflow:hidden;display:flex;flex-direction:column;flex:1;min-height:0;box-shadow:var(--shadow-card)}.diff-panel-inline{margin:0}.diff-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-text-primary);color:var(--color-bg-secondary);font-size:var(--text-xs);letter-spacing:.08em;text-transform:uppercase}.diff-header-actions{display:flex;align-items:center;gap:var(--space-2)}.diff-header button{border:1px solid var(--color-bg-secondary);background:transparent;color:var(--color-bg-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--text-xs);cursor:pointer}.diff-header button.diff-toggle-active{background:var(--color-bg-secondary);color:var(--color-text-primary)}.diff-refresh{border:1px solid var(--color-text-primary);background:var(--color-bg-primary);color:var(--color-text-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);cursor:pointer}.diff-refresh:disabled{opacity:.5;cursor:default}.diff-toggle-wrapper{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-primary)}.switch{position:relative;width:44px;height:24px;border-radius:var(--radius-full);border:1px solid var(--color-border-strong);background:var(--color-bg-active);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),box-shadow var(--transition-fast);padding:0}.switch:hover{border-color:var(--color-text-tertiary)}.switch:focus-visible{box-shadow:var(--shadow-focus)}.switch-thumb{position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:var(--radius-full);background:var(--color-bg-primary);box-shadow:var(--shadow-sm);transition:transform var(--transition-normal)}.switch.switch-on{background:var(--color-accent);border-color:var(--color-accent)}.switch.switch-on:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.switch.switch-on .switch-thumb{transform:translate(20px)}.diff-toggle-label{line-height:1}.diff-toggle:disabled{opacity:.5;cursor:default}.editor-mode-dropdown{position:relative;display:inline-flex}.editor-mode-trigger{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);min-height:24px;padding:0 8px;border:1px solid var(--color-border-primary);background:var(--color-bg-tertiary);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-text-secondary);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.editor-mode-trigger:hover{color:var(--color-text-primary);background:var(--color-bg-secondary)}.editor-mode-chevron{transition:transform var(--transition-fast)}.editor-mode-chevron.open{transform:rotate(180deg)}.editor-mode-menu{position:absolute;top:calc(100% + 4px);right:0;min-width:200px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;z-index:var(--z-sticky)}.editor-mode-content{min-width:200px;background:var(--color-bg-secondary);border:1px solid var(--color-border-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;z-index:var(--z-sticky)}.editor-mode-option{display:flex;align-items:center;gap:var(--spacing-sm, 8px);width:100%;padding:6px 8px;border:none;background:transparent;border-radius:3px;font-size:var(--text-xs);color:var(--color-text-secondary);cursor:pointer;text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.editor-mode-item{display:flex;align-items:center;gap:var(--spacing-sm, 8px);width:100%;padding:6px 8px;border-radius:3px;font-size:var(--text-xs);color:var(--color-text-secondary);text-align:left;transition:background var(--transition-fast),color var(--transition-fast)}.editor-mode-option:hover,.editor-mode-item:hover,.editor-mode-item[data-highlighted]{background:var(--color-bg-tertiary);color:var(--color-text-primary)}.editor-mode-option.active,.editor-mode-item.active{color:var(--color-text-primary);background:var(--color-bg-active)}.editor-mode-option-label{font-weight:var(--font-medium);white-space:nowrap}.editor-mode-option-desc{color:var(--color-text-tertiary);font-size:var(--font-size-2xs);white-space:nowrap}.diff-mode-label{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:var(--font-medium)}.diff-editor-wrapper{flex:1;min-height:0;overflow:auto;padding:var(--spacing-lg, 16px) var(--spacing-xl, 20px)}.diff-editor-wrapper .ProseMirror{outline:none;min-height:100%}.diff-editor-wrapper .ProseMirror .diff-line-added,.diff-line-added{background-color:var(--color-diff-add-bg)!important;border-left:3px solid var(--color-git-added)}.diff-editor-wrapper .ProseMirror .diff-line-added,.diff-editor-wrapper .ProseMirror p.diff-line-added,.diff-line-added p,.diff-line-added h1,.diff-line-added h2,.diff-line-added h3{background-color:var(--color-diff-add-bg)!important;border-left:3px solid var(--color-git-added);color:var(--color-diff-add-text)!important}.diff-deleted-block{background-color:var(--color-diff-remove-bg);border-left:3px solid var(--color-git-deleted);margin:0;padding:0;position:relative}.diff-deleted-line{padding:var(--space-1) var(--space-2);font-family:var(--font-mono);font-size:var(--text-sm);line-height:1.6;color:var(--color-diff-remove-text)}.diff-copy-btn{position:absolute;right:var(--space-1);top:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-medium);line-height:1;background:var(--color-diff-copy-bg);border:1px solid var(--color-diff-copy-border);border-radius:var(--radius-sm);color:var(--color-git-deleted);cursor:pointer;opacity:0;transition:opacity var(--transition-fast),background var(--transition-fast);z-index:var(--z-sticky);display:flex;align-items:center;gap:var(--space-1)}.diff-deleted-block:hover .diff-copy-btn{opacity:1}.diff-copy-btn:hover{background:var(--color-diff-copy-hover-bg);border-color:var(--color-git-deleted)}.diff-word-removed{background-color:var(--color-diff-word-removed-bg);text-decoration:line-through;border-radius:var(--radius-xs);padding:1px 2px}.diff-word-added{background-color:var(--color-diff-word-added-bg);border-radius:var(--radius-xs);padding:1px 2px}.diff-error{padding:var(--space-2) var(--space-3);color:var(--color-error-hover);background:var(--color-error-light);font-size:var(--text-sm)}.diff-loading{padding:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center}.diff-empty{min-height:100%;color:var(--color-text-tertiary)}.diff-empty-icon-wrap{color:var(--color-text-secondary)}.diff-empty-message{max-width:38ch}.diff-empty.diff-empty-error .diff-empty-icon-wrap{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 12%,var(--color-bg-primary));border-color:color-mix(in srgb,var(--color-error) 35%,var(--color-border-primary))}.diff-empty.diff-empty-error .diff-empty-title{color:color-mix(in srgb,var(--color-error) 85%,var(--color-text-primary))}.diff-content{font-family:var(--font-mono);font-size:var(--text-xs);overflow:auto;flex:1}.diff-file-header{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);background:var(--color-bg-tertiary);font-weight:var(--font-semibold)}.diff-content .diff{background:var(--color-bg-secondary)}.diff-content .diff-gutter{background:var(--color-bg-tertiary)}.diff-content .diff-line{padding:0 8px}.diff-content .diff-code-insert{background-color:var(--color-diff-add-bg)!important}.diff-content .diff-code-insert .diff-code{color:var(--color-diff-add-text)!important}.diff-content .diff-gutter-insert{background-color:var(--color-diff-add-bg)!important;color:var(--color-diff-add-text)!important}.diff-content .diff-code-delete{background-color:var(--color-diff-remove-bg)!important}.diff-content .diff-code-delete .diff-code{color:var(--color-diff-remove-text)!important}.diff-content .diff-gutter-delete{background-color:var(--color-diff-remove-bg)!important;color:var(--color-diff-remove-text)!important}.diff-content .diff-code{color:var(--color-text-primary)}.diff-content .diff-gutter{color:var(--color-text-tertiary)}[data-theme=dark]{--diff-code-insert-background-color: var(--color-diff-add-bg);--diff-gutter-insert-background-color: var(--color-diff-add-bg);--diff-code-insert-text-color: var(--color-diff-add-text);--diff-gutter-insert-text-color: var(--color-diff-add-text);--diff-code-delete-background-color: var(--color-diff-remove-bg);--diff-gutter-delete-background-color: var(--color-diff-remove-bg);--diff-code-delete-text-color: var(--color-diff-remove-text);--diff-gutter-delete-text-color: var(--color-diff-remove-text);--diff-code-insert-edit-background-color: color-mix(in srgb, var(--color-diff-add-bg) 80%, var(--color-git-added));--diff-code-delete-edit-background-color: color-mix(in srgb, var(--color-diff-remove-bg) 80%, var(--color-git-deleted))}.approval-panel{margin:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-pre-bg);color:var(--color-pre-text);display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.review-panel-content{display:flex;flex-direction:column;min-height:0}.review-panel-content .approval-panel{margin:12px}.terminal-panel-content .approval-panel{flex:0 0 auto;max-height:60%;overflow:auto;margin:8px}.terminal-approval-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:linear-gradient(135deg,var(--color-info-light) 0%,var(--color-pre-bg) 100%);border-bottom:1px solid var(--color-border-strong);flex-wrap:wrap}.terminal-approval-banner .approval-badge{background:var(--color-warning);color:var(--color-pre-bg);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:3px var(--space-2);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.terminal-approval-banner .approval-info{flex:1;font-size:var(--text-xs);color:var(--color-pre-text);font-family:var(--font-mono);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.terminal-approval-banner .approval-banner-actions{display:flex;gap:var(--space-2)}.terminal-approval-banner .approval-banner-actions button{border-radius:var(--radius-sm);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-medium);border:none;cursor:pointer;transition:background var(--transition-fast)}.terminal-approval-banner .approval-deny{background:var(--color-bg-active);color:var(--color-bg-tertiary)}.terminal-approval-banner .approval-deny:hover{background:var(--color-text-secondary)}.terminal-approval-banner .approval-allow{background:var(--color-success);color:var(--color-text-inverse)}.terminal-approval-banner .approval-allow:hover{background:var(--color-success-hover)}.editor-approval-banner{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-1) var(--space-3);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.editor-approval-banner .approval-badge{background:var(--color-warning);color:var(--color-text-inverse);font-size:var(--font-size-2xs);font-weight:var(--font-semibold);padding:2px var(--space-1);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px}.editor-approval-banner .approval-info{flex:1;font-size:var(--text-xs);color:var(--color-text-secondary)}.editor-approval-banner .approval-provider{text-transform:capitalize;font-weight:var(--font-medium);color:var(--color-text-primary)}.editor-approval-banner .approval-provider:after{content:" · ";color:var(--color-text-tertiary)}.editor-approval-banner .approval-session-name{color:var(--color-text-secondary)}.editor-approval-banner .approval-session-name:after{content:" · ";color:var(--color-text-tertiary)}.editor-approval-banner .approval-session-id{color:var(--color-text-tertiary);font-family:var(--font-mono);font-size:var(--text-xs)}.editor-approval-banner .approval-banner-actions{display:flex;gap:var(--spacing-sm, 8px)}.editor-approval-banner .approval-banner-actions button{border-radius:999px;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:var(--font-size-sm, 12px);cursor:pointer;border:none;transition:opacity var(--transition-fast)}.editor-approval-banner .approval-banner-actions button:hover{opacity:.85}.editor-approval-banner .approval-deny{background:var(--color-error);color:var(--color-bg-secondary)}.editor-approval-banner .approval-allow{background:var(--color-success-hover);color:var(--color-bg-secondary)}.approval-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-strong)}.approval-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-bg-secondary)}.approval-path{font-size:var(--text-xs);color:var(--color-text-tertiary);margin-top:var(--space-1)}.approval-meta{display:flex;gap:var(--space-4);padding:var(--space-2) var(--space-4);font-size:var(--text-xs);color:var(--color-text-tertiary);border-bottom:1px solid var(--color-border-strong)}.approval-feedback{padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:var(--space-1);background:var(--color-bg-secondary)}.approval-feedback label{font-size:var(--text-xs);color:var(--color-text-secondary)}.approval-feedback textarea{resize:vertical;border-radius:var(--radius-md);border:1px solid var(--color-border-strong);background:var(--color-bg-primary);color:var(--color-text-primary);padding:var(--space-2) var(--space-2);font-size:var(--text-xs);font-family:var(--font-mono)}.approval-feedback textarea::placeholder{color:var(--color-text-tertiary)}.approval-actions{display:flex;gap:var(--spacing-sm, 8px)}.review-panel-content .approval-actions{justify-content:flex-end;padding:var(--space-3) var(--space-4) var(--space-4);border-top:1px solid var(--color-border-strong);background:var(--color-pre-bg)}.approval-actions button{border-radius:var(--radius-full);padding:var(--space-1) var(--space-3);font-size:var(--text-xs);cursor:pointer;border:none}.approval-allow{background:var(--color-success-hover);color:var(--color-bg-secondary)}.approval-deny{background:var(--color-error);color:var(--color-bg-secondary)}.approval-secondary{background:transparent;border:1px solid var(--color-border-strong);color:var(--color-scrollbar)}.approval-diff{flex:1;min-height:0;background:var(--color-bg-secondary)}.approval-diff .diff{background:var(--color-bg-secondary);color:var(--color-text-primary)}.approval-diff .diff-gutter{background:var(--color-bg-tertiary)}.approval-diff .diff-line{color:var(--color-text-primary)}.review-list{border-top:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0;max-height:200px;overflow:auto;position:relative;z-index:var(--z-sticky)}.review-list-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-text-primary);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.review-list-badge{background:var(--color-warning);color:var(--color-text-inverse);font-size:var(--font-size-2xs);font-weight:var(--font-semibold);padding:2px var(--space-1);border-radius:var(--radius-full);min-width:18px;text-align:center}.review-list-items{display:flex;flex-direction:column}.review-list-item{display:flex;align-items:center;justify-content:space-between;padding:var(--space-2) var(--space-3);cursor:pointer;border-bottom:1px solid var(--color-border);transition:background var(--transition-fast)}.review-list-item:hover{background:var(--color-selected)}.review-list-item:last-child{border-bottom:none}.review-list-item-info{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}.review-list-item-name{font-size:var(--font-size-ui, 13px);font-weight:500;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-list-item-path{font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-list-item-actions{display:flex;gap:var(--space-1);flex-shrink:0;margin-left:var(--space-2)}.review-list-allow,.review-list-deny{width:24px;height:24px;border-radius:var(--radius-sm);border:none;cursor:pointer;font-size:var(--text-xs);display:flex;align-items:center;justify-content:center;transition:background var(--transition-fast)}.review-list-allow{background:var(--color-success-hover);color:var(--color-text-inverse)}.review-list-allow:hover{background:var(--color-success)}.review-list-deny{background:var(--color-error);color:var(--color-text-inverse)}.review-list-deny:hover{background:var(--color-error-hover)}.code-viewer{height:100%;overflow:auto;font-family:IBM Plex Mono,Monaco,Courier New,monospace;font-size:var(--font-size-ui, 13px);line-height:1.5}.code-viewer pre{margin:0;border-radius:0}.code-viewer-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-tertiary)}.code-empty-message{font-size:var(--font-size-base, 14px)}.editor-code-viewer{flex:1;min-height:0}.editor-panel-content .code-viewer{margin:0}.code-editor{display:flex;flex-direction:column;height:100%;min-height:0}.code-editor-toolbar{display:flex;align-items:center;justify-content:space-between;padding:var(--space-1) var(--space-3);background:var(--color-pre-bg);border-bottom:1px solid var(--color-border-strong);flex-shrink:0}.code-editor-language{font-size:var(--text-xs);font-weight:var(--font-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-tertiary);font-family:var(--font-mono)}.code-editor-status{display:flex;align-items:center}.code-editor-container{flex:1;min-height:0;overflow:auto;background:var(--color-pre-bg)}.code-editor-input{min-height:100%}.code-editor-textarea{outline:none!important;caret-color:var(--color-text-inverse)}.code-editor-pre{min-height:100%}.code-editor-line-number{display:table-cell;text-align:right;padding-right:var(--space-4);-webkit-user-select:none;user-select:none;opacity:.5;width:1%;white-space:nowrap;color:var(--color-text-tertiary)}.editor-code-editor{flex:1;min-height:0}.sidebar-view-toggle,.segmented-control{display:flex;align-items:center;gap:2px;background:var(--color-bg-active);border-radius:var(--radius-sm);padding:2px}.view-toggle-btn,.segmented-btn{display:flex;align-items:center;justify-content:center;width:var(--height-xs);height:var(--height-xs);border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);transition:all var(--transition-fast)}.view-toggle-btn:hover,.segmented-btn:hover{color:var(--color-text-primary)}.view-toggle-btn.active,.segmented-btn.active{background:var(--color-bg-primary);color:var(--color-text-primary);box-shadow:var(--shadow-sm)}.git-view-header-spinner{margin-left:4px;color:var(--color-text-tertiary);animation:spin .9s linear infinite}.git-changes-view{display:flex;flex-direction:column;flex:1;overflow:hidden;font-size:var(--text-xs)}.git-changes-loading,.git-changes-error{padding:var(--space-4);text-align:center;color:var(--color-text-tertiary);font-size:var(--text-xs)}.git-changes-loading{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%}.git-changes-error{color:var(--color-error);display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm, 8px)}.git-inline-spinner{animation:spin .9s linear infinite}.git-changes-retry{border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-secondary);color:var(--color-text-primary);padding:4px 10px;font-size:var(--font-size-sm, 12px);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.git-changes-retry:hover{background:var(--color-bg-hover);border-color:var(--color-border-strong)}.git-changes-empty{min-height:100%}.git-changes-empty-icon-wrap{color:var(--color-success-hover);background:color-mix(in srgb,var(--color-success) 14%,var(--color-bg-primary));border-color:color-mix(in srgb,var(--color-success) 30%,var(--color-border-primary))}.git-changes-empty-icon{color:inherit}.git-changes-summary{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs);font-weight:var(--font-weight-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-bottom:1px solid var(--color-border)}.git-changes-list{flex:1;overflow:auto}.git-changes-group{margin-bottom:var(--space-1)}.git-changes-group-header{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-2xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-secondary);background:var(--color-bg-secondary)}.git-changes-group-label{flex:1}.git-change-item{display:flex;align-items:flex-start;gap:var(--space-1);padding:5px var(--space-2) 5px var(--space-4);cursor:pointer;transition:background var(--transition-fast)}.git-change-item:hover{background:var(--color-bg-tertiary)}.git-change-item:focus-visible{background:var(--color-bg-tertiary);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 35%,transparent)}.git-change-item-active{background:var(--color-selected)}.git-change-item-active:hover{background:var(--color-selected-hover)}.git-change-icon{font-size:var(--font-size-xs, 11px);flex-shrink:0;margin-top:1px}.git-change-info{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}.git-change-name{font-size:var(--font-size-sm, 12px);font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.git-change-path{font-size:var(--font-size-2xs);color:var(--color-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.diff-raw{height:100%;overflow:auto;background:var(--color-pre-bg)}.diff-raw-content{margin:0;padding:var(--space-3) var(--space-4);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;color:var(--color-border);white-space:pre;overflow-x:auto}.code-viewer-container{display:flex;flex-direction:column;flex:1;min-height:0}.code-viewer-toolbar{display:flex;align-items:center;justify-content:flex-end;min-height:36px;padding:4px var(--space-3);border-bottom:1px solid var(--color-border-primary);background:var(--color-bg-secondary);flex-shrink:0}.code-diff-view{flex:1;min-height:0;overflow:auto}.editor-loading-state{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-xl)}.editor-loading-progress{width:100%;height:4px;border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--color-accent) 12%,transparent) 0%,var(--color-accent) 45%,color-mix(in srgb,var(--color-accent) 12%,transparent) 100%);background-size:220% 100%;animation:uiShimmer 1s linear infinite}.editor-loading-skeleton{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px)}.editor-loading-line{height:14px;border-radius:var(--radius-sm);background:linear-gradient(90deg,var(--color-bg-tertiary) 20%,var(--color-bg-primary) 45%,var(--color-bg-tertiary) 80%);background-size:250% 100%;animation:uiShimmer 1.2s ease-in-out infinite}.editor-loading-line.w-58{width:58%}.editor-loading-line.w-65{width:65%}.editor-loading-line.w-70{width:70%}.editor-loading-line.w-75{width:75%}.editor-loading-line.w-80{width:80%}.editor-loading-error{background:transparent;max-width:none;border:none;text-align:center;gap:var(--spacing-sm);color:var(--color-text-secondary)}.editor-loading-title{font-size:var(--font-size-ui, 13px);font-weight:600;color:var(--color-text-primary)}.editor-loading-detail{font-size:var(--font-size-sm, 12px);color:var(--color-text-secondary);line-height:1.45}.editor-loading-retry{align-self:center;border:none;border-radius:var(--radius-md);background:var(--color-error-bg);color:var(--color-error);padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.editor-loading-retry:hover{background:color-mix(in srgb,var(--color-error) 20%,transparent)}.frontmatter-editor{border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-shrink:0;--frontmatter-line-gutter: 4ch}.frontmatter-editor.has-error{border-bottom-color:var(--color-error)}.frontmatter-header{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);cursor:pointer;-webkit-user-select:none;user-select:none;transition:background var(--transition-fast)}.frontmatter-header:hover{background:var(--color-bg-tertiary)}.frontmatter-toggle{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;border-radius:var(--radius-sm);cursor:pointer;color:var(--color-text-secondary);padding:0;flex-shrink:0}.frontmatter-toggle:hover{background:var(--color-bg-active);color:var(--color-text-primary)}.frontmatter-label{font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary)}.frontmatter-badge{font-size:var(--font-size-3xs);font-weight:var(--font-semibold);padding:2px var(--space-1);border-radius:var(--radius-sm);background:var(--color-info-bg);color:var(--color-indigo);text-transform:uppercase}.frontmatter-error-badge{font-size:var(--font-size-3xs);font-weight:var(--font-semibold);padding:2px var(--space-1);border-radius:var(--radius-sm);background:var(--color-error-bg);color:var(--color-error);text-transform:uppercase}.frontmatter-hint{font-size:var(--text-xs);color:var(--color-text-tertiary);font-style:italic}.frontmatter-content{border-top:1px solid var(--color-border)}.frontmatter-editor-wrapper{position:relative}.frontmatter-placeholder{position:absolute;top:var(--space-3);left:calc(var(--space-3) + var(--frontmatter-line-gutter));color:var(--color-text-secondary);font-family:var(--font-mono);font-size:var(--text-xs);line-height:1.5;white-space:pre;pointer-events:none;opacity:.5}.frontmatter-input{min-height:60px;max-height:200px;overflow:auto!important}.frontmatter-textarea{outline:none!important;caret-color:var(--color-text-inverse);resize:none;padding-left:calc(12px + var(--frontmatter-line-gutter))!important}.frontmatter-line-number{display:table-cell;text-align:right;padding-right:1ch;-webkit-user-select:none;user-select:none;opacity:.5;width:var(--frontmatter-line-gutter);box-sizing:border-box;white-space:nowrap;color:var(--color-text-tertiary)}.frontmatter-editor.collapsed .frontmatter-content{display:none}.frontmatter-editor.collapsed{background:var(--color-bg-secondary)}.frontmatter-editor.collapsed .frontmatter-header{padding:4px 12px}.frontmatter-changed-badge{font-size:var(--font-size-3xs);font-weight:var(--font-semibold);padding:2px var(--space-1);border-radius:var(--radius-sm);background:var(--color-success-bg);color:var(--color-success);text-transform:uppercase}.frontmatter-diff-container{display:flex;gap:1px;background:var(--color-diff-divider)}.frontmatter-diff-side{flex:1;min-width:0;display:flex;flex-direction:column}.frontmatter-diff-label{font-size:var(--font-size-2xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 12px;background:var(--color-bg-tertiary);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border)}.frontmatter-diff-original .frontmatter-diff-label{background:var(--color-error-light);color:var(--color-error-hover)}.frontmatter-diff-current .frontmatter-diff-label{background:var(--color-success-light);color:var(--color-success-hover)}.frontmatter-diff-content{flex:1;min-height:60px;background:var(--color-pre-bg)}.frontmatter-diff-pre{margin:0;padding:12px;font-family:var(--font-mono);font-size:var(--font-size-sm, 12px);line-height:1.5;color:var(--color-pre-text);min-height:60px;overflow:auto}.frontmatter-diff-empty{padding:12px;font-size:var(--font-size-sm, 12px);color:var(--color-text-secondary);font-style:italic}.user-menu{position:relative;width:100%}.user-menu-collapsed{width:auto}.user-menu-trigger{display:flex;align-items:center;gap:var(--space-2);width:100%;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--color-text-primary);padding:var(--spacing-sm);cursor:pointer;transition:background var(--transition-fast)}.user-menu-trigger:hover{background:var(--color-bg-hover)}.user-menu-trigger.compact{width:auto;justify-content:center;padding:4px}.user-avatar{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:var(--radius-full);background:var(--color-bg-active);color:var(--color-text-secondary);font-size:var(--font-size-sm, 12px);font-weight:500;cursor:pointer;transition:background-color var(--transition-fast)}.user-avatar-anonymous{background:var(--color-bg-tertiary);color:var(--color-icon-secondary);border:1px solid var(--color-border)}.user-avatar-help-icon{color:var(--color-icon-secondary)}.user-avatar-fallback{background:transparent;color:inherit;font-size:inherit;font-weight:inherit}.user-menu-trigger-meta{min-width:0;display:flex;flex-direction:column;align-items:flex-start;gap:1px}.user-menu-trigger-primary{font-size:var(--font-size-sm, 12px);font-weight:500;line-height:1.3;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-trigger-secondary{font-size:var(--font-size-xs, 11px);line-height:1.3;color:var(--color-text-tertiary);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-dropdown{position:absolute;bottom:calc(100% + var(--space-1));right:0;min-width:240px;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);z-index:var(--z-context-menu);overflow:hidden;animation:user-menu-open var(--duration-default) var(--ease-out-fluid)}.user-menu-email{padding:8px 12px 4px;font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--color-text-primary)}.user-menu-workspace{padding:0 var(--spacing-md, 12px) 8px;font-size:var(--text-xs);color:var(--color-text-secondary)}.user-menu-status{display:flex;align-items:center;gap:var(--spacing-sm);margin:0 var(--spacing-md) var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);font-size:var(--text-xs);line-height:1.35;background:var(--color-error-bg);color:var(--color-text-secondary);border:1px solid color-mix(in srgb,var(--color-error) 22%,var(--color-border));border-radius:var(--radius-md)}.user-menu-status-error{color:var(--color-error)}.user-menu-status-icon{flex-shrink:0;color:var(--color-error);display:flex;align-items:center}.user-menu-status-text{flex:1}.user-menu-status-retry{margin-left:auto;flex-shrink:0;border:none;background:var(--color-error-bg);color:var(--color-error);height:var(--height-md);padding:0 var(--spacing-md);border-radius:var(--radius-md);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast)}.user-menu-status-retry:hover{background:color-mix(in srgb,var(--color-error) 20%,transparent)}.user-menu-status-retry:focus-visible{outline:2px solid var(--color-error);outline-offset:1px}.user-menu-divider{height:1px;background:var(--color-border);margin:var(--space-1) 0}.user-menu-ws-submenu{background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);max-height:200px;overflow-y:auto;padding:var(--space-1) 0;z-index:var(--z-popover)}.user-menu-ws-submenu-item{display:flex;align-items:center;padding:var(--spacing-xs, 4px) var(--spacing-md, 12px);text-decoration:none;color:var(--color-text-secondary);font-size:var(--text-sm, 13px);cursor:pointer;transition:background .1s,color .1s}.user-menu-ws-submenu-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.user-menu-item-submenu{justify-content:space-between}.user-menu-item-chevron{opacity:.5;flex-shrink:0}.user-menu-ws-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--spacing-sm);width:100%;height:var(--height-md);padding:0 var(--spacing-md);border:none;background:transparent;text-align:left;font-size:var(--text-sm);color:var(--color-text-primary);cursor:pointer;transition:background-color var(--transition-fast),color var(--transition-fast)}.user-menu-item:hover{background:var(--color-background-tertiary)}.user-menu-item:focus-visible{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-accent) 30%,transparent)}.user-menu-item-disabled,.user-menu-item:disabled{opacity:.5;cursor:not-allowed}.user-menu-item-appearance{font-weight:var(--font-medium);justify-content:space-between}.user-menu-item-left{display:inline-flex;align-items:center;gap:var(--spacing-sm)}.user-menu-theme-switch{width:34px;height:18px;border-radius:999px;background:var(--color-bg-active);border:1px solid var(--color-border);display:inline-flex;align-items:center;padding:2px;transition:background var(--transition-fast),border-color var(--transition-fast)}.user-menu-theme-switch.is-light{background:color-mix(in srgb,var(--color-accent) 35%,var(--color-bg-active));border-color:color-mix(in srgb,var(--color-accent) 40%,var(--color-border))}.user-menu-theme-switch.is-dark{background:var(--color-accent);border-color:var(--color-accent)}.user-menu-theme-knob{width:12px;height:12px;border-radius:999px;background:var(--color-bg-primary);box-shadow:var(--shadow-sm);transform:translate(0);transition:transform var(--transition-fast),background var(--transition-fast)}.user-menu-theme-switch.is-dark .user-menu-theme-knob{transform:translate(16px);background:#fff}.user-menu-item-icon{display:inline-flex;align-items:center;color:var(--color-icon-secondary);flex-shrink:0}.user-menu-dropdown-portal{position:fixed;right:auto;bottom:auto}.file-item:hover .file-item-icon{color:var(--color-text-secondary)}.file-item-icon.folder-icon{color:var(--color-accent);opacity:.85}.file-item[data-depth="1"]{padding-left:calc(var(--space-2) + 12px)}.file-item[data-depth="2"]{padding-left:calc(var(--space-2) + 24px)}.file-item[data-depth="3"]{padding-left:calc(var(--space-2) + 36px)}.file-item[data-depth="4"]{padding-left:calc(var(--space-2) + 48px)}.file-item[data-depth="5"]{padding-left:calc(var(--space-2) + 60px)}.ui-tooltip-anchor{display:inline-flex}.ui-tooltip{display:inline-flex;align-items:center;gap:var(--space-2);padding:6px 8px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-background-elevated);color:var(--color-text-primary);box-shadow:var(--shadow-lg);font-size:var(--text-xs);line-height:1.3;pointer-events:none;white-space:nowrap;z-index:var(--z-toast)}.ui-tooltip[data-side=bottom]{transform-origin:top center}.ui-tooltip[data-side=top]{transform-origin:bottom center}.ui-tooltip[data-side=left]{transform-origin:center right}.ui-tooltip[data-side=right]{transform-origin:center left}.ui-tooltip-label{white-space:nowrap}.ui-tooltip-shortcut{display:inline-flex;align-items:center;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-secondary);color:var(--color-text-tertiary);padding:1px 5px;font-size:var(--font-size-2xs);font-family:var(--font-mono)}.file-tree-folder-content{overflow:hidden;transition:max-height var(--transition-normal),opacity var(--transition-fast)}.file-tree-folder-content.collapsed{max-height:0;opacity:0}.file-tree-folder-content.expanded{max-height:2000px;opacity:1}.folder-chevron{transition:transform var(--transition-fast);font-size:var(--font-size-2xs);color:var(--color-text-tertiary)}.folder-chevron.expanded{transform:rotate(90deg)}@keyframes contextMenuFadeIn{0%{opacity:0;transform:scale(.95) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.page-shell{display:flex;flex-direction:column;width:100%;min-height:100vh;overflow:auto;background:var(--color-bg-secondary);font-family:var(--font-sans);color:var(--color-text-primary);animation:app-content-fade-in var(--duration-smooth) var(--ease-out-fluid)}.page-shell-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-6);background:var(--color-bg-primary);border-bottom:1px solid var(--color-border);min-height:48px}.page-shell-header-left,.page-shell-header-right{flex:1;display:flex;align-items:center}.page-shell-header-right{justify-content:flex-end}.page-shell-back{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--color-text-secondary);text-decoration:none;font-size:var(--text-sm);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:color var(--transition-fast),background var(--transition-fast)}.page-shell-back:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.page-shell-title{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0;text-align:center}.page-shell-content{flex:1;display:flex;justify-content:center;padding:var(--space-8) var(--space-4)}.settings-card{width:100%;max-width:640px;display:flex;flex-direction:column;gap:var(--space-6)}.settings-section{background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.settings-section-danger{border-color:var(--color-error);background:color-mix(in srgb,var(--color-error-light) 50%,transparent)}.settings-section-header{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.settings-section-heading{display:flex;align-items:center;gap:var(--space-2)}.settings-section-icon{color:var(--color-text-secondary);flex-shrink:0}.settings-section-danger .settings-section-header{border-bottom-color:var(--color-error);background:var(--color-error-light)}.settings-section-title{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.settings-section-danger .settings-section-title{color:var(--color-text-primary)}.settings-section-danger .settings-section-icon{color:var(--color-text-secondary)}.settings-section-description{font-size:var(--text-sm);color:var(--color-text-secondary);margin:var(--space-1) 0 0}.settings-section-body{padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-4)}.settings-field{display:flex;flex-direction:column;gap:var(--space-2)}@media (min-width: 480px){.settings-field{flex-direction:row;align-items:center;justify-content:space-between}.settings-field-control{flex-shrink:0;min-width:200px;max-width:320px;width:100%}}.settings-field-label-group{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.settings-field-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-text-primary)}.settings-field-description{font-size:var(--text-xs);color:var(--color-text-secondary)}.settings-field-inline{display:flex;gap:var(--space-2);align-items:center}.settings-field-inline .settings-input{flex:1}.settings-input{display:block;width:100%;min-height:var(--height-md);padding:6px 10px;font-size:var(--text-sm);font-family:var(--font-sans);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border);border-radius:var(--radius-sm);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);box-sizing:border-box}.settings-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-accent-light)}.settings-input:disabled{background:var(--color-bg-secondary);color:var(--color-text-secondary);cursor:not-allowed}.settings-input-mono{font-family:var(--font-mono);font-size:var(--text-xs)}.settings-select{cursor:pointer;max-width:200px}.settings-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);min-height:var(--height-md);padding:4px 12px;font-size:var(--text-sm);font-weight:var(--font-medium);font-family:var(--font-sans);border-radius:var(--radius-sm);border:1px solid transparent;cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast);white-space:nowrap}.settings-btn:disabled{opacity:.5;cursor:not-allowed}.settings-btn-primary{background:var(--color-bg-inverse);color:var(--color-text-on-inverse-bg);border-color:var(--color-bg-inverse)}.settings-btn-primary:hover:not(:disabled){background:color-mix(in srgb,var(--color-bg-inverse) 90%,transparent);border-color:color-mix(in srgb,var(--color-bg-inverse) 90%,transparent)}.settings-btn-secondary{background:var(--color-bg-primary);color:var(--color-text-primary);border-color:var(--color-border-strong)}.settings-btn-secondary:hover:not(:disabled){background:var(--color-bg-hover)}.settings-btn-danger{background:var(--color-error);color:var(--color-text-inverse);border-color:var(--color-error)}.settings-btn-danger:hover:not(:disabled){background:var(--color-error-hover);border-color:var(--color-error-hover)}.settings-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3)}.settings-provider-key{display:flex;flex-direction:column;gap:var(--space-2)}.settings-provider-key-status,.settings-provider-key-note{font-size:var(--text-xs);color:var(--color-text-secondary)}.settings-save-message{font-size:var(--text-sm);font-weight:var(--font-medium)}.settings-save-message.success{color:var(--color-success)}.settings-save-message.error{color:var(--color-error)}.settings-runtime-status{display:flex;align-items:center;gap:var(--space-3)}.settings-runtime-badge{display:inline-block;padding:var(--space-1) var(--space-3);font-size:var(--text-xs);font-weight:var(--font-semibold);border-radius:var(--radius-full);text-transform:capitalize}.settings-runtime-badge-ready,.settings-runtime-badge-running,.settings-runtime-badge-active{background:var(--color-success-bg);color:var(--color-success)}.settings-runtime-badge-pending,.settings-runtime-badge-provisioning{background:var(--color-warning-bg);color:var(--color-warning)}.settings-runtime-badge-error,.settings-runtime-badge-failed{background:var(--color-error-bg);color:var(--color-error)}.settings-runtime-badge-unknown{background:var(--color-neutral-bg);color:var(--color-text-secondary)}.settings-runtime-error{font-size:var(--text-sm);color:var(--color-error);font-family:var(--font-mono);background:var(--color-error-light);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);word-break:break-word}.settings-configured-badge{display:inline-block;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--color-success);background:var(--color-success-bg);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.settings-configured-date{color:var(--color-text-secondary)}.settings-delete-confirm{display:flex;flex-direction:column;gap:var(--space-2)}.settings-delete-warning{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-error)}.settings-delete-actions{display:flex;gap:var(--space-2)}.settings-header-title-group{display:inline-flex;align-items:center;gap:var(--space-1)}.settings-header-separator{color:var(--color-text-tertiary);font-weight:var(--font-normal);margin:0 2px}.ws-switcher{position:relative;display:inline-flex}.ws-switcher-solo{font-weight:var(--font-semibold)}.ws-switcher-trigger{display:inline-flex;align-items:center;gap:var(--space-1);background:none;border:1px solid transparent;border-radius:var(--radius-sm);padding:2px var(--space-2);font-family:inherit;font-size:inherit;font-weight:var(--font-semibold);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast),border-color var(--transition-fast)}.ws-switcher-trigger:hover{background:var(--color-bg-hover);border-color:var(--color-border)}.ws-switcher-name{max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ws-switcher-chevron{flex-shrink:0;transition:transform var(--transition-fast)}.ws-switcher-chevron.open{transform:rotate(180deg)}.ws-switcher-dropdown{position:absolute;top:calc(100% + 4px);left:0;min-width:200px;max-width:320px;max-height:280px;overflow-y:auto;background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:var(--space-1);z-index:var(--z-dropdown);animation:auth-enter .12s ease-out}.ws-switcher-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);text-decoration:none;cursor:pointer;transition:background var(--transition-fast)}.ws-switcher-item:hover{background:var(--color-bg-hover)}.ws-switcher-item.active{background:color-mix(in srgb,var(--color-accent-default) 10%,transparent);color:var(--color-accent-default);font-weight:var(--font-medium)}.ws-switcher-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.page-loading{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);padding:var(--space-16) 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.page-loading-icon{animation:spin 1s linear infinite}.page-error{text-align:center;padding:var(--space-8);color:var(--color-error);font-size:var(--text-sm)}.modal-dialog{background:var(--color-background-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:90%;max-width:440px}.create-workspace-dialog{padding:0;gap:0}.create-workspace-dialog>button{color:var(--color-text-secondary)}.create-workspace-dialog>button:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-header{display:flex;align-items:center;justify-content:center;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border)}.modal-title{font-size:var(--text-base);font-weight:var(--font-semibold);margin:0}.modal-close{display:flex;align-items:center;justify-content:center;padding:var(--space-1);background:none;border:none;color:var(--color-text-secondary);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--transition-fast),color var(--transition-fast)}.modal-close:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.modal-body{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3)}.modal-error{font-size:var(--text-sm);color:var(--color-error)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--color-border)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes app-content-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pane-content-fade-in{0%{opacity:0;transform:translateY(2px)}to{opacity:1;transform:translateY(0)}}@keyframes user-menu-open{0%{opacity:0;transform:translateY(4px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes tooltip-fade-in{0%{opacity:0;transform:translate(-50%,calc(-100% + 2px))}to{opacity:1;transform:translate(-50%,-100%)}}@keyframes tooltip-fade-in-bottom{0%{opacity:0;transform:translate(-50%,-2px)}to{opacity:1;transform:translate(-50%)}}@media (prefers-reduced-motion: reduce){.save-spinner,.git-inline-spinner,.git-view-header-spinner,.file-tree-skeleton-row,.editor-loading-progress,.editor-loading-line,.skip-to-content-link,.app-main-content,.page-shell,.dockview-theme-abyss .dv-pane .dv-pane-body>.panel-content,.dockview-theme-abyss .dv-split-view-container>.dv-view-container>.dv-view,.dockview-theme-abyss .dv-tab .ui-dv-tab:after,.dockview-theme-abyss .dv-split-view-container>.dv-sash-container>.dv-sash.dv-enabled:after,.user-menu-dropdown,.user-menu-theme-knob,.folder-chevron,.section-collapse-icon,.ui-tooltip,.context-menu,.modal-dialog,.workspace-loading{animation:none!important;transition:none!important}:where(button,[role=button],.tab,.context-menu-item,.menu-item,.interactive,.interactive-subtle,.interactive-primary),.interactive-lift,.file-tree-folder-content{animation:none!important;transition:none!important;transform:none!important}}.github-connect-compact{display:inline-flex;align-items:center;gap:6px;padding:2px 8px;font-size:var(--font-size-xs, 11px);color:var(--text-muted);background:transparent;border:1px solid var(--border-subtle);border-radius:4px;cursor:pointer;margin-left:auto}.github-connect-compact:hover{color:var(--text-primary);border-color:var(--border-default);background:var(--bg-hover)}.github-connect-compact:disabled{opacity:.6;cursor:not-allowed}.git-changes-github-connect{display:flex;justify-content:center;padding:12px 8px}.github-connect-loading,.github-connect-unconfigured,.github-connect-connected,.github-connect-disconnected{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.github-connect-hint{color:var(--text-muted);font-size:var(--font-size-sm, 12px)}.github-connect-installation{color:var(--text-muted);font-size:var(--font-size-sm, 12px);font-family:var(--font-mono)}.github-connect-repos{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);margin-top:4px}.github-connect-repo-link{display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font-size:var(--font-size-sm, 12px);font-family:var(--font-mono);text-decoration:none}.github-connect-repo-link:hover{color:var(--text-primary)}.github-connect-error{display:flex;align-items:center;gap:6px;color:var(--text-error);font-size:var(--font-size-sm, 12px);margin-top:8px}.github-connect-status-row{display:flex;align-items:center;gap:var(--spacing-sm, 8px)}.github-connect-status-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;width:100%}.github-connect-status-card{display:flex;flex-direction:column;gap:6px;padding:12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-subtle)}.github-connect-status-label{color:var(--text-muted);font-size:var(--font-size-xs, 11px);font-weight:600;letter-spacing:.04em;text-transform:uppercase}.github-connect-selected-link{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);color:var(--text-primary);font-size:var(--font-size-sm, 12px);text-decoration:none}.github-connect-selected-link:hover{color:var(--text-primary);text-decoration:underline}.github-connect-repo-list{display:flex;flex-direction:column;gap:var(--spacing-sm, 8px);width:100%}.github-connect-repo-card{display:flex;justify-content:space-between;align-items:center;gap:var(--spacing-md, 12px);padding:12px;border:1px solid var(--border-subtle);border-radius:8px;background:var(--bg-subtle)}.github-connect-repo-card--selected{border-color:var(--color-success, var(--border-default));box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--color-success) 30%,transparent)}.github-connect-repo-main{display:flex;flex-direction:column;gap:var(--spacing-xs, 4px);min-width:0}.github-connect-repo-title-row{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex-wrap:wrap}.github-connect-repo-name{color:var(--text-primary);font-size:var(--font-size-ui, 13px);font-weight:600;word-break:break-word}.github-connect-repo-visibility{color:var(--text-muted);font-size:var(--font-size-sm, 12px)}.github-connect-repo-selected-pill{display:inline-flex;align-items:center;gap:var(--spacing-xs, 4px);padding:2px 8px;border-radius:999px;background:color-mix(in srgb,var(--color-success) 16%,transparent);color:var(--text-primary);font-size:var(--font-size-xs, 11px);font-weight:600}.github-connect-repo-actions{display:flex;align-items:center;gap:var(--spacing-sm, 8px);flex-wrap:wrap;justify-content:flex-end}.github-connect-wizard{display:flex;flex-direction:column;align-items:center;text-align:center;padding:32px 24px;gap:var(--spacing-md, 12px)}.github-connect-wizard-icon{color:var(--text-muted);opacity:.7}.github-connect-wizard-title{font-size:var(--font-size-xl, 18px);font-weight:600;margin:0}.github-connect-wizard-description{font-size:var(--font-size-base, 14px);color:var(--text-muted);max-width:360px;margin:0}.github-connect-wizard-btn{display:inline-flex;align-items:center;gap:var(--spacing-sm, 8px);margin-top:8px}.github-connect-wizard-loading,.github-connect-wizard-connected{display:flex;align-items:center;gap:var(--spacing-sm, 8px);color:var(--text-muted);font-size:var(--font-size-ui, 13px)}.github-connect-wizard-connected{color:var(--color-success)}.github-connect-wizard-error{display:flex;align-items:center;gap:6px;color:var(--text-error);font-size:var(--font-size-sm, 12px)}.github-connect-wizard-skip{background:none;border:none;color:var(--text-muted);font-size:var(--font-size-ui, 13px);cursor:pointer;padding:4px 8px;margin-top:4px}.github-connect-wizard-skip:hover{color:var(--text-primary);text-decoration:underline}.setup-wizard{max-width:480px;margin:0 auto;padding:40px 20px}.setup-wizard-header{text-align:center;margin-bottom:32px;color:var(--text-muted)}.setup-wizard-title{font-size:var(--font-size-2xl);font-weight:600;color:var(--text-primary);margin:12px 0 4px}.setup-wizard-subtitle{font-size:var(--font-size-base, 14px);color:var(--text-muted);margin:0}.setup-wizard-step{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:8px;margin-bottom:24px}.setup-wizard-step-status{padding:18px 20px}.setup-wizard-status-row{display:flex;flex-direction:column;gap:10px}.setup-wizard-status-copy{color:var(--text-secondary);font-size:var(--font-size-base, 14px);line-height:1.5}.setup-wizard-loading{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary);margin-top:14px}.setup-wizard-footer{display:flex;justify-content:center}.setup-wizard-continue{display:inline-flex;align-items:center;gap:var(--spacing-sm, 8px)}.setup-wizard-footnote{color:var(--text-muted);font-size:var(--font-size-ui, 13px)}
