.layout{height:100%;display:flex;flex-direction:column;overflow:hidden}.layout-body{flex:1;display:flex;overflow:hidden}.layout-main{flex:1;display:flex;flex-direction:column;overflow:hidden}.header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-sm) var(--spacing-lg);background:var(--bg-secondary);border-bottom:1px solid var(--border);height:48px;flex-shrink:0}.header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.connection-dot{width:8px;height:8px;border-radius:50%;background:var(--color-error);transition:background .3s}.connection-dot.connected{background:var(--color-success)}.header-title{font-weight:600;font-size:var(--font-size-md);color:var(--text-primary)}.header-center{display:flex;flex-direction:column;align-items:center;gap:2px;flex:1;min-width:0;padding:0 var(--spacing-lg)}.header-goal{font-size:var(--font-size-sm);color:var(--text-primary);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header-status{font-size:var(--font-size-xs);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.header-right{display:flex;align-items:center;gap:var(--spacing-md)}.stat{font-size:var(--font-size-sm);color:var(--text-secondary)}.stat-value{font-weight:600;color:var(--text-primary)}.sidebar{width:var(--sidebar-width);background:var(--bg-secondary);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto;flex-shrink:0;padding:var(--spacing-sm) 0}.sidebar-section{margin-top:var(--spacing-md)}.sidebar-label{display:block;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-xs);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-weight:600}.sidebar-item{display:flex;align-items:center;gap:var(--spacing-sm);width:100%;padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-md);color:var(--text-secondary);text-align:left;border-radius:0;transition:background .15s}.sidebar-item:hover{background:var(--bg-hover);color:var(--text-primary)}.sidebar-item.active{background:var(--bg-tertiary);color:var(--text-primary)}.channel-hash{color:var(--text-muted);font-weight:500}.channel-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.unread-badge{background:var(--color-accent);color:#fff;font-size:var(--font-size-xs);font-weight:600;padding:1px 6px;border-radius:10px;min-width:18px;text-align:center}.sidebar-agent{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-xs) var(--spacing-lg);font-size:var(--font-size-sm);color:var(--text-secondary)}.agent-name{font-weight:500}.agent-task-hint{font-size:var(--font-size-xs);color:var(--text-muted);margin-left:auto;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.status-dot{flex-shrink:0}.status-idle{background:var(--color-status-idle)}.status-working{background:var(--color-status-working)}.status-done{background:var(--color-status-done)}.status-error{background:var(--color-status-error)}.status-waiting{background:var(--color-status-waiting)}.agent-board{display:flex;flex-direction:column;height:100%;overflow:hidden}.agent-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md);padding:var(--spacing-lg);overflow-y:auto;flex:1}.agent-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm);transition:border-color .2s}.agent-card:hover{border-color:var(--text-muted)}.status-border-working{border-left:3px solid var(--color-status-working)}.status-border-done{border-left:3px solid var(--color-status-done)}.status-border-error{border-left:3px solid var(--color-status-error)}.status-border-waiting{border-left:3px solid var(--color-status-waiting)}.status-border-idle{border-left:3px solid var(--color-status-idle)}.agent-card-header{display:flex;align-items:center;gap:var(--spacing-sm)}.agent-avatar{font-size:20px}.agent-card-name{font-weight:600;font-size:var(--font-size-md);flex:1}.agent-card-task{font-size:var(--font-size-sm);color:var(--text-primary);line-height:1.4}.agent-card-activity{font-size:var(--font-size-sm);color:var(--text-secondary);font-family:var(--font-mono);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.agent-card-footer{display:flex;align-items:center;gap:var(--spacing-sm);font-size:var(--font-size-xs);color:var(--text-muted)}.agent-tool{background:var(--bg-tertiary);padding:1px 6px;border-radius:var(--radius-sm)}.agent-elapsed,.agent-cost{margin-left:auto}.activity-log{border-top:1px solid var(--border);max-height:240px;display:flex;flex-direction:column;flex-shrink:0}.activity-log-header{padding:var(--spacing-sm) var(--spacing-lg);font-size:var(--font-size-sm);font-weight:600;color:var(--text-secondary);border-bottom:1px solid var(--border-subtle)}.activity-log-list{overflow-y:auto;padding:var(--spacing-xs) var(--spacing-lg)}.log-entry{display:flex;gap:var(--spacing-sm);padding:2px 0;font-size:var(--font-size-sm);line-height:1.4}.log-time{color:var(--text-muted);font-family:var(--font-mono);font-size:var(--font-size-xs);flex-shrink:0}.log-agent{font-weight:600;flex-shrink:0}.log-message{color:var(--text-secondary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.agent-color-researcher{color:var(--color-agent-researcher)}.agent-color-reviewer{color:var(--color-agent-reviewer)}.agent-color-coder{color:var(--color-agent-coder)}.agent-color-tester{color:var(--color-agent-tester)}.agent-color-devops{color:var(--color-agent-devops)}.agent-color-master{color:var(--color-accent)}.empty-state{color:var(--text-muted);text-align:center;padding:var(--spacing-xl);font-size:var(--font-size-sm)}.channel-view{display:flex;flex-direction:column;height:100%;overflow:hidden}.channel-header{padding:var(--spacing-sm) var(--spacing-lg);border-bottom:1px solid var(--border);flex-shrink:0}.channel-header-name{font-weight:600;font-size:var(--font-size-lg)}.message-list{flex:1;overflow-y:auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;flex-direction:column;gap:var(--spacing-sm)}.message-bubble{display:flex;gap:var(--spacing-sm);max-width:75%}.message-bubble.agent{align-self:flex-start}.message-bubble.user{align-self:flex-end;flex-direction:row-reverse}.message-bubble.system{align-self:center;max-width:90%;justify-content:center}.message-bubble.system .message-text{color:var(--text-muted);font-size:var(--font-size-sm);font-style:italic}.message-avatar{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;background:var(--bg-tertiary);border-radius:var(--radius-md)}.message-content{display:flex;flex-direction:column;gap:2px}.message-meta{display:flex;align-items:center;gap:var(--spacing-sm)}.message-sender{font-weight:600;font-size:var(--font-size-sm)}.message-time{font-size:var(--font-size-xs);color:var(--text-muted)}.message-text{font-size:var(--font-size-md);line-height:1.5;color:var(--text-primary);word-break:break-word}.message-bubble.user .message-content{background:#58a6ff26;padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg)}.message-bubble.agent .message-content{background:var(--bg-secondary);padding:var(--spacing-sm) var(--spacing-md);border-radius:var(--radius-lg)}.message-input{display:flex;align-items:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) var(--spacing-lg);border-top:1px solid var(--border);flex-shrink:0}.message-textarea{flex:1;resize:none;background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-md);padding:var(--spacing-sm) var(--spacing-md);outline:none;min-height:38px;max-height:120px;transition:border-color .2s}.message-textarea:focus{border-color:var(--color-accent)}.send-button{background:var(--color-accent);color:#fff;padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm);transition:opacity .2s}.send-button:hover:not(:disabled){opacity:.9}.send-button:disabled{opacity:.5;cursor:not-allowed}.call-banner-container{display:flex;flex-direction:column;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg)}.call-banner{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);border-radius:var(--radius-md);background:var(--bg-secondary);border:1px solid var(--border)}.call-preparing{border-color:var(--color-warning);background:#e3b34114}.call-ringing{border-color:var(--color-success);background:#3fb95014;animation:ring-pulse 2s ease-in-out infinite}.call-active{border-color:var(--color-accent);background:#58a6ff14}@keyframes ring-pulse{0%,to{opacity:1}50%{opacity:.7}}.call-banner-icon{font-size:24px;flex-shrink:0}.call-banner-info{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.call-banner-agent{font-weight:600;font-size:var(--font-size-md)}.call-banner-status{font-size:var(--font-size-sm);color:var(--text-secondary)}.call-banner-question{font-size:var(--font-size-sm);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-pulse{width:12px;height:12px;border-radius:50%;background:var(--color-success);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.5);opacity:.5}to{transform:scale(1);opacity:1}}:root{--bg-primary: #0d1117;--bg-secondary: #161b22;--bg-tertiary: #21262d;--bg-hover: #30363d;--border: #30363d;--border-subtle: #21262d;--text-primary: #e6edf3;--text-secondary: #8b949e;--text-muted: #6e7681;--color-accent: #58a6ff;--color-success: #3fb950;--color-warning: #e3b341;--color-error: #f85149;--color-info: #79c0ff;--color-agent-researcher: #58a6ff;--color-agent-reviewer: #e3b341;--color-agent-coder: #3fb950;--color-agent-tester: #79c0ff;--color-agent-devops: #f78166;--color-agent-default: #8b949e;--color-status-idle: #6e7681;--color-status-working: #3fb950;--color-status-done: #58a6ff;--color-status-error: #f85149;--color-status-waiting: #e3b341;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 12px;--spacing-lg: 16px;--spacing-xl: 24px;--spacing-2xl: 32px;--sidebar-width: 240px;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", Helvetica, Arial, sans-serif;--font-mono: "SFMono-Regular", Consolas, "Liberation Mono", Menlo, monospace;--font-size-xs: 11px;--font-size-sm: 12px;--font-size-md: 14px;--font-size-lg: 16px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 12px;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .4);--shadow-md: 0 4px 12px rgba(0, 0, 0, .5);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .6)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;width:100%}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--font-size-md);line-height:1.5;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column}a{color:var(--color-accent);text-decoration:none}a:hover{text-decoration:underline}button{cursor:pointer;font-family:inherit;font-size:inherit;border:none;background:none}input,textarea{font-family:inherit;font-size:inherit;color:inherit}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--bg-hover);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}*{scrollbar-width:thin;scrollbar-color:var(--bg-hover) transparent}::selection{background-color:#58a6ff4d;color:var(--text-primary)}code,pre{font-family:var(--font-mono);font-size:var(--font-size-sm)}
