@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;700&display=swap";:root{--bg-dark:#09090b;--bg-surface:#18181bb3;--bg-surface-solid:#18181b;--bg-elevated:#27272acc;--primary:#3b82f6;--primary-glow:#3b82f666;--primary-hover:#2563eb;--accent:#8b5cf6;--accent-glow:#8b5cf666;--success:#10b981;--success-glow:#10b98166;--warning:#f59e0b;--danger:#ef4444;--danger-glow:#ef444466;--text-main:#f8fafc;--text-muted:#94a3b8;--text-dim:#475569;--border-color:#ffffff1a;--border-highlight:#fff3;--radius-lg:16px;--radius-md:12px;--radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);color:var(--text-main);-webkit-font-smoothing:antialiased;background-image:radial-gradient(circle at 50% 0,#3b82f60d 0%,#0000 50%),radial-gradient(circle at 50% 100%,#10b98108 0%,#0000 50%);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#fff3}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(16px);border:1px solid var(--border-color);border-radius:var(--radius-lg);transition:transform .3s cubic-bezier(.4,0,.2,1),box-shadow .3s,border-color .3s;box-shadow:0 8px 32px #0000004d}.glass-panel:hover{border-color:var(--border-highlight);box-shadow:0 10px 40px -1px #0006}.btn-primary{background:var(--primary);color:#fff;border-radius:var(--radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-weight:600;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #0003}.btn-primary:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{color:var(--text-main);border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:all .2s;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--border-highlight);background:#ffffff0d}.btn-danger{color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#ef44441a;border:1px solid #ef44444d;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:all .2s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#ef444433;border-color:#ef444480}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.terminal-window{border-radius:var(--radius-md);background:#000;border:1px solid #333;font-family:JetBrains Mono,monospace;overflow:hidden}.terminal-header{background:#111;border-bottom:1px solid #333;align-items:center;gap:8px;padding:8px 16px;display:flex}.terminal-dot{border-radius:50%;width:12px;height:12px}.input-field{border:1px solid var(--border-color);border-radius:var(--radius-sm);width:100%;color:var(--text-main);background:#0003;padding:12px 16px;font-family:Inter,sans-serif;transition:all .2s}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-glow);outline:none}.input-field:disabled{opacity:.65;cursor:not-allowed}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{border-bottom:1px solid var(--border-color);color:var(--text-muted);text-align:left;text-transform:uppercase;background:#ffffff08;padding:16px;font-size:.85rem;font-weight:500}.data-table td{color:var(--text-main);border-bottom:1px solid #ffffff0f;padding:16px;font-size:.95rem}.data-table tr:hover td{background:#ffffff0a}.badge{border-radius:9999px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{color:#60a5fa;background:#3b82f626;border:1px solid #3b82f64d}.badge-purple{color:#a78bfa;background:#8b5cf626;border:1px solid #8b5cf64d}.badge-green{color:#34d399;background:#10b98126;border:1px solid #10b9814d}.badge-orange{color:#fbbf24;background:#f59e0b26;border:1px solid #f59e0b4d}.drawer-overlay{z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0009;justify-content:flex-end;animation:.25s forwards fadeIn;display:flex;position:fixed;inset:0}.drawer-content{background:var(--bg-surface-solid);border-left:1px solid var(--border-color);width:min(420px,100vw);height:100%;padding:32px;animation:.28s cubic-bezier(.16,1,.3,1) forwards slideInRight;overflow-y:auto;box-shadow:-10px 0 40px #00000080}@keyframes slideInRight{0%{transform:translate(100%)}to{transform:translate(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes flow-data{0%{background-position:200% 0}to{background-position:-200% 0}}.data-pipeline{background:#ffffff0d;border-radius:2px;width:100%;height:4px;position:relative;overflow:hidden}.data-pipeline.active-green{background:linear-gradient(90deg, transparent 0%, var(--success) 50%, transparent 100%);box-shadow:0 0 10px var(--success-glow);background-size:200% 100%;animation:1.5s linear infinite flow-data}.data-pipeline.active-red{background:linear-gradient(90deg, transparent 0%, var(--danger) 50%, transparent 100%);box-shadow:0 0 10px var(--danger-glow);background-size:200% 100%;animation:1.5s linear infinite flow-data}@keyframes pulse-red{0%{box-shadow:0 0 #ef444466}70%{box-shadow:0 0 0 15px #ef444400}to{box-shadow:0 0 #ef444400}}@keyframes pulse-green{0%{box-shadow:0 0 #10b98166}70%{box-shadow:0 0 0 15px #10b98100}to{box-shadow:0 0 #10b98100}}.node-blocked{animation:2s infinite pulse-red;border-color:var(--danger)!important;color:var(--danger)!important}.node-active{animation:2s infinite pulse-green;border-color:var(--success)!important;color:var(--success)!important}.node-idle{opacity:.5;border-color:var(--border-color)!important;color:var(--text-muted)!important}@keyframes fadeInUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.fade-in-up{animation:.4s cubic-bezier(.16,1,.3,1) forwards fadeInUp}.flex-between{justify-content:space-between;align-items:center;display:flex}.flex-center{justify-content:center;align-items:center;display:flex}.gap-2{gap:8px}.gap-4{gap:16px}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}
