@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:#0b0d12;--bg-surface:#161920b8;--bg-surface-solid:#151922;--bg-elevated:#1f242ec2;--primary:#8fb7e8;--primary-glow:#8fb7e82e;--primary-hover:#a8c7ee;--accent:#d5bd8a;--accent-glow:#d5bd8a24;--success:#8bcdb4;--success-glow:#8bcdb429;--warning:#d7aa63;--danger:#dc7f86;--danger-glow:#dc7f8624;--text-main:#edf1f6;--text-muted:#a2acba;--text-dim:#687382;--border-color:#edf1f617;--border-highlight:#edf1f62e;--shadow-soft:0 18px 60px #00000047;--shadow-subtle:0 10px 32px #0003;--radius-lg:14px;--radius-md:10px;--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;text-rendering:geometricprecision;background-image:linear-gradient(145deg,#8fb7e812 0%,#0000 34%),linear-gradient(315deg,#d5bd8a0f 0%,#0000 30%),linear-gradient(#0b0d12 0%,#0f131a 55%,#0b0d12 100%);background-attachment:fixed;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;line-height:1.6;overflow-x:hidden}::selection{color:#0b0d12;background:#d5bd8ad9}h1,h2,h3,h4{color:var(--text-main);letter-spacing:0;line-height:1.18}h1{font-weight:650}h2,h3{font-weight:620}p{color:inherit}button,input,textarea,select,a{font:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#edf1f61f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#edf1f638}.glass-panel{background:var(--bg-surface);-webkit-backdrop-filter:blur(18px)saturate(1.08);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-subtle);transition:transform .18s,box-shadow .22s,border-color .22s,background .22s}.glass-panel:hover{border-color:var(--border-highlight);box-shadow:var(--shadow-soft)}.btn-primary{background:linear-gradient(135deg, var(--primary), #6f95c4);color:#071019;border-radius:var(--radius-sm);cursor:pointer;border:1px solid #edf1f61f;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-weight:600;transition:transform .16s,box-shadow .18s,border-color .18s,background .18s,opacity .18s;display:inline-flex;box-shadow:0 10px 28px #8fb7e829}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg, var(--primary-hover), var(--primary));transform:translateY(-1px);box-shadow:0 14px 36px #8fb7e838}.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:#edf1f609;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-weight:500;transition:transform .16s,background .18s,border-color .18s,color .18s,opacity .18s;display:inline-flex}.btn-secondary:hover:not(:disabled){border-color:var(--border-highlight);background:#edf1f612;transform:translateY(-1px)}.btn-danger{color:var(--danger);border-radius:var(--radius-sm);cursor:pointer;background:#dc7f861a;border:1px solid #dc7f8647;align-items:center;gap:8px;padding:10px 20px;font-weight:600;transition:transform .16s,background .18s,border-color .18s,opacity .18s;display:inline-flex}.btn-danger:hover:not(:disabled){background:#dc7f8629;border-color:#dc7f866b;transform:translateY(-1px)}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.terminal-window{border-radius:var(--radius-md);box-shadow:inset 0 1px 0 #ffffff0a, var(--shadow-subtle);background:#07090d;border:1px solid #edf1f61a;font-family:JetBrains Mono,monospace;overflow:hidden}.terminal-header{border-bottom:1px solid var(--border-color);background:#edf1f60b;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:#05070b52;padding:12px 16px;font-family:Inter,sans-serif;transition:border-color .18s,box-shadow .18s,background .18s}.input-field::placeholder{color:#a2acba94}.input-field:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#080b107a;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;letter-spacing:.04em;background:#edf1f609;padding:14px 16px;font-size:.78rem;font-weight:620}.data-table td{color:var(--text-main);border-bottom:1px solid #edf1f60e;padding:15px 16px;font-size:.93rem}.data-table tr:hover td{background:#edf1f60b}.badge{letter-spacing:0;border-radius:9999px;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-block}.badge-blue{color:#a7c9ef;background:#8fb7e821;border:1px solid #8fb7e840}.badge-purple{color:#d4c2ee;background:#b097d61f;border:1px solid #b097d63d}.badge-green{color:#a5dbc8;background:#8bcdb41f;border:1px solid #8bcdb43d}.badge-orange{color:#e2c28a;background:#d7aa631f;border:1px solid #d7aa6340}.drawer-overlay{z-index:1000;-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);background:#04060a94;justify-content:flex-end;animation:.18s 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:.22s ease-out forwards slideInRight;overflow-y:auto;box-shadow:-18px 0 70px #00000061}@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:#edf1f60e;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 0 0 var(--danger-glow)}70%{box-shadow:0 0 0 15px #dc7f8600}to{box-shadow:0 0 #dc7f8600}}@keyframes pulse-green{0%{box-shadow:0 0 0 0 var(--success-glow)}70%{box-shadow:0 0 0 15px #8bcdb400}to{box-shadow:0 0 #8bcdb400}}.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:.34s ease-out 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}
