@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-primary: #0a0a0f;--bg-secondary: #0f0f17;--bg-tertiary: #16161f;--bg-elevated: #1c1c28;--border: #2a2a3a;--border-subtle: #222230;--text-primary: #f0f0f5;--text-secondary: #9898a8;--text-muted: #5a5a6a;--accent: #6366f1;--accent-hover: #818cf8;--accent-glow: rgba(99, 102, 241, .15);--success: #10b981;--success-bg: rgba(16, 185, 129, .1);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .1);--error: #ef4444;--error-bg: rgba(239, 68, 68, .1);--running: #22d3ee;--running-bg: rgba(34, 211, 238, .1);--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 24px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .5);--transition-fast: .15s ease;--transition-base: .25s ease;--transition-slow: .4s ease}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{font-family:Outfit,-apple-system,BlinkMacSystemFont,sans-serif;background:var(--bg-primary);color:var(--text-primary);min-height:100vh;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:before{content:"";position:fixed;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse 80% 50% at 50% -20%,rgba(99,102,241,.08),transparent),radial-gradient(ellipse 60% 40% at 100% 100%,rgba(16,185,129,.04),transparent);pointer-events:none;z-index:-1}#root{min-height:100vh;display:flex;flex-direction:column}h1,h2,h3,h4{font-weight:600;letter-spacing:-.02em;line-height:1.3}h1{font-size:2rem}h2{font-size:1.5rem}h3{font-size:1.25rem}h4{font-size:1rem}a{color:var(--accent);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--accent-hover)}.app-layout{flex:1;display:flex;flex-direction:column}.main-content{flex:1;max-width:1200px;width:100%;margin:0 auto;padding:2rem 1.5rem}@media (max-width: 768px){.main-content{padding:1rem}}.header{background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);padding:1rem 1.5rem;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0f0f17cc}.header-inner{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.logo{display:flex;align-items:center;gap:.75rem;font-weight:600;font-size:1.125rem;color:var(--text-primary)}.logo-icon{width:36px;height:36px;background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:1.25rem;box-shadow:0 0 20px var(--accent-glow)}.nav{display:flex;align-items:center;gap:.25rem}.nav-link{padding:.5rem 1rem;border-radius:var(--radius-sm);color:var(--text-secondary);font-weight:500;font-size:.875rem;transition:all var(--transition-fast);display:flex;align-items:center;gap:.5rem}.nav-link:hover,.nav-link.active{color:var(--text-primary);background:var(--bg-tertiary)}.nav-link.primary{background:var(--accent);color:#fff}.nav-link.primary:hover{background:var(--accent-hover)}.mobile-menu-btn{display:none;background:none;border:none;color:var(--text-primary);padding:.5rem;cursor:pointer}@media (max-width: 640px){.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border-bottom:1px solid var(--border-subtle);flex-direction:column;padding:1rem;gap:.5rem}.nav.open{display:flex}.mobile-menu-btn{display:block}}.card{background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:1.5rem;transition:all var(--transition-base)}.card:hover{border-color:var(--border)}.card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.card-title{font-size:1.125rem;font-weight:600}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.625rem 1.25rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;transition:all var(--transition-fast);border:none;text-decoration:none}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);color:#fff}.btn-primary:hover:not(:disabled){background:var(--accent-hover);transform:translateY(-1px);box-shadow:0 4px 12px #6366f14d}.btn-secondary{background:var(--bg-elevated);color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--text-muted)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary)}.btn-sm{padding:.375rem .75rem;font-size:.8125rem}.btn-lg{padding:.875rem 1.75rem;font-size:1rem}.form-group{margin-bottom:1.25rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.form-input,.form-textarea{width:100%;background:var(--bg-secondary);border:1px solid var(--border);border-radius:var(--radius-md);padding:.75rem 1rem;color:var(--text-primary);font-size:.9375rem;font-family:inherit;transition:all var(--transition-fast);outline:none}.form-input:focus,.form-textarea:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.form-input::placeholder,.form-textarea::placeholder{color:var(--text-muted)}.form-textarea{min-height:120px;resize:vertical;line-height:1.6}.status-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.25rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:500;text-transform:capitalize}.status-badge:before{content:"";width:6px;height:6px;border-radius:50%}.status-pending{background:var(--warning-bg);color:var(--warning)}.status-pending:before{background:var(--warning)}.status-running{background:var(--running-bg);color:var(--running)}.status-running:before{background:var(--running);animation:pulse 1.5s infinite}.status-completed{background:var(--success-bg);color:var(--success)}.status-completed:before{background:var(--success)}.status-failed{background:var(--error-bg);color:var(--error)}.status-failed:before{background:var(--error)}.status-cancelled{background:var(--bg-elevated);color:var(--text-muted)}.status-cancelled:before{background:var(--text-muted)}.status-waiting{background:var(--warning-bg);color:var(--warning)}.status-waiting:before{background:var(--warning)}.status-waiting_for_user_input{background:var(--warning-bg);color:var(--warning)}.status-waiting_for_user_input:before{background:var(--warning)}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}.task-list{list-style:none}.task-item{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-radius:var(--radius-md);transition:background var(--transition-fast)}.task-item:hover{background:var(--bg-elevated)}.task-item+.task-item{border-top:1px solid var(--border-subtle)}.task-info{display:flex;align-items:center;gap:1rem;min-width:0}.task-id{font-family:JetBrains Mono,monospace;font-size:.8125rem;color:var(--text-secondary);text-decoration:none;transition:color var(--transition-fast)}.task-id:hover{color:var(--accent)}.task-meta{display:flex;align-items:center;gap:.75rem}.result-box{background:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:1rem;font-family:JetBrains Mono,monospace;font-size:.8125rem;line-height:1.7;white-space:pre-wrap;word-break:break-word;color:var(--text-secondary);max-height:400px;overflow-y:auto}.result-box::-webkit-scrollbar{width:6px}.result-box::-webkit-scrollbar-track{background:transparent}.result-box::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}.empty-state{text-align:center;padding:3rem 1.5rem;color:var(--text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.5}.empty-state-title{font-size:1.125rem;font-weight:500;color:var(--text-secondary);margin-bottom:.5rem}.empty-state-text{font-size:.875rem;margin-bottom:1.5rem}.loading{display:flex;align-items:center;justify-content:center;padding:3rem;color:var(--text-muted)}.loading-spinner{width:24px;height:24px;border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.animate-fade-in{animation:fadeIn var(--transition-base) ease forwards}.animate-fade-in-up{animation:fadeInUp var(--transition-slow) ease forwards}.animate-slide-in{animation:slideIn var(--transition-base) ease forwards}.stagger-1{animation-delay:50ms}.stagger-2{animation-delay:.1s}.stagger-3{animation-delay:.15s}.stagger-4{animation-delay:.2s}.stagger-5{animation-delay:.25s}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem}.login-card{width:100%;max-width:400px;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-xl);padding:2.5rem;animation:fadeInUp .5s ease;position:relative}.login-card:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),#a855f7);border-radius:var(--radius-xl) var(--radius-xl) 0 0}.login-header{text-align:center;margin-bottom:2rem}.login-logo{width:64px;height:64px;background:linear-gradient(135deg,var(--accent),#a855f7);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:2rem;margin:0 auto 1.25rem;box-shadow:0 0 40px var(--accent-glow)}.login-title{font-size:1.5rem;font-weight:600;margin-bottom:.5rem}.login-subtitle{color:var(--text-secondary);font-size:.9375rem}.login-form .btn{width:100%;padding:.875rem;font-size:1rem;margin-top:.5rem}.login-error{color:var(--error);font-size:.875rem;text-align:center;margin-top:1rem;padding:.75rem;background:var(--error-bg);border-radius:var(--radius-md)}.ws-indicator{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--text-muted)}.ws-indicator-dot{width:8px;height:8px;border-radius:50%;background:var(--text-muted)}.ws-indicator.connected .ws-indicator-dot{background:var(--success);box-shadow:0 0 8px var(--success)}.ws-indicator.connected{color:var(--success)}.grid{display:grid;gap:1rem}.grid-cols-2{grid-template-columns:repeat(2,1fr)}@media (max-width: 640px){.grid-cols-2{grid-template-columns:1fr}}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-4{gap:1rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.text-muted{color:var(--text-muted)}.text-secondary{color:var(--text-secondary)}.text-sm{font-size:.875rem}.font-mono{font-family:JetBrains Mono,monospace}.header-left{display:flex;align-items:center;gap:1rem}.server-status{display:flex;align-items:center;gap:.5rem;padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-md);font-size:.75rem;font-weight:500}.server-status-dot{width:8px;height:8px;border-radius:50%;animation:pulse 2s infinite}.server-status-text{color:var(--text-secondary)}.settings-btn{background:none;border:none;cursor:pointer;font-family:inherit;display:flex;align-items:center;gap:.5rem}.settings-btn:hover{color:var(--text-primary)}.settings-label{display:none}@media (max-width: 640px){.settings-label{display:inline}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;animation:fadeIn var(--transition-fast) ease}.modal-content{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;overflow:auto;animation:fadeInUp var(--transition-base) ease}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--border-subtle)}.modal-title{font-size:1.125rem;font-weight:600}.modal-close{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.25rem;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:all var(--transition-fast)}.modal-close:hover{color:var(--text-primary);background:var(--bg-elevated)}.modal-body{padding:1.5rem}.modal-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.5rem;border-top:1px solid var(--border-subtle)}@media (max-width: 640px){.header-left{min-width:auto}.server-status-text{display:none}.server-status{padding:.375rem}}
