@import url(https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;500;700&display=swap);body{-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--bg:#060911;--bg-2:#0a0e1a;--bg-3:#111827;--border:#1f2937;--text:#e4e7eb;--text-dim:#6b7280;--accent:#00ff9d;--accent-2:#00d4ff;--warn:#ffb800;--error:#ff4d6d;--mono:"JetBrains Mono","Menlo",monospace;--sans:"Inter",system-ui,sans-serif}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;background:#060911;background:var(--bg);color:#e4e7eb;color:var(--text);font-family:Inter,system-ui,sans-serif;font-family:var(--sans);font-size:14px}.app{margin:0 auto;max-width:1400px;padding:24px}.app.loading{align-items:center;display:flex;flex-direction:column;gap:20px;justify-content:center;min-height:100vh}.loader{animation:spin .8s linear infinite;border:3px solid #1f2937;border-top-color:#00ff9d;border:3px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.header{border-bottom:1px solid #1f2937;border-bottom:1px solid var(--border);justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.header,.header-left{align-items:center;display:flex}.header-left{gap:12px}.header-left .dot{animation:pulse 2s infinite;background:#00ff9d;background:var(--accent);border-radius:50%;box-shadow:0 0 12px #00ff9d;box-shadow:0 0 12px var(--accent);height:10px;width:10px}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.header-left h1{font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:15px;font-weight:600;letter-spacing:.08em}.header-right{align-items:center;display:flex;gap:16px}.live-badge{border:1px solid #00ff9d;border:1px solid var(--accent);border-radius:4px;color:#00ff9d;color:var(--accent);font-size:11px;padding:4px 10px}.last-update,.live-badge{font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono)}.last-update{color:#6b7280;color:var(--text-dim);font-size:12px}.stats{margin-bottom:20px}.stat-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.stat-card{background:#0a0e1a;background:var(--bg-2);border:1px solid #1f2937;border:1px solid var(--border);border-radius:12px;display:flex;flex-direction:column;gap:6px;overflow:hidden;padding:18px 20px;position:relative}.stat-card:before{background:linear-gradient(90deg,#0000,#00ff9d,#0000);background:linear-gradient(90deg,#0000,var(--accent),#0000);content:"";height:2px;left:0;opacity:.3;position:absolute;right:0;top:0}.stat-label{color:#6b7280;color:var(--text-dim);font-size:10px;letter-spacing:.15em}.stat-label,.stat-value{font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono)}.stat-value{color:#00ff9d;color:var(--accent);font-size:30px;font-weight:700;line-height:1.1}.stat-value .unit{font-size:14px;margin-left:2px}.stat-sub,.stat-value .unit{color:#6b7280;color:var(--text-dim)}.stat-sub{font-size:11px}.panel{background:#0a0e1a;background:var(--bg-2);border:1px solid #1f2937;border:1px solid var(--border);border-radius:12px;overflow:hidden}.panel-header{align-items:center;border-bottom:1px solid #1f2937;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;padding:14px 20px}.panel-header h2{font-weight:600;letter-spacing:.15em;text-transform:uppercase}.panel-header h2,.run-info,.status{color:#6b7280;color:var(--text-dim);font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:12px}.status.success{color:#00ff9d;color:var(--accent)}.status.failure{color:#ff4d6d;color:var(--error)}.bottom-grid,.main-grid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:1fr 1fr;margin-bottom:14px}.log-stream{background:#04060d;font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:13px;height:320px;line-height:1.9;overflow-y:auto;padding:16px 20px}.log-stream::-webkit-scrollbar{width:6px}.log-stream::-webkit-scrollbar-thumb{background:#1f2937;background:var(--border);border-radius:3px}.log-line{grid-gap:8px;animation:fadeIn .3s ease;display:grid;gap:8px;grid-template-columns:90px 20px 1fr 50px}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.log-time{color:#6b7280;color:var(--text-dim)}.log-icon{color:#00ff9d;color:var(--accent)}.log-line.failure .log-icon{color:#ff4d6d;color:var(--error)}.log-name{color:#e4e7eb;color:var(--text)}.log-duration{color:#6b7280;color:var(--text-dim);text-align:right}.log-line.running .log-icon,.log-line.running .log-name{color:#ffb800;color:var(--warn)}.pipeline-view{align-items:center;display:flex;flex-wrap:wrap;gap:6px;min-height:120px;padding:20px}.pipeline-node{align-items:center;background:#060911;background:var(--bg);border:1px solid #1f2937;border:1px solid var(--border);border-radius:6px;display:inline-flex;font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:11px;gap:6px;padding:6px 10px}.pipeline-node.success{border-color:#00ff9d;border-color:var(--accent);color:#00ff9d;color:var(--accent)}.pipeline-node.failure{border-color:#ff4d6d;border-color:var(--error);color:#ff4d6d;color:var(--error)}.pipeline-arrow{color:#6b7280;color:var(--text-dim);font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono)}.commit-info{padding:0 20px 20px}.commit-info p{font-size:13px;margin-bottom:4px}.commit-info .dim{color:#6b7280;color:var(--text-dim);font-size:12px}.meta-panel-body{padding:14px 20px}.meta-row{grid-gap:12px;border-bottom:1px solid #1f293780;display:grid;font-size:13px;gap:12px;grid-template-columns:120px 1fr;padding:7px 0}.meta-row:last-child{border-bottom:none}.meta-key{color:#6b7280;color:var(--text-dim);font-size:11px;letter-spacing:.05em;text-transform:uppercase}.meta-key,.meta-val{font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono)}.meta-val{color:#e4e7eb;color:var(--text);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-val.accent{color:#00ff9d;color:var(--accent)}.meta-val.accent-2{color:#00d4ff;color:var(--accent-2)}.meta-val.mono-sm{color:#6b7280;color:var(--text-dim);font-size:11px}.meta-val a{color:#00d4ff;color:var(--accent-2);text-decoration:none}.meta-val a:hover{text-decoration:underline}.badge-ok{border:1px solid #00ff9d;border:1px solid var(--accent);border-radius:3px;color:#00ff9d;color:var(--accent);margin-right:6px}.badge-ok,.badge-warn{font-size:11px;padding:1px 6px}.badge-warn{border:1px solid #ffb800;border:1px solid var(--warn);border-radius:3px;color:#ffb800;color:var(--warn)}.recent-runs{padding:4px 0}.run-row{grid-gap:12px;align-items:center;border-bottom:1px solid #1f293780;display:grid;font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:12px;gap:12px;grid-template-columns:26px 50px 70px 1fr 55px;padding:10px 20px}.run-row:last-child{border-bottom:none}.run-row:hover{background:#ffffff05}.run-badge{text-align:center}.run-badge.success{color:#00ff9d;color:var(--accent)}.run-badge.failure{color:#ff4d6d;color:var(--error)}.run-number{color:#6b7280;color:var(--text-dim)}.run-sha{color:#00d4ff;color:var(--accent-2)}.run-msg{color:#e4e7eb;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.run-duration{text-align:right}.footer,.run-duration{color:#6b7280;color:var(--text-dim)}.footer{align-items:center;border-top:1px solid #1f2937;border-top:1px solid var(--border);display:flex;font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono);font-size:12px;gap:10px;padding-top:20px}.footer a{color:#00d4ff;color:var(--accent-2);text-decoration:none}.footer a:hover{text-decoration:underline}.error{color:#ff4d6d;color:var(--error);font-family:JetBrains Mono,Menlo,monospace;font-family:var(--mono)}@media (max-width:900px){.stat-grid{grid-template-columns:repeat(2,1fr)}.bottom-grid,.main-grid{grid-template-columns:1fr}.run-row{grid-template-columns:26px 50px 70px 1fr}.run-duration{display:none}}
/*# sourceMappingURL=main.c35f6208.css.map*/