:root{--bg-base:#06090e;--bg-surface:#0c121e;--bg-surface-elevated:#111a2c;--bg-surface-hover:#17233b;--border-subtle:#ffffff14;--border-medium:#ffffff29;--border-glow:#38bdf84d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;--text-code:#38bdf8;--branch-main:#10b981;--branch-develop:#06b6d4;--branch-feature:#a855f7;--branch-hotfix:#f59e0b;--branch-release:#f43f5e;--status-idle:#64748b;--status-running:#38bdf8;--status-success:#10b981;--status-failed:#ef4444;--status-warning:#f59e0b;--font-sans:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono:"JetBrains Mono", "Fira Code", Menlo, monospace;--shadow-card:0 10px 30px -10px #0009;--shadow-glow:0 0 24px -4px #38bdf840;--radius-sm:6px;--radius-md:10px;--radius-lg:14px;--radius-full:9999px}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;min-height:100vh;overflow-x:hidden}body{background-image:radial-gradient(80% 50% at 50% -20%,#0ea5e91f,#0000 70%),radial-gradient(circle at 10% 90%,#a855f714,#0000 40%),linear-gradient(90deg,#ffffff05 1px,#0000 1px),linear-gradient(#ffffff05 1px,#0000 1px);background-size:100% 100%,100% 100%,36px 36px,36px 36px}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:var(--bg-base)}::-webkit-scrollbar-thumb{background:var(--border-medium);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.app-container{flex-direction:column;min-height:100vh;display:flex}.navbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-subtle);z-index:50;background:#0c121ed9;justify-content:space-between;align-items:center;gap:16px;padding:12px 24px;display:flex;position:sticky;top:0}.brand-section{align-items:center;gap:12px;display:flex}.brand-logo{border-radius:var(--radius-md);color:#fff;background:linear-gradient(135deg,#0ea5e9,#a855f7);justify-content:center;align-items:center;width:38px;height:38px;display:flex;box-shadow:0 0 16px #0ea5e966}.brand-info h1{letter-spacing:-.02em;background:linear-gradient(90deg,#f8fafc,#94a3b8);-webkit-text-fill-color:transparent;-webkit-background-clip:text;align-items:center;gap:8px;font-size:18px;font-weight:700;display:flex}.domain-badge{font-family:var(--font-mono);border-radius:var(--radius-full);color:#38bdf8;background:#38bdf81f;border:1px solid #38bdf84d;align-items:center;gap:4px;padding:2px 8px;font-size:11px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.domain-badge:hover{background:#38bdf833;box-shadow:0 0 12px #38bdf859}.model-selector{background:var(--bg-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--border-subtle);gap:2px;padding:3px;display:flex}.model-button{color:var(--text-secondary);font-family:var(--font-sans);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;align-items:center;gap:6px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .2s;display:flex}.model-button:hover{color:var(--text-primary);background:#ffffff0a}.model-button.active{color:#38bdf8;background:#38bdf826;font-weight:600;box-shadow:0 1px 3px #0000004d}.nav-actions{align-items:center;gap:10px;display:flex}.action-btn{border-radius:var(--radius-sm);font-size:13px;font-weight:500;font-family:var(--font-sans);cursor:pointer;border:1px solid #0000;align-items:center;gap:6px;padding:7px 14px;transition:all .2s;display:inline-flex}.action-btn.btn-primary{color:#fff;background:linear-gradient(135deg,#0284c7,#2563eb);border-color:#ffffff26;box-shadow:0 2px 10px #0284c759}.action-btn.btn-primary:hover{background:linear-gradient(135deg,#0369a1,#1d4ed8);transform:translateY(-1px);box-shadow:0 4px 16px #0284c780}.action-btn.btn-success{color:#34d399;background:#10b98126;border-color:#10b9814d}.action-btn.btn-success:hover{background:#10b98140;box-shadow:0 0 14px #10b9814d}.action-btn.btn-ghost{background:var(--bg-surface-elevated);color:var(--text-secondary);border-color:var(--border-subtle)}.action-btn.btn-ghost:hover{background:var(--bg-surface-hover);color:var(--text-primary);border-color:var(--border-medium)}.dashboard-grid{flex:1;grid-template-columns:1.5fr 1.2fr 1fr;gap:16px;padding:16px 24px;display:grid}@media (width<=1400px){.dashboard-grid{grid-template-columns:1.4fr 1.1fr}.console-panel{grid-column:span 2}}@media (width<=992px){.dashboard-grid{grid-template-columns:1fr}.console-panel{grid-column:span 1}}.card-panel{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);flex-direction:column;transition:border-color .2s;display:flex;position:relative;overflow:hidden}.card-panel:hover{border-color:#ffffff1f}.panel-header{border-bottom:1px solid var(--border-subtle);background:#ffffff04;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.panel-title{color:var(--text-primary);align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.panel-body{flex-direction:column;flex:1;padding:16px;display:flex;overflow-y:auto}.canvas-wrapper{border-radius:var(--radius-md);background:#080c14;border:1px solid #ffffff0d;flex-direction:column;flex:1;min-height:420px;display:flex;position:relative;overflow:hidden}.canvas-svg{flex:1;width:100%;height:100%}.canvas-legend{border-top:1px solid var(--border-subtle);background:#0c121ef2;flex-wrap:wrap;gap:12px;padding:10px 14px;display:flex}.legend-item{color:var(--text-secondary);align-items:center;gap:6px;font-size:12px;display:flex}.legend-dot{border-radius:50%;width:10px;height:10px;box-shadow:0 0 6px}.branch-actions-bar{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pipeline-status-card{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 16px;display:flex}.pipeline-status-info{flex-direction:column;gap:4px;display:flex}.pipeline-badge{border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.04em;align-items:center;gap:6px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.pipeline-badge.status-idle{color:#94a3b8;background:#64748b26;border:1px solid #64748b4d}.pipeline-badge.status-running{color:#38bdf8;background:#38bdf826;border:1px solid #38bdf84d;animation:1.5s infinite pulse-glow}.pipeline-badge.status-passed{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.pipeline-badge.status-failed{color:#f87171;background:#ef444426;border:1px solid #ef44444d}.stages-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.stage-card{border-radius:var(--radius-md);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);cursor:pointer;justify-content:space-between;align-items:center;padding:12px 14px;transition:all .2s;display:flex}.stage-card:hover{background:var(--bg-surface-hover);border-color:#ffffff24}.stage-card.selected{border-color:#38bdf8;box-shadow:0 0 12px #38bdf826}.stage-card.stage-running{background:#38bdf80d;border-color:#38bdf8}.stage-left{align-items:center;gap:12px;display:flex}.stage-icon-box{border-radius:var(--radius-sm);background:#ffffff0a;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;display:flex}.stage-title{color:var(--text-primary);font-size:13px;font-weight:600}.stage-desc{color:var(--text-muted);font-size:11px}.stage-right{align-items:center;gap:8px;display:flex}.stage-duration{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.chaos-panel{border-radius:var(--radius-md);background:#ef44440d;border:1px dashed #ef444440;margin-top:12px;padding:12px}.chaos-title{color:#f87171;align-items:center;gap:6px;margin-bottom:8px;font-size:12px;font-weight:600;display:flex}.chaos-toggles{flex-wrap:wrap;gap:8px;display:flex}.chaos-toggle-btn{border-radius:var(--radius-sm);background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);color:var(--text-secondary);cursor:pointer;padding:4px 10px;font-size:11px;transition:all .2s}.chaos-toggle-btn.active{color:#fca5a5;background:#ef444433;border-color:#ef444480;font-weight:600}.terminal-window{border-radius:var(--radius-md);font-family:var(--font-mono);background:#05080f;border:1px solid #ffffff14;flex-direction:column;height:280px;display:flex;overflow:hidden}.terminal-header{color:var(--text-muted);background:#090e18;border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding:8px 12px;font-size:11px;display:flex}.terminal-dots{gap:5px;display:flex}.terminal-dot{border-radius:50%;width:9px;height:9px}.dot-red{background:#ef4444}.dot-yellow{background:#f59e0b}.dot-green{background:#10b981}.terminal-body{color:#e2e8f0;flex:1;padding:12px;font-size:12px;line-height:1.6;overflow-y:auto}.log-line{white-space:pre-wrap;word-break:break-all}.log-info{color:#94a3b8}.log-success{color:#34d399}.log-error{color:#f87171}.log-command{color:#38bdf8;font-weight:600}.terminal-input-bar{background:#090e18;border-top:1px solid #ffffff0d;align-items:center;gap:8px;padding:8px 12px;display:flex}.terminal-prompt{color:#38bdf8;font-size:13px;font-weight:700}.terminal-input{color:var(--text-primary);font-family:var(--font-mono);background:0 0;border:none;outline:none;flex:1;font-size:12px}.challenge-card{border-radius:var(--radius-md);background:linear-gradient(135deg,#0ea5e914,#a855f714);border:1px solid #38bdf833;margin-bottom:14px;padding:14px}.challenge-badge{text-transform:uppercase;letter-spacing:.05em;color:#38bdf8;margin-bottom:6px;font-size:10px;font-weight:700}.challenge-title{color:var(--text-primary);margin-bottom:6px;font-size:14px;font-weight:600}.challenge-desc{color:var(--text-secondary);font-size:12px;line-height:1.5}@keyframes pulse-glow{0%,to{opacity:1;filter:drop-shadow(0 0 4px #38bdf866)}50%{opacity:.6;filter:drop-shadow(0 0 1px #38bdf81a)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.spin{animation:1s linear infinite spin}.modal-overlay{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000bf;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--border-medium);border-radius:var(--radius-lg);width:90%;max-width:480px;box-shadow:var(--shadow-card);padding:24px}.form-group{margin-bottom:16px}.form-label{color:var(--text-secondary);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{background:var(--bg-surface-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-sans);outline:none;padding:8px 12px;font-size:13px;transition:border-color .2s}.form-input:focus{border-color:#38bdf8}.modal-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}
