:root{--_black: 0 0 0;--_white: 1 0 0;--_gray-6: .06 0 0;--_gray-8: .08 0 0;--_gray-10: .1 0 0;--_gray-12: .12 0 0;--_gray-18: .18 0 0;--_gray-40: .4 0 0;--_gray-50: .5 0 0;--_gray-60: .6 0 0;--_gray-93: .93 0 0;--_success-base: .72 .15 160;--_warning-base: .8 .15 85;--_error-base: .65 .2 25;--_info-base: .7 .15 240;--background: oklch(var(--_black));--background-elevated: oklch(var(--_gray-8));--background-overlay: oklch(var(--_gray-12));--surface: oklch(var(--_gray-6));--surface-raised: oklch(var(--_gray-10));--surface-sunken: oklch(.04 0 0);--foreground: oklch(var(--_gray-93));--foreground-muted: oklch(var(--_gray-60));--foreground-subtle: oklch(var(--_gray-40));--accent: oklch(var(--_white));--accent-foreground: oklch(var(--_black));--success: oklch(var(--_success-base));--success-foreground: oklch(var(--_black));--success-muted: oklch(var(--_success-base) / .15);--success-subtle: oklch(var(--_success-base) / .05);--warning: oklch(var(--_warning-base));--warning-foreground: oklch(var(--_black));--warning-muted: oklch(var(--_warning-base) / .15);--warning-subtle: oklch(var(--_warning-base) / .05);--error: oklch(var(--_error-base));--error-foreground: oklch(var(--_white));--error-muted: oklch(var(--_error-base) / .15);--error-subtle: oklch(var(--_error-base) / .1);--info: oklch(var(--_info-base));--info-foreground: oklch(var(--_black));--info-muted: oklch(var(--_info-base) / .15);--border: oklch(var(--_gray-18));--border-muted: oklch(var(--_gray-12));--border-focus: oklch(var(--_gray-50));--ring: oklch(var(--_gray-40));--ring-offset: var(--background);--ring-alpha: oklch(var(--_gray-40) / .2);--topic-user: oklch(var(--_info-base));--topic-system: oklch(.7 .15 300);--topic-network: oklch(var(--_success-base));--topic-project: oklch(var(--_warning-base));--topic-environment: oklch(.75 .15 50);--topic-general: oklch(var(--_gray-60))}.light{--background: oklch(var(--_white));--background-elevated: oklch(.98 0 0);--background-overlay: oklch(var(--_white));--surface: oklch(.97 0 0);--surface-raised: oklch(.94 0 0);--surface-sunken: oklch(.99 0 0);--foreground: oklch(.15 0 0);--foreground-muted: oklch(.45 0 0);--foreground-subtle: oklch(.65 0 0);--accent: oklch(.15 0 0);--accent-foreground: oklch(var(--_white));--border: oklch(.9 0 0);--border-muted: oklch(.94 0 0);--border-focus: oklch(var(--_gray-50));--ring: oklch(.7 0 0)}:root{--space-0: 0;--space-px: 1px;--space-0-5: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px}:root{--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", system-ui, sans-serif;--font-mono: "SF Mono", Menlo, Monaco, "Cascadia Code", monospace;--text-2xs: 10px;--text-xs: 11px;--text-sm: 13px;--text-base: 15px;--text-lg: 17px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--leading-none: 1;--leading-tight: 1.25;--leading-snug: 1.375;--leading-normal: 1.5;--leading-relaxed: 1.625;--leading-loose: 1.75;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--tracking-tight: -.02em;--tracking-normal: 0;--tracking-wide: .025em;--tracking-wider: .05em}:root{--radius: 8px;--radius-none: 0;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-2xl: 16px;--radius-full: 9999px}:root{--shadow-sm: 0 1px 2px oklch(0 0 0 / .3);--shadow-md: 0 4px 6px oklch(0 0 0 / .4);--shadow-lg: 0 10px 15px oklch(0 0 0 / .5);--shadow-xl: 0 20px 25px oklch(0 0 0 / .6);--glow-sm: 0 0 8px oklch(1 0 0 / .1);--glow-md: 0 0 16px oklch(1 0 0 / .15)}.light{--shadow-sm: 0 1px 2px oklch(0 0 0 / .05);--shadow-md: 0 4px 6px oklch(0 0 0 / .07);--shadow-lg: 0 10px 15px oklch(0 0 0 / .1);--shadow-xl: 0 20px 25px oklch(0 0 0 / .15)}:root{--duration-fast: .1s;--duration-base: .15s;--duration-slow: .25s;--duration-slower: .4s;--ease-default: cubic-bezier(.4, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in-out: cubic-bezier(.4, 0, .2, 1);--ease-bounce: cubic-bezier(.34, 1.56, .64, 1)}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes fade-out{0%{opacity:1}to{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes slide-down{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}:root{--z-base: 0;--z-elevated: 10;--z-sticky: 50;--z-panel: 100;--z-overlay: 200;--z-modal: 300;--z-popover: 400;--z-toast: 500;--z-max: 999}:root{--icon-xs: 12px;--icon-sm: 14px;--icon-md: 16px;--icon-lg: 18px;--icon-xl: 20px;--icon-2xl: 24px;--icon-3xl: 32px;--icon-4xl: 40px;--btn-height-sm: 28px;--btn-height-md: 36px;--btn-height-lg: 44px;--input-height-sm: 32px;--input-height-md: 40px;--input-height-lg: 48px;--panel-width-sm: 320px;--panel-width-md: 420px;--panel-width-lg: 560px;--content-max-width: 640px;--textarea-max-height: 200px}.app{display:flex;flex-direction:column;height:100vh;overflow:hidden;background:var(--background)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:0 var(--space-4);background:var(--background);border-bottom:1px solid var(--border);height:var(--input-height-lg);flex-shrink:0}.app-header-left,.app-header-right{display:flex;align-items:center;gap:var(--space-2)}.app-logo{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground);letter-spacing:-.5px}.app-main{flex:1;display:flex;overflow:hidden;position:relative}.conversation-container{flex:1;display:flex;flex-direction:column;width:100%;overflow:hidden}[class*=btn],[class*=icon-btn]{cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}[class*=btn]:disabled,[class*=icon-btn]:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);font-weight:var(--font-medium);border:none;border-radius:var(--radius-md)}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);height:var(--btn-height-sm)}.btn-lg{padding:var(--space-3) var(--space-4);font-size:var(--text-base);height:var(--btn-height-lg)}.btn-primary{background:var(--accent);color:var(--accent-foreground)}.btn-primary:hover:not(:disabled){opacity:.9}.btn-secondary{background:var(--surface-raised);color:var(--foreground)}.btn-secondary:hover:not(:disabled){background:var(--surface);border-color:var(--border-focus)}.btn-ghost{background:transparent;color:var(--foreground-subtle)}.btn-ghost:hover:not(:disabled){background:var(--surface-raised);color:var(--foreground)}.btn-danger{background:var(--error);color:var(--error-foreground)}.btn-danger:hover:not(:disabled){opacity:.9}.icon-btn{display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--radius-sm)}.icon-btn--sm{width:var(--btn-height-sm);height:var(--btn-height-sm)}.icon-btn--md{width:var(--btn-height-md);height:var(--btn-height-md)}.icon-btn--ghost{background:transparent;color:var(--foreground-subtle)}.icon-btn--ghost:hover{background:var(--surface-raised);color:var(--foreground)}.icon-btn--outline{background:transparent;border:1px solid var(--border);color:var(--foreground-muted)}.icon-btn--outline:hover{background:var(--surface);border-color:var(--border-focus);color:var(--foreground)}.icon-btn--danger{background:transparent;color:var(--foreground-subtle)}.icon-btn--danger:hover{background:var(--error-muted);color:var(--error)}.input-base{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.input-base::placeholder{color:var(--foreground-subtle)}.input-base:hover{border-color:var(--border-focus)}.input-base:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-alpha)}.text-input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.text-input::placeholder{color:var(--foreground-subtle)}.text-input:hover{border-color:var(--border-focus)}.text-input:focus{outline:none;border-color:var(--ring);box-shadow:0 0 0 2px var(--ring-alpha)}.text-input--filled{background:var(--surface-raised);border-color:transparent}.text-input--filled:hover{background:var(--surface);border-color:var(--border)}.input-container{padding:var(--space-4);background:var(--background);border-top:1px solid var(--border);flex-shrink:0}.input-wrapper{display:flex;align-items:flex-end;gap:var(--space-2);max-width:var(--content-max-width);margin:0 auto}.input-textarea{flex:1;min-height:var(--btn-height-lg);max-height:var(--textarea-max-height);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--foreground);font-size:var(--text-base);font-family:inherit;resize:none;overflow-y:auto;transition:border-color var(--duration-fast) var(--ease-default)}.input-textarea::placeholder{color:var(--foreground-subtle)}.input-textarea:hover{border-color:var(--border-focus)}.input-textarea:focus{outline:none;border-color:var(--ring)}.item-list{display:flex;flex-direction:column;gap:var(--space-3)}.item-list--compact{gap:var(--space-2)}.item-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);transition:border-color var(--duration-fast) var(--ease-default)}.item-card:hover{border-color:var(--border-focus)}.item-card--running{border-color:var(--success);background:var(--success-subtle)}.item-card--error{border-color:var(--error);background:var(--error-subtle)}.item-card--warning{border-color:var(--warning);background:var(--warning-subtle)}.item-card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3)}.item-card-info{flex:1;min-width:0}.item-card-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card-subtitle{font-size:var(--text-xs);color:var(--foreground-subtle);font-family:var(--font-mono);margin-top:var(--space-0-5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.item-card-meta{display:flex;align-items:center;gap:var(--space-3);margin-top:var(--space-2);font-size:var(--text-xs);color:var(--foreground-subtle)}.item-card-actions{display:flex;align-items:center;gap:var(--space-1);margin-top:var(--space-2)}.item-card-error{display:flex;flex-direction:column;gap:var(--space-1);margin-top:var(--space-2);padding:var(--space-2);background:var(--error-subtle);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--error)}.status-badge{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);text-transform:capitalize}.status-badge-dot{width:6px;height:6px;border-radius:var(--radius-full);background:currentColor}.status-badge--success,.status-badge--running,.status-badge--active{color:var(--success);background:var(--success-muted)}.status-badge--running .status-badge-dot{animation:pulse 1s var(--ease-in-out) infinite}.status-badge--warning,.status-badge--stopping{color:var(--warning);background:var(--warning-muted)}.status-badge--error,.status-badge--crashed,.status-badge--failed{color:var(--error);background:var(--error-muted)}.status-badge--info{color:var(--info);background:var(--info-muted)}.status-badge--muted,.status-badge--stopped,.status-badge--paused,.status-badge--pending{color:var(--foreground-subtle);background:var(--surface-raised)}.status-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--foreground-subtle);flex-shrink:0}.status-dot--success,.status-dot--running{background:var(--success)}.status-dot--running{animation:pulse 2s var(--ease-in-out) infinite}.status-dot--warning{background:var(--warning)}.status-dot--error,.status-dot--crashed{background:var(--error)}.status-dot--info{background:var(--info)}.connection-dot{width:6px;height:6px;border-radius:var(--radius-full);background:var(--error);transition:background var(--duration-base) var(--ease-default)}.connection-dot--connected{background:var(--success)}.panel-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-overlay);background:#00000080;opacity:0;visibility:hidden;transition:opacity var(--duration-base) var(--ease-default),visibility var(--duration-base) var(--ease-default);pointer-events:none;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.panel-overlay.open{opacity:1;visibility:visible;pointer-events:auto}.slide-panel{position:fixed;top:0;right:0;bottom:0;width:var(--panel-width-md);max-width:100vw;background:var(--background);border-left:1px solid var(--border);z-index:var(--z-modal);display:flex;flex-direction:column;transform:translate(100%);transition:transform var(--duration-slow) var(--ease-out);box-shadow:-4px 0 24px #0000004d}.slide-panel.open{transform:translate(0)}.panel-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border);flex-shrink:0}.panel-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--foreground)}.panel-title-icon{color:var(--foreground-muted)}.panel-close{display:flex;align-items:center;justify-content:center;width:var(--btn-height-md);height:var(--btn-height-md);background:transparent;border:none;border-radius:var(--radius-sm);color:var(--foreground-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.panel-close:hover{background:var(--surface-raised);color:var(--foreground)}.panel-content{flex:1;overflow-y:auto;padding:var(--space-4)}.panel-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--border);flex-shrink:0}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12) var(--space-4);text-align:center;gap:var(--space-3)}.empty-state-icon{color:var(--foreground-subtle);opacity:.5}.empty-state-title{font-size:var(--text-base);font-weight:var(--font-medium);color:var(--foreground-muted)}.empty-state-description{font-size:var(--text-sm);color:var(--foreground-subtle);max-width:280px;line-height:var(--leading-relaxed)}.empty-state-action{margin-top:var(--space-2)}.header-badge{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);background:transparent;border:none;border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--foreground-subtle);cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.header-badge:hover,.header-badge.active{color:var(--foreground)}.header-badge-icon{opacity:.7}.header-badge-count{font-weight:var(--font-medium)}.header-badge-count.has-items{color:var(--foreground)}.header-divider{width:1px;height:var(--icon-2xl);background:var(--border);margin:0 var(--space-2)}.blocks-container{flex:1;overflow:hidden;position:relative;display:flex;flex-direction:column}.blocks-container--scrollable{overflow-y:auto;height:100%}.virtual-list{padding:var(--space-6) 0}.virtual-list>div{max-width:var(--content-max-width);margin:0 auto;width:100%;padding:0 var(--space-4)}.virtual-list>div>div{padding-bottom:var(--space-4)}.exec-output.collapsed{max-height:50px;position:relative}.exec-output.collapsed:after{content:"";position:absolute;bottom:0;left:0;right:0;height:24px;background:linear-gradient(to bottom,transparent,var(--surface));pointer-events:none}.service-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.service-tree-header{display:flex;align-items:center;gap:var(--space-3)}.service-tree-search{flex:1}.service-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.service-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.service-tree-search input::placeholder{color:var(--foreground-subtle)}.service-tree-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--accent-foreground);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.service-tree-add:hover{opacity:.9}.service-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.service-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.service-tree-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.service-tree-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.service-tree-category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.service-tree-category-header:hover{background:var(--surface-raised)}.service-tree-chevron{color:var(--foreground-subtle);transition:transform var(--duration-fast) var(--ease-default)}.service-tree-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-raised)}.service-tree-name{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.service-tree-badge{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.service-tree-items{border-top:1px solid var(--border-muted)}.service-tree-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-left:var(--space-8);border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.service-tree-item:last-child{border-bottom:none}.service-tree-item:hover{background:var(--surface-raised)}.service-tree-item-status{position:relative;flex-shrink:0;width:10px;height:10px;border-radius:var(--radius-full);margin-top:5px}.service-tree-item-status--running{background:var(--success)}.service-tree-item-status--stopped{background:var(--foreground-subtle)}.service-tree-item-status--crashed{background:var(--error)}.service-tree-item-status--stopping{background:var(--warning)}.service-tree-item-pulse{position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:var(--radius-full);background:var(--success);opacity:0;animation:service-pulse 2s ease-out infinite}@keyframes service-pulse{0%{opacity:.4;transform:scale(.8)}to{opacity:0;transform:scale(1.5)}}.service-tree-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.service-tree-item-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground);display:flex;align-items:center;gap:var(--space-2)}.service-tree-item-port{display:inline-flex;align-items:center;gap:var(--space-1);color:var(--info);font-family:var(--font-mono);font-size:var(--text-xs);text-decoration:none;transition:color var(--duration-fast) var(--ease-default)}.service-tree-item-port:hover{color:var(--accent)}.service-tree-item-command{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground-muted);padding:var(--space-1) var(--space-2);background:var(--background);border-radius:var(--radius-sm);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.service-tree-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--foreground-muted);margin-top:var(--space-1)}.service-tree-item-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.service-tree-item-error{display:flex;align-items:flex-start;gap:var(--space-2);margin-top:var(--space-2);padding:var(--space-2);background:oklch(from var(--error) l c h / .1);border-radius:var(--radius-sm);font-size:var(--text-xs);color:var(--error)}.service-tree-item-error svg{flex-shrink:0;margin-top:1px}.service-tree-item-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.service-tree-item:hover .service-tree-item-actions{opacity:1}.service-tree-item-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.service-tree-item-actions button:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.service-tree-item-actions button.start:hover{background:oklch(from var(--success) l c h / .1);border-color:var(--success);color:var(--success)}.service-tree-item-actions button.stop:hover{background:oklch(from var(--warning) l c h / .1);border-color:var(--warning);color:var(--warning)}.service-tree-item-actions button.danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error);color:var(--error)}.service-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-6);padding:var(--space-8)}.service-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.service-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.service-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.service-tree-stopping{font-size:var(--text-xs);color:var(--warning);display:flex;align-items:center;gap:var(--space-1)}.service-tree-add-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.service-tree-add-btn:hover{opacity:.9}.service-tree-item-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--foreground-muted)}.service-tree-item-info span{display:inline-flex;align-items:center;gap:var(--space-1)}.service-tree-item-tag{display:inline-flex;align-items:center;gap:var(--space-1);padding:var(--space-0-5) var(--space-2);background:var(--surface-raised);border-radius:var(--radius-full);color:var(--foreground-muted)}.service-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fade-in var(--duration-base) var(--ease-out)}.service-modal{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:500px;margin:var(--space-4);max-height:90vh;overflow-y:auto;animation:slide-up var(--duration-base) var(--ease-out)}.service-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground)}.service-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--foreground-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.service-modal-close:hover{background:var(--surface-raised);color:var(--foreground)}.service-modal form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.service-modal-row{display:flex;gap:var(--space-4)}.service-modal-field{display:flex;flex-direction:column;gap:var(--space-2)}.service-modal-field--half{flex:1}.service-modal-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.service-modal-optional{font-weight:var(--font-normal);color:var(--foreground-subtle)}.service-modal-field input[type=text],.service-modal-field input[type=number]{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.service-modal-field input:focus{outline:none;border-color:var(--border-focus)}.service-modal-field input::placeholder{color:var(--foreground-subtle)}.service-modal-checkbox{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.service-modal-checkbox:hover{background:var(--surface-raised)}.service-modal-checkbox input[type=checkbox]{width:16px;height:16px;accent-color:var(--accent)}.service-modal-checkbox span{font-size:var(--text-sm);color:var(--foreground)}.service-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.service-modal-actions .btn-secondary{background:var(--surface);color:var(--foreground);border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.service-modal-actions .btn-secondary:hover{background:var(--surface-raised);border-color:var(--border-focus)}.service-modal-actions .btn-primary{background:var(--accent);color:var(--accent-foreground);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.service-modal-actions .btn-primary:hover{opacity:.9}.service-modal-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.task-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.task-tree-header{display:flex;align-items:center;gap:var(--space-3)}.task-tree-search{flex:1}.task-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.task-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.task-tree-search input::placeholder{color:var(--foreground-subtle)}.task-tree-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--accent-foreground);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.task-tree-add:hover{opacity:.9}.task-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.task-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.task-tree-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.task-tree-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.task-tree-category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.task-tree-category-header:hover{background:var(--surface-raised)}.task-tree-chevron{color:var(--foreground-subtle);transition:transform var(--duration-fast) var(--ease-default)}.task-tree-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-raised)}.task-tree-name{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.task-tree-badge{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.task-tree-items{border-top:1px solid var(--border-muted)}.task-tree-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-left:var(--space-8);border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.task-tree-item:last-child{border-bottom:none}.task-tree-item:hover{background:var(--surface-raised)}.task-tree-item-check{flex-shrink:0;display:flex;align-items:center;justify-content:center;padding:0;background:none;border:none;color:var(--foreground-subtle);cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.task-tree-item-check:hover:not(:disabled){color:var(--success)}.task-tree-item-check:disabled{cursor:default}.task-tree-item--running .task-tree-item-check{color:var(--warning)}.task-tree-item--completed .task-tree-item-check{color:var(--success)}.task-tree-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-0-5)}.task-tree-item-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.task-tree-item--completed .task-tree-item-title{text-decoration:line-through;color:var(--foreground-muted)}.task-tree-item-desc{font-size:var(--text-xs);color:var(--foreground-muted);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.task-tree-item--completed .task-tree-item-desc{color:var(--foreground-subtle)}.task-tree-item-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.task-tree-item:hover .task-tree-item-actions{opacity:1}.task-tree-item-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.task-tree-item-actions button:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.task-tree-item-actions button.start:hover{background:oklch(from var(--info) l c h / .1);border-color:var(--info);color:var(--info)}.task-tree-item-actions button.danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error);color:var(--error)}.task-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-6);padding:var(--space-8)}.task-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.task-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.task-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.task-tree-add-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.task-tree-add-btn:hover{opacity:.9}.task-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fade-in var(--duration-base) var(--ease-out)}.task-modal{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;margin:var(--space-4);animation:slide-up var(--duration-base) var(--ease-out)}.task-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground)}.task-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--foreground-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.task-modal-close:hover{background:var(--surface-raised);color:var(--foreground)}.task-modal form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.task-modal-field{display:flex;flex-direction:column;gap:var(--space-2)}.task-modal-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.task-modal-optional{font-weight:var(--font-normal);color:var(--foreground-subtle)}.task-modal-field input,.task-modal-field textarea{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.task-modal-field input:focus,.task-modal-field textarea:focus{outline:none;border-color:var(--border-focus)}.task-modal-field input::placeholder,.task-modal-field textarea::placeholder{color:var(--foreground-subtle)}.task-modal-field textarea{resize:vertical;min-height:80px;font-family:inherit}.task-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.task-modal-actions .btn-secondary{background:var(--surface);color:var(--foreground);border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.task-modal-actions .btn-secondary:hover{background:var(--surface-raised);border-color:var(--border-focus)}.task-modal-actions .btn-primary{background:var(--accent);color:var(--accent-foreground);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.task-modal-actions .btn-primary:hover{opacity:.9}.task-modal-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.job-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.job-tree-header{display:flex;align-items:center;gap:var(--space-3)}.job-tree-search{flex:1}.job-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.job-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.job-tree-search input::placeholder{color:var(--foreground-subtle)}.job-tree-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--accent-foreground);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.job-tree-add:hover{opacity:.9}.job-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.job-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.job-tree-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.job-tree-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.job-tree-category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.job-tree-category-header:hover{background:var(--surface-raised)}.job-tree-chevron{color:var(--foreground-subtle);transition:transform var(--duration-fast) var(--ease-default)}.job-tree-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-raised)}.job-tree-name{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.job-tree-badge{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.job-tree-items{border-top:1px solid var(--border-muted)}.job-tree-item{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-left:var(--space-8);border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.job-tree-item:last-child{border-bottom:none}.job-tree-item:hover{background:var(--surface-raised)}.job-tree-item-status{flex-shrink:0;width:10px;height:10px;border-radius:var(--radius-full);margin-top:5px}.job-tree-item-status--active{background:var(--success)}.job-tree-item-status--running{background:var(--warning);animation:pulse 2s infinite}.job-tree-item-status--paused{background:var(--foreground-subtle)}.job-tree-item-status--completed{background:var(--info)}.job-tree-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.job-tree-item-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.job-tree-item-meta{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3);font-size:var(--text-xs);color:var(--foreground-muted)}.job-tree-item-meta span{display:inline-flex;align-items:center;gap:var(--space-1)}.job-tree-item-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.job-tree-item:hover .job-tree-item-actions{opacity:1}.job-tree-item-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.job-tree-item-actions button:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.job-tree-item-actions button.play:hover{background:oklch(from var(--success) l c h / .1);border-color:var(--success);color:var(--success)}.job-tree-item-actions button.pause:hover{background:oklch(from var(--warning) l c h / .1);border-color:var(--warning);color:var(--warning)}.job-tree-item-actions button.danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error);color:var(--error)}.job-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-6);padding:var(--space-8)}.job-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.job-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.job-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.job-tree-add-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.job-tree-add-btn:hover{opacity:.9}.job-tree-item-desc{font-size:var(--text-xs);color:var(--foreground-muted);line-height:1.4}.job-tree-item-detail{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--border-muted)}.job-tree-item-detail-actions{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.job-detail-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.job-detail-btn:hover{background:var(--surface-raised);border-color:var(--border-focus)}.job-detail-btn--danger{color:var(--error)}.job-detail-btn--danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error)}.job-tree-history{margin-top:var(--space-3)}.job-tree-history-header{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--foreground-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:var(--space-2)}.job-tree-history-list{display:flex;flex-direction:column;gap:var(--space-1)}.job-tree-history-loading{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);color:var(--foreground-muted);padding:var(--space-2)}.job-tree-run{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);background:var(--surface-raised);border-radius:var(--radius-md);font-size:var(--text-xs)}.job-tree-run-icon{flex-shrink:0}.job-tree-run--success .job-tree-run-icon{color:var(--success)}.job-tree-run--failed .job-tree-run-icon{color:var(--error)}.job-tree-run--running .job-tree-run-icon{color:var(--warning)}.job-tree-run-time{color:var(--foreground);min-width:70px}.job-tree-run-duration{color:var(--foreground-subtle);font-family:var(--font-mono)}.job-tree-run-error{color:var(--error);margin-left:auto;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.spin{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.job-tree-item-instructions{margin-bottom:var(--space-3);padding:var(--space-3);background:var(--surface-sunken);border-radius:var(--radius-md);font-size:var(--text-xs)}.job-tree-item-instructions strong{display:block;color:var(--foreground-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.05em}.job-tree-item-instructions p{color:var(--foreground);line-height:1.5;white-space:pre-wrap}.job-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fade-in var(--duration-base) var(--ease-out)}.job-modal{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:500px;margin:var(--space-4);max-height:90vh;overflow-y:auto;animation:slide-up var(--duration-base) var(--ease-out)}.job-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground)}.job-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--foreground-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.job-modal-close:hover{background:var(--surface-raised);color:var(--foreground)}.job-modal form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.job-modal-field{display:flex;flex-direction:column;gap:var(--space-2)}.job-modal-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.job-modal-optional{font-weight:var(--font-normal);color:var(--foreground-subtle)}.job-modal-field input,.job-modal-field textarea{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.job-modal-field input:focus,.job-modal-field textarea:focus{outline:none;border-color:var(--border-focus)}.job-modal-field input::placeholder,.job-modal-field textarea::placeholder{color:var(--foreground-subtle)}.job-modal-field textarea{resize:vertical;min-height:100px;font-family:inherit}.job-modal-hint{font-size:var(--text-xs);color:var(--foreground-subtle);line-height:1.4}.job-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.job-modal-actions .btn-secondary{background:var(--surface);color:var(--foreground);border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.job-modal-actions .btn-secondary:hover{background:var(--surface-raised);border-color:var(--border-focus)}.job-modal-actions .btn-primary{background:var(--accent);color:var(--accent-foreground);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.job-modal-actions .btn-primary:hover{opacity:.9}.job-modal-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.dashboard{padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-8);max-width:1200px;margin:0 auto}.dashboard-loading,.dashboard-error{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-12);color:var(--foreground-muted)}.dashboard-error{color:var(--error)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:var(--space-6);border-bottom:1px solid var(--border)}.dashboard-header-left{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-hostname{font-size:var(--text-2xl);font-weight:var(--font-semibold);color:var(--foreground);letter-spacing:-.02em}.dashboard-meta{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--foreground-muted)}.dashboard-meta span{display:flex;align-items:center;gap:var(--space-1)}.dashboard-section{display:flex;flex-direction:column;gap:var(--space-4)}.dashboard-section-title{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--foreground-subtle);text-transform:uppercase;letter-spacing:.08em}.dashboard-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:var(--space-4)}.dashboard-stat-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--duration-base) var(--ease-default)}.dashboard-stat-card:hover{border-color:var(--border-focus);background:var(--surface-raised)}.dashboard-stat-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4)}.dashboard-stat-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:var(--radius-md);background:var(--surface-raised)}.dashboard-stat-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground-muted)}.dashboard-stat-body{display:flex;align-items:center;gap:var(--space-4)}.dashboard-stat-info{display:flex;flex-direction:column;gap:var(--space-1)}.dashboard-stat-value{font-size:var(--text-xl);font-weight:var(--font-semibold);color:var(--foreground);letter-spacing:-.01em}.dashboard-stat-subtext{font-size:var(--text-xs);color:var(--foreground-subtle)}.stat-ring{flex-shrink:0}.stat-ring text{fill:var(--foreground);font-weight:var(--font-semibold)}.dashboard-summary-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--space-4)}.dashboard-summary-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:var(--space-5);transition:all var(--duration-base) var(--ease-default)}.dashboard-summary-card:hover{border-color:var(--border-focus)}.dashboard-summary-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--border-muted)}.dashboard-summary-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:var(--radius-md);background:var(--surface-raised)}.dashboard-summary-label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground);flex:1}.dashboard-summary-total{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground)}.dashboard-summary-items{display:flex;flex-direction:column;gap:var(--space-2)}.dashboard-summary-item{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);padding:var(--space-1) 0}.dashboard-summary-item-icon{color:var(--foreground-subtle);width:16px;display:flex;align-items:center;justify-content:center}.dashboard-summary-item-label{flex:1;color:var(--foreground-muted)}.dashboard-summary-item-count{font-weight:var(--font-medium);color:var(--foreground);font-variant-numeric:tabular-nums}.dashboard-activity{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.dashboard-activity-empty{padding:var(--space-8);text-align:center;font-size:var(--text-sm);color:var(--foreground-subtle)}.dashboard-activity-item{display:grid;grid-template-columns:auto auto auto 1fr;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.dashboard-activity-item:last-child{border-bottom:none}.dashboard-activity-item:hover{background:var(--surface-raised)}.dashboard-activity-dot{width:8px;height:8px;border-radius:var(--radius-full);flex-shrink:0}.dashboard-activity-time{color:var(--foreground-subtle);font-family:var(--font-mono);font-size:var(--text-xs);min-width:52px}.dashboard-activity-category{font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--foreground-muted);background:var(--surface-raised);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);min-width:28px;text-align:center}.dashboard-activity-message{color:var(--foreground-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.memory-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.memory-tree-header{display:flex;align-items:center;gap:var(--space-3)}.memory-tree-search{flex:1}.memory-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.memory-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.memory-tree-search input::placeholder{color:var(--foreground-subtle)}.memory-tree-add{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);border:none;border-radius:var(--radius-md);color:var(--accent-foreground);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.memory-tree-add:hover{opacity:.9}.memory-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.memory-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.memory-tree-list{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-2)}.memory-tree-category{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);overflow:hidden}.memory-tree-category-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);cursor:pointer;transition:background var(--duration-fast) var(--ease-default)}.memory-tree-category-header:hover{background:var(--surface-raised)}.memory-tree-chevron{color:var(--foreground-subtle);transition:transform var(--duration-fast) var(--ease-default)}.memory-tree-icon{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background:var(--surface-raised)}.memory-tree-name{flex:1;font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.memory-tree-badge{font-size:var(--text-xs);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.memory-tree-items{border-top:1px solid var(--border-muted)}.memory-tree-item{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);padding-left:var(--space-8);border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.memory-tree-item:last-child{border-bottom:none}.memory-tree-item:hover{background:var(--surface-raised)}.memory-tree-item-line{display:none}.memory-tree-item-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-0-5)}.memory-tree-item-key{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.memory-tree-item-value{font-size:var(--text-xs);color:var(--foreground-muted);word-break:break-word;line-height:var(--leading-relaxed)}.memory-tree-item-actions{display:flex;align-items:center;gap:var(--space-1);opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}.memory-tree-item:hover .memory-tree-item-actions{opacity:1}.memory-tree-item-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.memory-tree-item-actions button:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.memory-tree-item-actions button.danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error);color:var(--error)}.memory-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-6);padding:var(--space-8)}.memory-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3);text-align:center}.memory-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.memory-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.memory-tree-add-btn{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);background:var(--accent);color:var(--accent-foreground);border:none;border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.memory-tree-add-btn:hover{opacity:.9}.memory-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;animation:fade-in var(--duration-base) var(--ease-out)}.memory-modal{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-xl);width:100%;max-width:420px;margin:var(--space-4);animation:slide-up var(--duration-base) var(--ease-out)}.memory-modal-header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border);font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--foreground)}.memory-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--foreground-subtle);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.memory-modal-close:hover{background:var(--surface-raised);color:var(--foreground)}.memory-modal form{padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-4)}.memory-modal-field{display:flex;flex-direction:column;gap:var(--space-2)}.memory-modal-field label{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--foreground)}.memory-modal-field input,.memory-modal-field select{padding:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.memory-modal-field input:focus,.memory-modal-field select:focus{outline:none;border-color:var(--border-focus)}.memory-modal-field input::placeholder{color:var(--foreground-subtle)}.memory-modal-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3);margin-top:var(--space-2);padding-top:var(--space-4);border-top:1px solid var(--border)}.memory-modal-actions .btn-secondary{background:var(--surface);color:var(--foreground);border:1px solid var(--border);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.memory-modal-actions .btn-secondary:hover{background:var(--surface-raised);border-color:var(--border-focus)}.memory-modal-actions .btn-primary{background:var(--accent);color:var(--accent-foreground);border:none;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);font-weight:var(--font-medium);cursor:pointer;transition:opacity var(--duration-fast) var(--ease-default)}.memory-modal-actions .btn-primary:hover{opacity:.9}.memory-modal-actions .btn-primary:disabled{opacity:.4;cursor:not-allowed}.activity-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.activity-tree-header{display:flex;align-items:center;gap:var(--space-3)}.activity-tree-search{flex:1}.activity-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.activity-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.activity-tree-search input::placeholder{color:var(--foreground-subtle)}.activity-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.activity-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.activity-tree-stats-status{display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-medium);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.activity-tree-stats-status--live{color:var(--success);background:oklch(from var(--success) l c h / .1)}.activity-tree-stats-status--offline{color:var(--foreground-subtle);background:var(--surface-raised)}.activity-tree-stats-status--paused{color:var(--warning);background:oklch(from var(--warning) l c h / .1)}.activity-tree-error-count{color:var(--error)}.activity-tree-warn-count{color:var(--warning)}.activity-tree-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.activity-tree-filter{padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.activity-tree-filter:hover{border-color:var(--border-focus)}.activity-tree-filter:focus{outline:none;border-color:var(--border-focus)}.activity-tree-autoscroll{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--foreground-muted);cursor:pointer;margin-left:auto}.activity-tree-autoscroll input{accent-color:var(--accent)}.activity-tree-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.activity-tree-toolbar-btn:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.activity-tree-toolbar-btn.pause:hover{background:oklch(from var(--warning) l c h / .1);border-color:var(--warning);color:var(--warning)}.activity-tree-toolbar-btn.danger:hover{background:oklch(from var(--error) l c h / .1);border-color:var(--error);color:var(--error)}.activity-tree-list{flex:1;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.activity-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-3);padding:var(--space-8);text-align:center}.activity-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.activity-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.activity-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.activity-tree-entry{border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.activity-tree-entry:hover{background:var(--surface-raised)}.activity-tree-entry:last-child{border-bottom:none}.activity-tree-entry-row{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-family:var(--font-mono);font-size:var(--text-xs)}.activity-tree-entry-row.clickable{cursor:pointer}.activity-tree-entry-time{flex-shrink:0;color:var(--foreground-subtle);font-variant-numeric:tabular-nums;min-width:85px}.activity-tree-entry-level{flex-shrink:0;font-weight:var(--font-semibold);text-transform:uppercase;font-size:9px;letter-spacing:.05em;padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm);text-align:center;min-width:36px}.activity-tree-entry-level--error{color:var(--error);background:oklch(from var(--error) l c h / .1)}.activity-tree-entry-level--warn{color:var(--warning);background:oklch(from var(--warning) l c h / .1)}.activity-tree-entry-level--info{color:var(--info);background:oklch(from var(--info) l c h / .1)}.activity-tree-entry-level--debug{color:var(--foreground-subtle);background:var(--surface-raised)}.activity-tree-entry-category{flex-shrink:0;color:var(--foreground-muted);font-weight:var(--font-medium);min-width:36px}.activity-tree-entry-message{flex:1;min-width:0;color:var(--foreground-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity-tree-entry-expand{flex-shrink:0;color:var(--foreground-subtle)}.activity-tree-entry-details{margin:0 var(--space-3) var(--space-3);padding:var(--space-3);background:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground-muted);overflow-x:auto;line-height:var(--leading-relaxed);white-space:pre-wrap;word-break:break-word}.activity-tree-entry--error{background:oklch(from var(--error) l c h / .02)}.activity-tree-entry--error:hover{background:oklch(from var(--error) l c h / .05)}.activity-tree-entry--warn{background:oklch(from var(--warning) l c h / .02)}.activity-tree-entry--warn:hover{background:oklch(from var(--warning) l c h / .05)}.logs-tree{display:flex;flex-direction:column;height:100%;gap:var(--space-4)}.logs-tree-header{display:flex;align-items:center;gap:var(--space-3)}.logs-tree-search{flex:1}.logs-tree-search input{width:100%;padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-sm);transition:all var(--duration-fast) var(--ease-default)}.logs-tree-search input:focus{outline:none;border-color:var(--border-focus);background:var(--surface-raised)}.logs-tree-search input::placeholder{color:var(--foreground-subtle)}.logs-tree-refresh{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.logs-tree-refresh:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.logs-tree-refresh.loading{animation:spin 1s linear infinite}.logs-tree-stats{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--foreground-muted)}.logs-tree-stats span{display:flex;align-items:center;gap:var(--space-1)}.logs-tree-stats-stderr{color:var(--error)}.logs-tree-stats-system{color:var(--info)}.logs-tree-toolbar{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md)}.logs-tree-filter{padding:var(--space-2) var(--space-3);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.logs-tree-filter:hover{border-color:var(--border-focus)}.logs-tree-filter:focus{outline:none;border-color:var(--border-focus)}.logs-tree-toolbar-spacer{flex:1}.logs-tree-toolbar-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--foreground-muted);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.logs-tree-toolbar-btn:hover{background:var(--surface-raised);border-color:var(--border-focus);color:var(--foreground)}.logs-tree-list{flex:1;overflow-y:auto;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg)}.logs-tree-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;gap:var(--space-3);padding:var(--space-8);text-align:center}.logs-tree-empty-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-3)}.logs-tree-empty-content p{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--foreground)}.logs-tree-empty-content span{font-size:var(--text-sm);color:var(--foreground-muted);max-width:280px}.logs-tree-error{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-3);background:oklch(from var(--error) l c h / .1);border:1px solid oklch(from var(--error) l c h / .2);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--error)}.logs-tree-loading{display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-4);font-size:var(--text-sm);color:var(--foreground-muted)}.logs-tree-entry{border-bottom:1px solid var(--border-muted);transition:background var(--duration-fast) var(--ease-default)}.logs-tree-entry:hover{background:var(--surface-raised)}.logs-tree-entry:last-child{border-bottom:none}.logs-tree-entry-header{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);font-size:var(--text-xs)}.logs-tree-entry-time{flex-shrink:0;color:var(--foreground-subtle);font-family:var(--font-mono);font-variant-numeric:tabular-nums;min-width:70px}.logs-tree-entry-level{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);font-weight:var(--font-medium);padding:var(--space-0-5) var(--space-2);border-radius:var(--radius-sm);min-width:65px}.logs-tree-entry-level--stdout{color:var(--foreground-muted);background:var(--surface-raised)}.logs-tree-entry-level--stderr{color:var(--error);background:oklch(from var(--error) l c h / .1)}.logs-tree-entry-level--system{color:var(--info);background:oklch(from var(--info) l c h / .1)}.logs-tree-entry-service{flex-shrink:0;font-weight:var(--font-medium);color:var(--accent);padding:var(--space-0-5) var(--space-2);background:oklch(from var(--accent) l c h / .1);border-radius:var(--radius-sm)}.logs-tree-entry-message{padding:0 var(--space-3) var(--space-2)}.logs-tree-entry-message pre{margin:0;font-family:var(--font-mono);font-size:var(--text-xs);color:var(--foreground-muted);white-space:pre-wrap;word-break:break-word;line-height:var(--leading-relaxed)}.logs-tree-entry-expand{display:inline-block;margin-top:var(--space-1);padding:0;background:none;border:none;font-size:var(--text-xs);color:var(--accent);cursor:pointer;transition:color var(--duration-fast) var(--ease-default)}.logs-tree-entry-expand:hover{color:var(--accent-hover);text-decoration:underline}.logs-tree-entry--stderr{background:oklch(from var(--error) l c h / .02)}.logs-tree-entry--stderr:hover{background:oklch(from var(--error) l c h / .05)}.logs-tree-load-more{padding:var(--space-3);text-align:center;border-top:1px solid var(--border-muted)}.logs-tree-load-more button{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--foreground);font-size:var(--text-xs);cursor:pointer;transition:all var(--duration-fast) var(--ease-default)}.logs-tree-load-more button:hover{background:var(--surface-raised);border-color:var(--border-focus)}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.markdown{color:var(--foreground);font-size:var(--text-base);line-height:var(--leading-relaxed)}.markdown h1,.markdown h2,.markdown h3,.markdown h4{font-weight:var(--font-semibold);margin-top:var(--space-4);margin-bottom:var(--space-2)}.markdown h1{font-size:var(--text-2xl)}.markdown h2{font-size:var(--text-xl)}.markdown h3{font-size:var(--text-lg)}.markdown p{margin-bottom:var(--space-3)}.markdown ul,.markdown ol{margin-bottom:var(--space-3);padding-left:var(--space-6)}.markdown li{margin-bottom:var(--space-1)}.markdown code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:var(--space-0-5) var(--space-1);border-radius:var(--radius-sm)}.markdown pre{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--space-3);margin-bottom:var(--space-3);overflow-x:auto}.markdown pre code{background:transparent;padding:0}.markdown blockquote{border-left:3px solid var(--border);padding-left:var(--space-4);color:var(--foreground-muted);font-style:italic;margin-bottom:var(--space-3)}.markdown a{color:var(--info);text-decoration:none}.markdown a:hover{text-decoration:underline}.markdown hr{border:none;border-top:1px solid var(--border);margin:var(--space-6) 0}.thinking-content{padding:var(--space-2) 0}.thinking-header{display:flex;align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--foreground-muted);cursor:pointer;padding:var(--space-1) 0}.thinking-icon{color:var(--warning)}.thinking-icon.done{color:var(--success)}.thinking-toggle{color:var(--foreground-subtle);margin-left:auto}.thinking-body{margin-top:var(--space-2);padding:var(--space-3);background:var(--surface);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--foreground-muted);white-space:pre-wrap}.chat-container{display:flex;flex-direction:column;flex:1;min-height:0;background:var(--background)}.chat-messages{flex:1;overflow-y:auto;padding:24px 32px;display:flex;flex-direction:column;gap:20px}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:transparent}.chat-messages::-webkit-scrollbar-thumb{background:var(--border);border-radius:100px}.chat-messages::-webkit-scrollbar-thumb:hover{background:var(--foreground-subtle)}.message-row{display:contents}.message-meta{display:flex;align-items:center;gap:8px;margin-bottom:6px}.message-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.02em}.message-label--system{color:var(--success)}.message-label--user{color:var(--foreground-muted)}.message-time{font-size:11px;color:var(--foreground-subtle)}.exec-status-inline{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:500;padding:2px 6px;border-radius:100px}.exec-status-inline .exec-status-dot{width:5px;height:5px;border-radius:50%;background:currentColor}.exec-status-inline--running{color:var(--warning);background:oklch(from var(--warning) l c h / .15)}.exec-status-inline--running .exec-status-dot{animation:pulse-dot 1.5s ease-in-out infinite}.exec-status-inline--success{color:var(--success);background:oklch(from var(--success) l c h / .15)}.exec-status-inline--error{color:var(--error);background:oklch(from var(--error) l c h / .15)}.message--user{display:flex;flex-direction:column;align-items:flex-end;max-width:70%;margin-left:auto}.message--user .message-meta{flex-direction:row;justify-content:flex-end}.message--user .message-bubble{background:var(--foreground);color:var(--background);padding:12px 16px;border-radius:18px 18px 4px;font-size:15px;line-height:1.5;white-space:pre-wrap;word-break:break-word}.message--assistant{display:flex;flex-direction:column;max-width:90%}.message--assistant .message-bubble{padding:0}.response-content{font-size:15px;line-height:1.6;color:var(--foreground)}.response-content p{margin-bottom:12px}.response-content p:last-child{margin-bottom:0}.response-content ul,.response-content ol{margin:8px 0;padding-left:20px}.response-content li{margin-bottom:4px}.response-content strong{font-weight:600;color:var(--foreground)}.response-content code{font-family:var(--font-mono);font-size:.9em;background:var(--surface);padding:2px 6px;border-radius:4px;color:var(--accent)}.response-content pre{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:12px;overflow-x:auto;margin:12px 0}.response-content pre code{background:transparent;padding:0;color:var(--foreground);font-size:13px}.response-streaming:after{content:"▋";animation:blink 1s step-end infinite;color:var(--accent);margin-left:2px}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.exec-block{background:var(--surface);border:1px solid var(--border);border-radius:8px;overflow:hidden;max-width:560px}.exec-header{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;background:var(--surface-raised);gap:12px}.exec-header-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}.exec-header-right{display:flex;align-items:center;gap:10px;flex-shrink:0}.exec-tool-badge{font-size:10px;font-weight:600;font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;color:var(--foreground-muted);background:var(--surface);padding:4px 8px;border-radius:4px;flex-shrink:0}.exec-command{font-family:var(--font-mono);font-size:13px;color:var(--foreground);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.exec-prompt{color:var(--success);font-weight:600;margin-right:6px}.exec-status{display:flex;align-items:center;gap:6px;font-family:var(--font-sans);font-size:11px;font-weight:500;padding:4px 10px;border-radius:100px;white-space:nowrap}.exec-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor}.exec-status--running{color:var(--warning);background:oklch(from var(--warning) l c h / .15)}.exec-status--running .exec-status-dot{animation:pulse-dot 1.5s ease-in-out infinite}.exec-status--success{color:var(--success);background:oklch(from var(--success) l c h / .15)}.exec-status--error{color:var(--error);background:oklch(from var(--error) l c h / .15)}@keyframes pulse-dot{0%,to{opacity:1}50%{opacity:.4}}.exec-actions{display:flex;align-items:center;gap:4px}.exec-action-btn{width:26px;height:26px;padding:0;display:flex;align-items:center;justify-content:center;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--foreground-muted);cursor:pointer;transition:all .15s ease}.exec-action-btn:hover{background:var(--background);color:var(--foreground);border-color:var(--border-focus)}.exec-action-btn svg{width:14px;height:14px}.exec-output{padding:12px 14px;font-family:var(--font-mono);font-size:12px;line-height:1.5;color:var(--foreground-muted);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;background:var(--background);border-top:1px solid var(--border)}.exec-output:empty{display:none}.thinking-indicator{display:flex;align-items:center;gap:8px;color:var(--foreground-muted);font-size:14px;padding:8px 0}.thinking-dots{display:flex;gap:4px}.thinking-dots span{width:5px;height:5px;background:var(--foreground-subtle);border-radius:50%;animation:thinking-bounce 1.4s ease-in-out infinite}.thinking-dots span:nth-child(1){animation-delay:0s}.thinking-dots span:nth-child(2){animation-delay:.2s}.thinking-dots span:nth-child(3){animation-delay:.4s}@keyframes thinking-bounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-5px);opacity:1}}.chat-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px;text-align:center}.chat-empty-icon{width:56px;height:56px;display:flex;align-items:center;justify-content:center;background:var(--surface);border-radius:16px;color:var(--foreground-subtle);margin-bottom:20px}.chat-empty-title{font-size:20px;font-weight:600;color:var(--foreground);margin-bottom:8px}.chat-empty-description{font-size:14px;color:var(--foreground-muted);max-width:360px;line-height:1.5;margin-bottom:24px}.chat-suggestions{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:400px}.chat-suggestion{padding:8px 16px;background:var(--surface);border:1px solid var(--border);border-radius:100px;font-size:14px;color:var(--foreground-muted);cursor:pointer;transition:all .15s ease}.chat-suggestion:hover{background:var(--surface-raised);color:var(--foreground);border-color:var(--accent);transform:translateY(-1px)}.chat-input-area{padding:16px 32px 24px;background:var(--background);border-top:1px solid var(--border);flex-shrink:0}.chat-input-wrapper{display:flex;align-items:flex-end;gap:12px;background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:12px 16px;transition:all .15s ease}.chat-input-wrapper:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px oklch(from var(--accent) l c h / .1)}.chat-input{flex:1;background:transparent;border:none;outline:none;font-size:15px;font-family:var(--font-sans);color:var(--foreground);resize:none;min-height:24px;max-height:160px;line-height:1.5}.chat-input::placeholder{color:var(--foreground-subtle)}.chat-send-btn{display:flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--accent);color:var(--accent-foreground);border:none;border-radius:10px;cursor:pointer;transition:all .15s ease;flex-shrink:0}.chat-send-btn:hover:not(:disabled){opacity:.9}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed}@keyframes message-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.message--user,.message--assistant{animation:message-in .2s ease-out}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.truncate{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.font-mono{font-family:var(--font-mono)}.font-medium{font-weight:var(--font-medium)}.font-semibold{font-weight:var(--font-semibold)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}.text-error{color:var(--error)}.text-info{color:var(--info)}.text-muted{color:var(--foreground-muted)}.text-subtle{color:var(--foreground-subtle)}.bg-success-muted{background:var(--success-muted)}.bg-warning-muted{background:var(--warning-muted)}.bg-error-muted{background:var(--error-muted)}.bg-info-muted{background:var(--info-muted)}.surface{background:var(--surface)}.surface-raised{background:var(--surface-raised)}.surface-sunken{background:var(--surface-sunken)}.icon-xs{width:var(--icon-xs);height:var(--icon-xs)}.icon-sm{width:var(--icon-sm);height:var(--icon-sm)}.icon-md{width:var(--icon-md);height:var(--icon-md)}.icon-lg{width:var(--icon-lg);height:var(--icon-lg)}.icon-xl{width:var(--icon-xl);height:var(--icon-xl)}.icon-2xl{width:var(--icon-2xl);height:var(--icon-2xl)}.icon-3xl{width:var(--icon-3xl);height:var(--icon-3xl)}.icon-4xl{width:var(--icon-4xl);height:var(--icon-4xl)}.rotate-180{transform:rotate(180deg)}.spin{animation:spin .8s linear infinite}.animate-fade-in{animation:fade-in var(--duration-base) var(--ease-out)}.animate-slide-up{animation:slide-up var(--duration-base) var(--ease-out)}.animate-pulse{animation:pulse 2s var(--ease-in-out) infinite}.animate-blink{animation:blink .8s var(--ease-in-out) infinite}.clickable{cursor:pointer}.clickable:hover{background:var(--surface-raised)}.interactive{transition:all var(--duration-base) var(--ease-default)}.interactive:hover{background:var(--surface-raised)}.interactive:active{transform:scale(.98)}.opacity-0{opacity:0}.opacity-50{opacity:.5}.opacity-100{opacity:1}.hover-reveal{opacity:0;transition:opacity var(--duration-fast) var(--ease-default)}*:hover>.hover-reveal{opacity:1}@media(max-width:640px){.sm\:hidden{display:none}.dashboard-stats-grid,.dashboard-summary-grid,.task-columns{grid-template-columns:1fr}.slide-panel{width:100vw}}html{-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;touch-action:manipulation}body{overscroll-behavior:none;-webkit-overflow-scrolling:touch}.app{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}button,.btn,.header-badge,.clickable{min-height:44px;min-width:44px}@media(max-width:768px){.app-header{padding:0 var(--space-2);height:auto;min-height:var(--input-height-lg);flex-wrap:wrap;gap:var(--space-1)}.app-header-left{flex:0 0 auto}.app-header-right{flex:1;justify-content:flex-end;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;gap:var(--space-1)}.app-header-right::-webkit-scrollbar{display:none}.app-logo{font-size:var(--text-base)}.header-badge{padding:var(--space-1) var(--space-2);font-size:var(--text-xs);min-height:36px;flex-shrink:0}.header-badge span:not(.header-badge-icon):not(.header-badge-count){display:none}.header-badge-icon{margin:0}.header-divider{display:none}.btn-sm{padding:var(--space-1) var(--space-2);font-size:var(--text-xs)}.btn-sm span:not(.icon-sm){display:none}.connection-dot{width:8px;height:8px}}@media(max-width:768px){.chat-messages{padding:var(--space-3) var(--space-3);gap:var(--space-3)}.message--user{max-width:85%}.message--user .message-bubble{padding:var(--space-2) var(--space-3);font-size:var(--text-sm);border-radius:16px 16px 4px}.message--assistant{max-width:95%}.response-content{font-size:var(--text-sm)}.exec-block{max-width:100%}.exec-header{padding:var(--space-2);flex-wrap:wrap}.exec-command{font-size:var(--text-xs)}.exec-output{padding:var(--space-2);font-size:11px;max-height:200px}.message-meta{font-size:10px;gap:var(--space-1)}.message-label,.message-time{font-size:10px}}@media(max-width:768px){.chat-input-area{padding:var(--space-2) var(--space-3) calc(var(--space-3) + env(safe-area-inset-bottom))}.chat-input-wrapper{padding:var(--space-2) var(--space-3);border-radius:12px;gap:var(--space-2)}.chat-input{font-size:16px;min-height:20px}.chat-send-btn{width:40px;height:40px;border-radius:8px}}@media(max-width:768px){.slide-panel{width:100vw;max-width:100vw;border-radius:0}.slide-panel-header{padding:var(--space-3);padding-top:calc(var(--space-3) + env(safe-area-inset-top))}.slide-panel-content,.panel-section{padding:var(--space-3)}.panel-section-title{font-size:var(--text-sm)}}@media(max-width:768px){.chat-empty{padding:var(--space-4)}.chat-empty-icon{width:48px;height:48px;border-radius:12px}.chat-empty-title{font-size:var(--text-lg)}.chat-empty-description{font-size:var(--text-sm)}.chat-suggestions{gap:var(--space-1)}.chat-suggestion{padding:var(--space-2) var(--space-3);font-size:var(--text-sm)}}@media(max-height:500px)and (orientation:landscape){.app-header{height:40px;min-height:40px}.chat-messages{padding:var(--space-2)}.chat-input-area{padding:var(--space-1) var(--space-2)}.chat-empty{padding:var(--space-2)}.chat-empty-icon{display:none}}@media(min-width:769px)and (max-width:1024px){.slide-panel{width:400px}.header-badge span:not(.header-badge-icon):not(.header-badge-count){display:none}}@media(min-width:1025px){.header-badge span:not(.header-badge-icon):not(.header-badge-count){display:inline}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media(prefers-contrast:high){:root{--border: rgba(255, 255, 255, .3)}}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;width:100%;margin:0;padding:0}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--foreground);background:var(--background);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
