:root{--bg-main: #0b0f19;--bg-panel: #111827;--border-color: #1f2937;--text-primary: #f3f4f6;--text-secondary: #9ca3af;--accent-blue: #3b82f6;--accent-light-blue: #60a5fa;--accent-dark-blue: #1e40af;--accent-sky: #38bdf8;--terminal-bg: #030712;--terminal-text: #e2e8f0;--terminal-border: #1e293b;--terminal-info: #94a3b8;--pipeline-item-bg: #1e293b;--progress-bg: #1e293b;--font-mono: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;--font-terminal: "Fira Code", "Courier New", Courier, monospace}body.light-mode{--bg-main: #f8fafc;--bg-panel: #ffffff;--border-color: #e2e8f0;--text-primary: #0f172a;--text-secondary: #64748b;--accent-blue: #2563eb;--accent-light-blue: #3b82f6;--accent-dark-blue: #1e3a8a;--accent-sky: #0ea5e9;--pipeline-item-bg: #f1f5f9;--progress-bg: #e2e8f0}*{margin:0;padding:0;box-sizing:border-box}body{background-color:var(--bg-main);color:var(--text-primary);font-family:var(--font-mono);min-height:100vh;overflow-x:hidden;transition:background-color .3s ease,color .3s ease}.app-container{max-width:1200px;margin:0 auto;padding:20px;display:flex;flex-direction:column;min-height:100vh}.header{display:flex;align-items:center;justify-content:space-between;padding:20px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;margin-bottom:20px;flex-wrap:wrap;gap:15px;box-shadow:0 1px 3px #0000000d;transition:background-color .3s ease,border-color .3s ease}.logo{display:flex;align-items:center;gap:15px}.logo-icon{font-size:2.5rem;color:var(--accent-blue);text-shadow:0 0 15px rgba(37,99,235,.2)}.logo h1{font-size:1.8rem;font-weight:800;letter-spacing:4px;background:linear-gradient(90deg,var(--accent-dark-blue),var(--accent-blue));-webkit-background-clip:text;-webkit-text-fill-color:transparent}.subtitle{color:var(--text-secondary);font-size:.85rem;letter-spacing:2px;font-weight:500}.header-actions{display:flex;align-items:center;gap:15px}.status-badge{display:flex;align-items:center;gap:10px;background:#2563eb0d;border:1px solid rgba(37,99,235,.2);padding:8px 16px;border-radius:20px;font-size:.85rem;color:var(--accent-blue);font-weight:600}.pulse{width:8px;height:8px;background:var(--accent-blue);border-radius:50%;box-shadow:0 0 8px var(--accent-blue);animation:pulse-glow 2s infinite}.theme-toggle{background:transparent;border:1px solid var(--border-color);border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;transition:all .3s ease;color:var(--text-primary)}.theme-toggle:hover{border-color:var(--accent-blue);background:#2563eb0d;transform:rotate(15deg)}.main-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:20px;flex:1}@media (max-width: 768px){.main-grid{grid-template-columns:1fr}}.pipeline-panel,.terminal-panel{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;padding:24px;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;transition:background-color .3s ease,border-color .3s ease}.pipeline-panel h2{font-size:.9rem;color:var(--text-secondary);margin-bottom:20px;letter-spacing:2px;border-bottom:1px solid var(--border-color);padding-bottom:12px;font-weight:700;text-transform:uppercase}.pipeline-list{display:flex;flex-direction:column;gap:12px;margin-bottom:30px}.pipeline-item{display:flex;align-items:center;gap:15px;padding:14px;background:var(--pipeline-item-bg);border-left:3px solid var(--border-color);border-radius:0 8px 8px 0;transition:all .3s ease}.pipeline-item.active{border-left-color:var(--accent-blue);background:#2563eb14}.pipeline-item .node{font-size:1.2rem;color:var(--text-secondary)}.pipeline-item.active .node{color:var(--accent-blue);text-shadow:0 0 8px rgba(37,99,235,.3)}.details{display:flex;flex-direction:column}.phase-name{font-weight:600;font-size:.9rem;color:var(--text-primary)}.phase-status{font-size:.75rem;color:var(--accent-blue);text-transform:uppercase;letter-spacing:1px;font-weight:600}.progress-container{margin-top:auto}.progress-label{font-size:.8rem;color:var(--text-secondary);margin-bottom:8px;letter-spacing:1px;font-weight:600}.progress-bar{width:100%;height:8px;background:var(--progress-bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--accent-blue),var(--accent-light-blue));transition:width .1s linear;border-radius:4px}.progress-text{text-align:right;font-size:.85rem;color:var(--accent-blue);margin-top:6px;font-weight:700}.terminal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;color:var(--text-secondary);font-size:.8rem;font-family:var(--font-terminal)}.terminal-dots{display:flex;gap:6px}.dot{width:10px;height:10px;border-radius:50%}.dot.red{background:#ef4444}.dot.yellow{background:#f59e0b}.dot.green{background:#10b981}.terminal-body{flex:1;background:var(--terminal-bg);color:var(--terminal-text);padding:20px;border-radius:8px;border:1px solid var(--terminal-border);overflow-y:auto;max-height:400px;font-size:.85rem;line-height:1.8;font-family:var(--font-terminal)}.log-line{margin-bottom:4px}.log-line.info{color:var(--terminal-info)}.log-line.success{color:var(--accent-sky);font-weight:700;text-shadow:0 0 8px rgba(56,189,248,.4)}.cursor{display:inline-block;color:var(--accent-sky);animation:blink 1s step-end infinite}.footer{margin-top:30px;text-align:center;padding:30px 20px;background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 1px 3px #0000000d;transition:background-color .3s ease,border-color .3s ease}.slogan{color:var(--text-primary);font-size:1.1rem;font-style:italic;line-height:1.7;max-width:750px;margin:0 auto 12px;font-weight:500}.sub-slogan{color:var(--accent-blue);font-size:.9rem;font-weight:700;letter-spacing:1px;text-transform:uppercase}@keyframes pulse-glow{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.terminal-body::-webkit-scrollbar{width:6px}.terminal-body::-webkit-scrollbar-track{background:var(--terminal-bg);border-radius:3px}.terminal-body::-webkit-scrollbar-thumb{background:#334155;border-radius:3px}.terminal-body::-webkit-scrollbar-thumb:hover{background:var(--accent-blue)}html,body{margin:0;padding:0;width:100%;height:100%}#root{width:100%;height:100%}
