@import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap");*{box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root{--bg-app:#0f1117;--bg-panel:rgba(23,27,36,0.7);--bg-panel-solid:#171b24;--bg-input:#1e2433;--bg-input-hover:#252b3d;--bg-button:#e2e8f0;--bg-button-hover:#ffffff;--bg-accent:#6366f1;--bg-accent-hover:#4f46e5;--bg-success:#10b981;--bg-error:#ef4444;--border-light:rgba(255,255,255,0.08);--border-focus:rgba(99,102,241,0.5);--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-button:#0f1117;--shadow-glass:0 8px 32px 0 rgba(0,0,0,0.3);--shadow-sm:0 4px 6px -1px rgba(0,0,0,0.1);--radius-lg:16px;--radius-md:12px;--radius-sm:8px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono",Consolas,Monaco,monospace}body{margin:0;background:var(--bg-app);background-image:radial-gradient(circle at 15% 50%,rgba(99,102,241,.08),transparent 25%),radial-gradient(circle at 85% 30%,rgba(16,185,129,.05),transparent 25%);color:var(--text-primary);font-family:var(--font-sans);line-height:1.5}button,input,textarea{font:inherit;outline:none}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:rgba(255,255,255,.2)}.appShell{display:flex;flex-direction:column;min-height:100vh;max-width:1360px;margin:0 auto;padding:24px;gap:24px}.appHeader{justify-content:space-between;padding-bottom:16px;border-bottom:1px solid var(--border-light)}.appHeader,.appHeaderMain{display:flex;align-items:center;gap:16px}h1{margin:0;font-size:24px;font-weight:600;letter-spacing:-.02em}.runIdBadge{font-size:12px;padding:4px 10px;border-radius:999px;background:var(--bg-input);color:var(--text-secondary);font-family:var(--font-mono);border:1px solid var(--border-light)}.appBody{display:grid;grid-template-columns:280px 1fr;grid-gap:24px;gap:24px;flex:1 1;min-height:0}@media (max-width:960px){.appBody{grid-template-columns:1fr}.appSidebar{order:2}}.panel{background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;box-shadow:var(--shadow-sm);transition:transform .2s ease,box-shadow .2s ease}.compactPanel{padding:16px}.compactPanel h2{margin:0 0 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.appMain{display:flex;flex-direction:column;min-height:600px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-light);border-radius:var(--radius-lg);box-shadow:var(--shadow-glass);overflow:hidden}.workspaceTabs{display:flex;gap:4px;border-bottom:1px solid var(--border-light);background:rgba(0,0,0,.2);padding:8px 12px 0}.workspaceTab{background:transparent;color:var(--text-secondary);border:none;border-radius:var(--radius-sm) var(--radius-sm) 0 0;padding:12px 20px;font-size:13px;font-weight:500;display:inline-flex;align-items:center;gap:8px;cursor:pointer;transition:all .2s ease;position:relative}.workspaceTab:hover:not(:disabled){color:var(--text-primary);background:rgba(255,255,255,.03);transform:translateY(-1px)}.workspaceTab.active{color:var(--text-primary);background:var(--bg-panel-solid)}.workspaceTab.active:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--bg-accent);box-shadow:0 -2px 10px var(--bg-accent)}.tabBadge{font-size:10px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:rgba(255,255,255,.1);color:var(--text-primary);display:inline-flex;align-items:center;justify-content:center;font-weight:600}.workspaceTab.active .tabBadge{background:var(--bg-accent)}.tabPanel{flex:1 1;overflow:auto;padding:32px;position:relative}button{border:0;border-radius:var(--radius-sm);background:var(--bg-button);color:var(--text-button);padding:10px 16px;font-size:13px;font-weight:600;cursor:pointer;transition:all .2s ease}button:hover:not(:disabled){background:var(--bg-button-hover);transform:translateY(-1px)}button:disabled{opacity:.5;cursor:not-allowed}.secondaryButton{display:inline-flex;align-items:center;gap:6px;background:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-light);text-decoration:none}.secondaryButton:hover:not(:disabled){background:var(--bg-input-hover);border-color:rgba(255,255,255,.2)}.primaryButton{display:inline-flex;align-items:center;gap:8px;background:var(--bg-accent);color:#fff;padding:10px 16px;border-radius:var(--radius-sm);font-size:13px;font-weight:600;text-decoration:none;border:1px solid transparent;transition:all .2s ease}.primaryButton:hover{background:var(--bg-accent-hover);box-shadow:0 0 15px rgba(99,102,241,.4)}.formPanel{display:grid;grid-gap:20px;gap:20px}.formPanel label{display:grid;grid-gap:8px;gap:8px;font-size:13px;font-weight:500;color:var(--text-secondary)}.formPanel input,.formPanel textarea{width:100%;padding:12px 16px;border:1px solid var(--border-light);border-radius:var(--radius-sm);background:rgba(0,0,0,.2);color:var(--text-primary);font-size:14px;transition:all .2s ease}.formPanel input:focus,.formPanel textarea:focus{border-color:var(--bg-accent);box-shadow:0 0 0 2px var(--border-focus);background:rgba(0,0,0,.4)}.hint{font-size:12px;color:var(--text-muted);line-height:1.5}.statusBadge{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:4px 10px;border-radius:999px;background:var(--bg-input);color:var(--text-secondary);border:1px solid var(--border-light);display:inline-flex;align-items:center;gap:6px}.statusBadge.live:before{content:"";display:block;width:6px;height:6px;border-radius:50%;background:var(--bg-success);box-shadow:0 0 8px var(--bg-success);animation:pulse 2s infinite}@keyframes pulse{0%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}.pipeline{list-style:none;margin:0;padding:0;display:grid;grid-gap:12px;gap:12px}.pipelineStep{display:flex;align-items:center;gap:12px;font-size:13px;color:var(--text-muted);transition:color .3s ease}.pipelineStep .dot{width:12px;height:12px;border-radius:50%;background:var(--bg-input);border:2px solid var(--border-light);transition:all .3s ease}.pipelineStep.active{color:var(--text-primary);font-weight:500}.pipelineStep.active .dot{background:var(--bg-accent);border-color:var(--bg-accent);box-shadow:0 0 12px rgba(99,102,241,.6)}.pipelineStep.complete{color:var(--text-secondary)}.pipelineStep.complete .dot{background:var(--bg-success);border-color:var(--bg-success)}.pipelineStep.failed{color:var(--bg-error)}.pipelineStep.failed .dot{background:var(--bg-error);border-color:var(--bg-error);box-shadow:0 0 12px rgba(239,68,68,.6)}.appSidebar{display:grid;grid-gap:16px;gap:16px;align-content:start}.healthList{list-style:none;margin:0;padding:0;display:grid;grid-gap:8px;gap:8px;font-size:13px}.healthList li{display:flex;align-items:center;gap:8px}.healthList li:before{content:"";display:block;width:6px;height:6px;border-radius:50%}.healthOk:before{background:var(--bg-success)}.healthBad:before{background:var(--bg-error)}.healthWarn:before{background:#f59e0b}.sidebarAgents{list-style:none;margin:0;padding:0;display:grid;grid-gap:10px;gap:10px;font-size:13px}.sidebarAgent{display:flex;align-items:center;gap:10px;color:var(--text-muted);transition:all .2s ease}.sidebarAgent:before{content:"";width:8px;height:8px;border-radius:2px;background:var(--bg-input);border:1px solid var(--border-light)}.sidebarAgent-active{color:var(--text-primary);font-weight:500}.sidebarAgent-active:before{background:var(--bg-accent);border-color:var(--bg-accent)}.sidebarAgent-complete{color:var(--text-secondary)}.sidebarAgent-complete:before{background:var(--bg-success);border-color:var(--bg-success)}.sidebarAgent-failed{color:var(--bg-error)}.sidebarAgent-failed:before{background:var(--bg-error);border-color:var(--bg-error)}.chatRoom{display:flex;flex-direction:column;gap:20px;max-width:800px;margin:0 auto}.chatSystem{align-self:center;background:rgba(255,255,255,.03);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:12px 20px;font-size:13px;color:var(--text-secondary);display:flex;align-items:center;gap:12px;max-width:90%;animation:fadeIn .4s ease-out}.chatSystemIcon{font-size:16px}.chatRow{display:flex;gap:16px;align-items:flex-start;animation:slideUp .4s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.chatAvatar{width:40px;height:40px;border-radius:12px;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.2);border:1px solid rgba(255,255,255,.1)}.chatContent{flex:1 1;min-width:0}.chatHeader{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.chatHeader strong{font-size:14px;font-weight:600;color:var(--text-primary)}.chatStage{font-size:10px;font-weight:700;text-transform:uppercase;color:var(--bg-accent);letter-spacing:.05em;background:rgba(99,102,241,.1);padding:2px 6px;border-radius:4px}.chatTime{margin-left:auto;font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}.chatBubble{display:inline-block;max-width:100%;padding:14px 18px;border-radius:var(--radius-lg);border-top-left-radius:4px;background:rgba(255,255,255,.04);border:1px solid var(--border-light);font-size:14px;line-height:1.6;color:var(--text-primary);box-shadow:0 4px 6px rgba(0,0,0,.05)}.chatBubble-handoff{background:rgba(99,102,241,.08);border-color:rgba(99,102,241,.2)}.chatBubble-success{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.2)}.chatBubble-error{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.2);color:#fca5a5}.msgBody{display:grid;grid-gap:8px;gap:8px}.msgBody p{margin:0}.msgBullet{padding-left:12px}.inlineCode{font-family:var(--font-mono);font-size:.9em;background:rgba(0,0,0,.3);padding:2px 6px;border-radius:4px;color:#93c5fd;border:1px solid rgba(255,255,255,.05)}.chatTyping{display:flex;align-items:center;gap:6px;padding:12px 20px;background:rgba(255,255,255,.02);border-radius:999px;width:-moz-fit-content;width:fit-content;margin:10px auto;border:1px solid var(--border-light)}.typingDot{width:6px;height:6px;border-radius:50%;background:var(--text-muted);animation:bounce 1.4s ease-in-out infinite both}.typingDot:first-child{animation-delay:-.32s}.typingDot:nth-child(2){animation-delay:-.16s}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.typingLabel{font-size:12px;color:var(--text-muted);margin-left:6px}.reportBanner{display:flex;gap:16px;padding:20px;border-radius:var(--radius-md);border:1px solid var(--border-light);background:rgba(0,0,0,.2);margin-bottom:32px}.reportBanner-success{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2)}.reportBanner-failed{background:rgba(239,68,68,.05);border-color:rgba(239,68,68,.2)}.reportBanner-running{background:rgba(99,102,241,.05);border-color:rgba(99,102,241,.2)}.bannerIcon{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:700;flex-shrink:0;font-size:16px}.reportBanner-success .bannerIcon{background:var(--bg-success);color:#fff;box-shadow:0 0 15px rgba(16,185,129,.4)}.reportBanner-failed .bannerIcon{background:var(--bg-error);color:#fff;box-shadow:0 0 15px rgba(239,68,68,.4)}.bannerDots{display:flex;gap:4px;padding:12px 8px}.bannerDots span{width:6px;height:6px;border-radius:50%;background:var(--bg-accent);animation:pulse 1.5s infinite}.bannerBody strong{display:block;font-size:16px;margin-bottom:4px;color:var(--text-primary)}.bannerBody p{margin:0 0 4px;color:var(--text-secondary);font-size:14px}.bannerBody code{font-family:var(--font-mono);color:#cbd5e1}.prLinkBanner{display:inline-block;margin-top:8px;font-weight:600;font-size:14px;color:var(--bg-success);text-decoration:none}.prLinkBanner:hover{text-decoration:underline}.codeText{background:#000;border:1px solid var(--border-light);border-radius:var(--radius-md);padding:20px;margin:0;font-family:var(--font-mono);font-size:13px;color:#e2e8f0;overflow:auto;box-shadow:inset 0 2px 10px rgba(0,0,0,.5)}.fileDiffBlock{margin-bottom:24px}.fileDiffHeader{display:flex;align-items:center;gap:12px;width:100%;background:var(--bg-input);border:1px solid var(--border-light);padding:12px 16px;border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:all .2s ease}.fileDiffHeader:hover{background:var(--bg-input-hover)}.fileDiffHeader[aria-expanded=true]{border-bottom-left-radius:0;border-bottom-right-radius:0;border-bottom-color:transparent}.fileDiffPath{font-size:13px;flex:1 1;text-align:left}.diffStat,.fileDiffPath{font-family:var(--font-mono)}.diffStat{font-size:12px;font-weight:600}.addStat{color:var(--bg-success)}.removeStat{color:var(--bg-error)}.diffTableWrap{border:1px solid var(--border-light);border-top:0;border-bottom-left-radius:var(--radius-md);border-bottom-right-radius:var(--radius-md);background:#000;overflow:auto;max-height:600px}.diffTable{width:100%;border-collapse:collapse;font-family:var(--font-mono);font-size:12px;color:#cbd5e1}.diffLineCol{color:#64748b;font-weight:400;padding:4px 8px}.diffLineCol,.diffLineNum{width:40px;background:#111;text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none;border-right:1px solid #222}.diffLineNum{color:#475569;padding:0 8px}.diffLineText{padding:0 12px;white-space:pre;width:100%}.diffRow-hunk td{background:rgba(99,102,241,.1);color:#818cf8;padding:6px 12px;border-bottom:1px solid rgba(99,102,241,.2);border-top:1px solid rgba(99,102,241,.2)}.diffRow-add .diffLineText{background:rgba(16,185,129,.1);color:#a7f3d0}.diffRow-remove .diffLineText{background:rgba(239,68,68,.1);color:#fca5a5}.pushPanel{display:flex;gap:16px;background:var(--bg-panel-solid);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:24px;margin-bottom:32px}.pushIcon{font-size:24px;line-height:1}.pushPanel strong{display:block;font-size:16px;color:var(--text-primary);margin-bottom:4px}.pushPanel p{margin:0 0 12px;color:var(--text-secondary);font-size:14px}.pushActions{display:flex;flex-direction:column;gap:12px;margin-top:16px}.reportSectionHeader{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-light);padding-bottom:12px;margin-bottom:20px}.reportSectionActions{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap}.changesSection h3,.reportSection h3{margin:0;font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.reportMarkdown{background:var(--bg-panel-solid);border:1px solid var(--border-light);border-radius:var(--radius-md);padding:32px;box-shadow:inset 0 2px 10px rgba(0,0,0,.2)}.reportH1{font-size:24px;margin:0 0 16px;border-bottom:1px solid var(--border-light);padding-bottom:8px}.reportH1,.reportH2{color:var(--text-primary);font-weight:600}.reportH2{font-size:18px;margin:24px 0 12px}.reportH3{font-size:14px;margin:16px 0 8px;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.reportP{margin:0 0 12px;line-height:1.6}.reportLi,.reportP{color:#cbd5e1;font-size:14px}.reportLi{margin:0 0 6px 20px}.reportBreak{height:16px}.applySuccess{background:rgba(16,185,129,.05);border:1px solid rgba(16,185,129,.2);border-radius:var(--radius-sm);color:#a7f3d0}.applySuccess,.applyWarn{display:flex;gap:12px;padding:16px}.applyWarn{background:rgba(245,158,11,.05);border:1px solid rgba(245,158,11,.2);border-radius:var(--radius-sm);color:#fcd34d}.applySuccess p,.applyWarn p,.replicationSteps{margin:0;font-size:14px}.replicationSteps{padding-left:24px;color:#cbd5e1}.replicationSteps li{margin-bottom:12px}.replicationSteps code{font-family:var(--font-mono);background:rgba(0,0,0,.3);padding:2px 6px;border-radius:4px;color:#93c5fd}.diffFilesHeader{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:16px}.diffActions{display:flex;gap:8px}.chatEmptyIcon,.tabEmptyIcon{font-size:48px;opacity:.5;margin-bottom:16px}.chatEmptyIcon{animation:float 6s ease-in-out infinite}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-10px)}to{transform:translateY(0)}}.modeTabs{display:flex;gap:8px;background:rgba(0,0,0,.2);padding:4px;border-radius:var(--radius-sm);border:1px solid var(--border-light)}.modeTab{flex:1 1;background:transparent;color:var(--text-secondary);text-align:center}.modeTab:hover:not(:disabled){background:rgba(255,255,255,.05);color:var(--text-primary);transform:translateY(-1px)}.modeTab.active{background:var(--bg-input);color:var(--text-primary);box-shadow:var(--shadow-sm)}