:root{--color-primary: #0078d4;--color-primary-hover: #106ebe;--color-bg: #f5f5f5;--color-surface: #ffffff;--color-text: #1a1a1a;--color-text-secondary: #666;--color-border: #e0e0e0;--color-success: #107c10;--color-error: #d13438;--color-warning: #ca5010;--color-info: #0078d4;--radius: 8px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Microsoft YaHei", "PingFang SC", sans-serif;--font-mono: "SF Mono", Monaco, "Cascadia Code", monospace;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-family);color:var(--color-text);background:var(--color-bg);line-height:1.5;min-height:100dvh}#app{min-height:100dvh;display:flex;flex-direction:column}.navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:calc(var(--spacing-sm) + var(--safe-top)) var(--spacing-md) var(--spacing-sm);display:flex;align-items:center;justify-content:space-between;position:sticky;top:0;z-index:100}.navbar-brand{display:flex;align-items:center;gap:var(--spacing-sm)}.navbar-logo{display:flex;align-items:center;gap:var(--spacing-sm);text-decoration:none;color:var(--color-text);font-weight:700;font-size:1.1rem}.navbar-title-group{display:flex;flex-direction:column;line-height:1.2}.navbar-title{font-size:1.1rem}.navbar-slogan{font-size:.65rem;font-weight:400;color:var(--color-text-secondary);white-space:nowrap}.navbar-desktop-links{display:flex;align-items:center;gap:var(--spacing-sm)}.navbar-link{text-decoration:none;color:var(--color-text-secondary);padding:var(--spacing-xs) var(--spacing-sm);border-radius:var(--radius);min-height:44px;display:flex;align-items:center}.navbar-link:hover,.navbar-link--active{color:var(--color-primary);background:#0078d414}.heart-icon{color:#e74c3c}.navbar-actions{display:flex;align-items:center;position:relative}.navbar-username-btn{background:none;border:1px solid var(--color-border);border-radius:var(--radius);color:var(--color-text-secondary);font-size:.875rem;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;padding:var(--spacing-xs) var(--spacing-sm);min-height:36px;transition:border-color .15s}.navbar-username-btn:hover{border-color:var(--color-primary);color:var(--color-text)}.navbar-user-dropdown{display:none;position:absolute;top:calc(100% + 4px);right:0;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:0 4px 16px #0000001f;min-width:240px;z-index:200;overflow:hidden}.navbar-user-dropdown.dropdown--open{display:block}.dropdown-info{padding:var(--spacing-md);border-bottom:1px solid var(--color-border)}.dropdown-name{font-weight:600;margin-bottom:2px}.dropdown-email{font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.dropdown-type{font-size:.75rem;color:var(--color-primary);background:#0078d414;display:inline-block;padding:1px 8px;border-radius:10px}.dropdown-actions{padding:var(--spacing-sm) var(--spacing-md);display:flex;gap:var(--spacing-sm)}.dropdown-action-btn{flex:1;justify-content:center}.dropdown-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:99;background:#00000026;-webkit-tap-highlight-color:transparent}.navbar-tabs{display:none}.main-content{max-width:960px;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md);width:100%;flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface);color:var(--color-text);font-size:.875rem;cursor:pointer;min-height:44px;min-width:44px;text-decoration:none;transition:background .15s}.btn:hover{background:var(--color-bg)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.btn-primary:hover{background:var(--color-primary-hover)}.btn-sm{padding:var(--spacing-xs) var(--spacing-sm);min-height:36px;font-size:.8rem}.form-input,.form-textarea{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius);font-family:var(--font-family);font-size:1rem;min-height:44px}.form-textarea{resize:vertical;min-height:80px}.form-label{font-size:.85rem;font-weight:500;color:var(--color-text-secondary);margin-bottom:2px;display:block}.form-input:focus,.form-textarea:focus{outline:2px solid var(--color-primary);outline-offset:-1px;border-color:var(--color-primary)}.submit-section{background:var(--color-surface);border:2px solid var(--color-primary);border-radius:var(--radius);padding:var(--spacing-lg);margin-bottom:var(--spacing-xl)}.submit-form{display:flex;flex-direction:column;gap:var(--spacing-sm)}.form-advanced{border:none;margin:0;padding:0}.form-advanced-toggle{cursor:pointer;font-size:.85rem;color:var(--color-text-secondary);padding:var(--spacing-xs) 0;-webkit-user-select:none;user-select:none}.form-advanced-toggle:hover{color:var(--color-primary)}.form-advanced-content{padding-top:var(--spacing-sm);display:flex;flex-direction:column;gap:var(--spacing-xs)}.form-hint{font-size:.8rem;color:var(--color-text-secondary);margin:0}.nodes-section,.tasks-section,.settings-section{margin-bottom:var(--spacing-xl)}h2{margin-bottom:var(--spacing-md);font-size:1.25rem}h3{margin-bottom:var(--spacing-sm);font-size:1.1rem}.node-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--spacing-md)}.node-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md)}.node-hostname{font-weight:600;margin-bottom:var(--spacing-xs)}.node-meta{color:var(--color-text-secondary);font-size:.85rem;display:flex;flex-direction:column;gap:2px}.task-list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-item{display:block;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);text-decoration:none;color:var(--color-text);transition:border-color .15s}.task-item:hover{border-color:var(--color-primary)}.task-title{font-weight:500}.task-meta{color:var(--color-text-secondary);font-size:.85rem;display:flex;gap:var(--spacing-md);margin-top:var(--spacing-xs)}.task-detail-meta{margin-bottom:var(--spacing-lg);color:var(--color-text-secondary);font-size:.9rem;display:flex;flex-direction:column;gap:var(--spacing-xs)}.task-prompt-display{margin-bottom:var(--spacing-lg)}.back-link{margin-bottom:var(--spacing-md);display:inline-block}.results-table{width:100%;border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius);overflow:hidden}.results-table th,.results-table td{padding:var(--spacing-sm) var(--spacing-md);text-align:left;border-bottom:1px solid var(--color-border)}.results-table th{background:var(--color-bg);font-weight:600;font-size:.85rem}.status-badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.status-badge--completed{background:#dff6dd;color:var(--color-success)}.status-badge--failed{background:#fde7e9;color:var(--color-error)}.status-badge--timeout{background:#fff4ce;color:var(--color-warning)}.code-block{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-md);font-family:var(--font-mono);font-size:.875rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word}.settings-table{width:100%;border-collapse:collapse;margin-bottom:var(--spacing-md)}.settings-table td{padding:var(--spacing-sm);border-bottom:1px solid var(--color-border)}.settings-table code{font-family:var(--font-mono);font-size:.85rem;word-break:break-all}.settings-desc{color:var(--color-text-secondary);font-size:.9rem;margin-bottom:var(--spacing-md)}.settings-form{display:flex;flex-direction:column;gap:var(--spacing-sm);max-width:480px}.empty-state{color:var(--color-text-secondary);padding:var(--spacing-lg);text-align:center}.loading{padding:var(--spacing-xl);text-align:center;color:var(--color-text-secondary)}.skeleton-block{background:linear-gradient(90deg,var(--color-bg) 25%,var(--color-border) 50%,var(--color-bg) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s infinite;border-radius:var(--radius);height:60px;margin-bottom:var(--spacing-sm)}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.onboarding{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-xl);text-align:center}.onboarding h2,.onboarding p{margin-bottom:var(--spacing-md)}.onboarding-hint{color:var(--color-warning);font-size:.9rem}.login-view{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:var(--spacing-lg);padding-top:calc(var(--spacing-lg) + var(--safe-top))}.login-card{background:var(--color-surface);border-radius:var(--radius);padding:var(--spacing-xl);text-align:center;max-width:360px;width:100%;box-shadow:0 2px 8px #00000014}.login-logo{margin-bottom:var(--spacing-md)}.login-card h1{margin-bottom:var(--spacing-sm)}.login-card p{color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.login-btn{width:100%}.landing{max-width:800px;margin:0 auto;padding:var(--spacing-xl) var(--spacing-md)}.landing-hero{text-align:center;padding:var(--spacing-xl) 0}.landing-eyebrow{display:inline-block;color:var(--color-primary);background:#0078d414;border-radius:999px;padding:var(--spacing-xs) var(--spacing-md);font-size:.85rem;font-weight:600;margin-bottom:var(--spacing-md)}.landing-logo{margin-bottom:var(--spacing-md)}.landing-title{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.landing-hook{font-size:1.25rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-sm)}.landing-sub-hook{font-size:1rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-lg);max-width:600px;margin-left:auto;margin-right:auto}.landing-command{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-sm) var(--spacing-md);display:inline-block;margin-bottom:var(--spacing-lg)}.landing-command code{font-family:var(--font-mono);font-size:.95rem;color:var(--color-primary)}.landing-command-hint{color:var(--color-text-secondary);font-size:.9rem;margin-top:calc(-1 * var(--spacing-md))}.landing-demo{margin-bottom:var(--spacing-lg)}.landing-demo-img{max-width:100%;border-radius:var(--radius);border:1px solid var(--color-border)}.landing-value-props{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md);margin-bottom:var(--spacing-xl)}.landing-value-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-lg);text-align:center}.landing-value-card h3{color:var(--color-primary);margin-bottom:var(--spacing-sm)}.landing-value-card p{color:var(--color-text-secondary);font-size:.9rem}.landing-architecture{margin-bottom:var(--spacing-xl);text-align:center}.landing-architecture p{color:var(--color-text-secondary);margin-bottom:var(--spacing-md);max-width:600px;margin-left:auto;margin-right:auto}.landing-arch-diagram{text-align:left;font-size:.8rem;overflow-x:auto}.landing-examples{margin-bottom:var(--spacing-xl);text-align:center}.landing-examples h2{margin-bottom:var(--spacing-md)}.landing-example-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.landing-example-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);padding:var(--spacing-lg);text-align:left}.landing-example-card h3{color:var(--color-primary);font-size:1rem;margin-bottom:var(--spacing-sm)}.landing-example-card p{color:var(--color-text-secondary);font-size:.9rem}.landing-cta{display:flex;justify-content:center;gap:var(--spacing-md);flex-wrap:wrap;padding-bottom:var(--spacing-xl)}.landing-cta-btn{min-width:160px}.af-toast{position:fixed;left:50%;transform:translate(-50%);padding:var(--spacing-sm) var(--spacing-lg);border-radius:var(--radius);color:#fff;font-size:.9rem;z-index:1000;animation:toast-in .3s ease;bottom:var(--spacing-lg)}.af-toast--info{background:var(--color-primary)}.af-toast--error{background:var(--color-error)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%) translateY(10px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.view-all-link{margin-top:var(--spacing-md)}.load-more-btn{margin-top:var(--spacing-md);width:100%}@media(max-width:768px){.navbar-desktop-links,.navbar-slogan{display:none}.main-content{padding:var(--spacing-lg) var(--spacing-md);padding-bottom:calc(var(--spacing-lg) + 60px + var(--safe-bottom))}.navbar-tabs{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--color-surface);border-top:1px solid var(--color-border);z-index:100;padding-bottom:var(--safe-bottom)}.tab-link{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:var(--spacing-sm) 0;text-decoration:none;color:var(--color-text-secondary);font-size:.7rem;min-height:50px;transition:color .15s;-webkit-tap-highlight-color:transparent}.tab-link:hover,.tab-link--active{color:var(--color-primary)}.tab-icon{width:22px;height:22px}.af-toast{bottom:calc(60px + var(--safe-bottom) + var(--spacing-sm))}.navbar-user-dropdown{position:fixed;top:calc(var(--safe-top) + 52px);bottom:auto;right:var(--spacing-sm);left:var(--spacing-sm);min-width:auto}.results-table{font-size:.85rem}.results-table th,.results-table td{padding:var(--spacing-xs) var(--spacing-sm)}.landing-title{font-size:1.75rem}.landing-hook{font-size:1.1rem}.landing-value-props,.landing-example-grid{grid-template-columns:1fr}.landing-cta{flex-direction:column;align-items:center}.landing-cta-btn{width:100%;max-width:300px}}@media(max-width:480px){.main-content{padding:var(--spacing-md);padding-bottom:calc(var(--spacing-md) + 60px + var(--safe-bottom))}.submit-section{padding:var(--spacing-md)}.node-grid{grid-template-columns:1fr}.task-meta{flex-direction:column;gap:2px}.submit-section h2{font-size:1.1rem}.results-table,.results-table thead,.results-table tbody,.results-table th,.results-table td,.results-table tr{display:block}.results-table thead{display:none}.results-table tr{border:1px solid var(--color-border);border-radius:var(--radius);margin-bottom:var(--spacing-sm);padding:var(--spacing-sm)}.results-table td{border:none;padding:2px var(--spacing-sm);display:flex;justify-content:space-between}.results-table td:before{font-weight:600;margin-right:var(--spacing-sm)}.results-table tr td:before{content:attr(data-label)}}
