:root{--bg-deep:#10161c;--bg-panel:#161d25;--bg-panel-raised:#1c242e;--line:#2a333e;--text-primary:#e8edf2;--text-muted:#7c8b9b;--pulse-teal:#3ddcb4;--pulse-amber:#f2b84b;--pulse-red:#f2664b;--pulse-blue:#5aa9e6;--font-ui:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SFMono-Regular", Consolas, monospace;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg-deep);color:var(--text-primary);font-family:var(--font-ui);-webkit-font-smoothing:antialiased}h1,h2,h3,p{margin:0}button{cursor:pointer;font-family:inherit}.scenario-selector{position:relative}.scenario-trigger{background:var(--bg-panel);border:1px solid var(--line);min-width:260px;color:var(--text-primary);border-radius:10px;align-items:center;gap:14px;padding:10px 14px;transition:border-color .12s,background .12s;display:flex}.scenario-trigger:hover{background:var(--bg-panel-raised);border-color:#3a4553}.scenario-trigger-text{flex-direction:column;flex:1;align-items:flex-start;gap:2px;display:flex}.scenario-trigger-label{font-size:13px;font-weight:600}.scenario-trigger-file{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.scenario-chevron{color:var(--text-muted);flex-shrink:0;transition:transform .15s}.scenario-chevron.is-open{transform:rotate(180deg)}.scenario-panel{background:var(--bg-panel-raised);border:1px solid var(--line);z-index:20;border-radius:10px;flex-direction:column;gap:2px;width:320px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 12px 28px #00000059}.scenario-option{text-align:left;color:var(--text-primary);background:0 0;border:1px solid #0000;border-radius:8px;flex-direction:column;gap:4px;padding:10px 12px;transition:background .12s;display:flex}.scenario-option:hover{background:var(--bg-panel)}.scenario-option.is-selected{background:#3ddcb40f;border-color:#3ddcb459}.scenario-option-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.scenario-option-label{font-size:13px;font-weight:600}.scenario-option-tag{color:var(--text-muted);border:1px solid var(--line);border-radius:5px;padding:2px 6px;font-size:10px}.scenario-option-desc{color:var(--text-muted);font-size:12px;line-height:1.4}.pipeline-panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:22px;padding:22px 24px;display:flex}.pipeline-panel-header{justify-content:space-between;align-items:center;display:flex}.pipeline-panel-header h2{color:var(--text-primary);font-size:14px;font-weight:600}.run-button{background:var(--pulse-teal);color:#0b1512;border:none;border-radius:8px;align-items:center;gap:8px;padding:9px 16px;font-size:13px;font-weight:600;transition:filter .12s,transform .12s;display:flex}.run-button:hover:not(:disabled){filter:brightness(1.08)}.run-button:disabled{background:var(--bg-panel-raised);color:var(--text-muted);cursor:default}.run-spinner{border:2px solid #7c8b9b59;border-top-color:var(--text-muted);border-radius:50%;width:11px;height:11px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.stepper{align-items:flex-start;display:flex}.stepper-item{flex-direction:column;flex:1;align-items:center;gap:10px;display:flex}.stepper-node-row{align-items:center;width:100%;display:flex}.stepper-node{border:1px solid var(--line);background:var(--bg-panel-raised);width:28px;height:28px;color:var(--text-muted);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:all .2s;display:flex}.stepper-node--active{border-color:var(--pulse-amber);color:var(--pulse-amber);box-shadow:0 0 0 4px #f2b84b24}.stepper-node--done{border-color:var(--pulse-teal);color:var(--pulse-teal);background:#3ddcb41f}.stepper-line{background:var(--line);flex:1;height:1px;margin:0 4px;transition:background .2s}.stepper-line.is-done{background:var(--pulse-teal);opacity:.5}.stepper-label{color:var(--text-muted);font-size:12px}.stepper-label--active{color:var(--pulse-amber);font-weight:600}.stepper-label--done{color:var(--text-primary)}.pipeline-panel-footer{flex-wrap:wrap;gap:10px;display:flex}.status-badge{border:1px solid var(--line);border-radius:8px;align-items:center;gap:8px;padding:7px 12px;font-size:12px;font-weight:500;display:flex}.status-badge--idle{color:var(--text-muted)}.status-badge--fail{color:var(--pulse-red);background:#f2664b14;border-color:#f2664b59}.status-badge--progress{color:var(--pulse-amber);background:#f2b84b14;border-color:#f2b84b59}.status-badge--pass{color:var(--pulse-teal);background:#3ddcb414;border-color:#3ddcb459}.terminal-panel{border:1px solid var(--line);background:#0c1117;border-radius:12px;flex-direction:column;gap:14px;min-height:320px;padding:18px 20px 20px;display:flex}.terminal-panel-header{justify-content:space-between;align-items:center;display:flex}.terminal-panel-header h2{color:var(--text-primary);font-size:14px;font-weight:600}.terminal-dots{gap:6px;display:flex}.terminal-dots span{background:var(--line);border-radius:50%;width:8px;height:8px}.terminal-body{font-family:var(--font-mono);flex:1;max-height:280px;font-size:12.5px;line-height:1.7;overflow-y:auto}.terminal-empty{color:var(--text-muted);font-family:var(--font-ui);font-size:13px}.terminal-line{white-space:pre-wrap;color:var(--text-primary)}.terminal-line--command{color:var(--pulse-blue)}.terminal-line--fail{color:var(--pulse-red)}.terminal-line--pass{color:var(--pulse-teal)}.terminal-cursor{background:var(--pulse-teal);vertical-align:middle;width:6px;height:13px;animation:.9s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.diff-panel{background:var(--bg-panel);border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:14px;min-height:320px;padding:18px 20px 20px;display:flex}.diff-panel-header{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.diff-panel-header h2{color:var(--text-primary);font-size:14px;font-weight:600}.diff-file{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.diff-empty{text-align:center;color:var(--text-muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;display:flex}.diff-empty p{color:var(--text-primary);font-size:13px}.diff-empty small{font-size:12px}.diff-columns{flex:1;grid-template-columns:1fr 1fr;gap:14px;display:grid}.diff-column{flex-direction:column;gap:8px;min-width:0;display:flex}.diff-column-label{border-radius:5px;width:fit-content;padding:2px 8px;font-size:11px;font-weight:600}.diff-column-label--before{color:var(--pulse-red);background:#f2664b1a}.diff-column-label--after{color:var(--pulse-teal);background:#3ddcb41a}.diff-code{font-family:var(--font-mono);border:1px solid var(--line);background:#0c1117;border-radius:8px;margin:0;padding:10px 0;font-size:12px;line-height:1.7;overflow-x:auto}.diff-line{white-space:pre;gap:10px;padding:0 12px;display:flex}.diff-gutter{width:10px;color:var(--text-muted);flex-shrink:0}.diff-line--removed{color:#f2b4a6;background:#f2664b12}.diff-line--removed .diff-gutter{color:var(--pulse-red)}.diff-line--added{color:#b6ecdd;background:#3ddcb412}.diff-line--added .diff-gutter{color:var(--pulse-teal)}@media (width<=640px){.diff-columns{grid-template-columns:1fr}}.shell{flex-direction:column;gap:24px;max-width:1280px;min-height:100%;margin:0 auto;padding:28px 32px 40px;display:flex}.shell-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;display:flex}.brand{align-items:baseline;gap:10px;display:flex}.brand-mark{background:var(--pulse-teal);border-radius:50%;align-self:center;width:10px;height:10px;box-shadow:0 0 0 4px #3ddcb426}.brand h1{letter-spacing:-.01em;font-size:20px;font-weight:600}.brand-sub{color:var(--text-muted);font-size:14px}.shell-body{flex-direction:column;gap:20px;display:flex}.shell-split{grid-template-columns:1fr 1fr;gap:20px;display:grid}@media (width<=860px){.shell-split{grid-template-columns:1fr}}.error-banner{color:#fca5a5;background:#ef44441f;border:1px solid #ef444459;border-radius:6px;padding:10px 14px;font-size:13px;line-height:1.5}
