*{box-sizing:border-box;margin:0;padding:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--color-brand:#0d9488;--color-brand-light:#14b8a6;--color-brand-dark:#0f766e;--color-brand-subtle:#0d94881f;--color-bg:#f8fafc;--color-surface:#fff;--color-surface-elevated:#f1f5f9;--color-surface-hover:#e2e8f0;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#334155;--color-muted:#64748b;--color-primary:var(--color-brand);--color-primary-subtle:var(--color-brand-subtle);--color-success:#22c55e;--color-success-subtle:#22c55e1f;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-danger:#ef4444;--color-danger-subtle:#ef44441f;--color-info:#3b82f6;--color-info-subtle:#3b82f61f;--radius-sm:6px;--radius-md:10px;--radius-lg:16px;--radius-xl:24px;--shadow-card:0 1px 2px #0f172a0f, 0 1px 3px #0f172a14;--shadow-hover:0 12px 28px #0f172a24;--shadow-dropdown:0 10px 30px #0f172a29;--shadow-focus:0 0 0 3px var(--color-primary-subtle);--transition-fast:.15s ease;--transition-base:.25s cubic-bezier(.16, 1, .3, 1);--transition-slow:.4s cubic-bezier(.16, 1, .3, 1);--transition-sidebar:.45s cubic-bezier(.33, 1, .68, 1);--sidebar-width:220px;--sidebar-collapsed-width:64px;--header-height:64px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}:root:not([data-theme=light]){--color-bg:#030712;--color-surface:#0f172a;--color-surface-elevated:#1e293b;--color-surface-hover:#334155;--color-border:#1f2937;--color-border-strong:#334155;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-muted:#94a3b8;--color-primary:#2dd4bf;--color-primary-subtle:#2dd4bf26;--color-success:#4ade80;--color-success-subtle:#4ade8026;--color-warning:#fbbf24;--color-warning-subtle:#fbbf2426;--color-danger:#f87171;--color-danger-subtle:#f8717126;--color-info:#60a5fa;--color-info-subtle:#60a5fa26;--shadow-card:0 1px 2px #0000004d, 0 1px 3px #00000040;--shadow-hover:0 12px 32px #00000073;--shadow-dropdown:0 10px 30px #00000080}}[data-theme=dark]{--color-bg:#030712;--color-surface:#0f172a;--color-surface-elevated:#1e293b;--color-surface-hover:#334155;--color-border:#1f2937;--color-border-strong:#334155;--color-text:#f8fafc;--color-text-secondary:#cbd5e1;--color-muted:#94a3b8;--color-primary:#2dd4bf;--color-primary-subtle:#2dd4bf26;--color-success:#4ade80;--color-success-subtle:#4ade8026;--color-warning:#fbbf24;--color-warning-subtle:#fbbf2426;--color-danger:#f87171;--color-danger-subtle:#f8717126;--color-info:#60a5fa;--color-info-subtle:#60a5fa26;--shadow-card:0 1px 2px #0000004d, 0 1px 3px #00000040;--shadow-hover:0 12px 32px #00000073;--shadow-dropdown:0 10px 30px #00000080}[data-theme=light]{--color-bg:#f8fafc;--color-surface:#fff;--color-surface-elevated:#f1f5f9;--color-surface-hover:#e2e8f0;--color-border:#e2e8f0;--color-border-strong:#cbd5e1;--color-text:#0f172a;--color-text-secondary:#334155;--color-muted:#64748b;--color-primary:#0d9488;--color-primary-subtle:#0d94881f;--color-success:#22c55e;--color-success-subtle:#22c55e1f;--color-warning:#f59e0b;--color-warning-subtle:#f59e0b1f;--color-danger:#ef4444;--color-danger-subtle:#ef44441f;--color-info:#3b82f6;--color-info-subtle:#3b82f61f;--shadow-card:0 1px 2px #0f172a0f, 0 1px 3px #0f172a14;--shadow-hover:0 12px 28px #0f172a24;--shadow-dropdown:0 10px 30px #0f172a29}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--color-bg);color:var(--color-text);transition:background-color var(--transition-base), color var(--transition-base);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif}#root{width:100vw;height:100vh;overflow:hidden}button{font-family:inherit}.page-padding{padding:28px 32px}@media (width<=768px){.page-padding{padding:16px}}.surface{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:transform var(--transition-base), box-shadow var(--transition-base), border-color var(--transition-base)}.card-hover:hover{box-shadow:var(--shadow-hover);border-color:var(--color-border-strong);transform:translateY(-4px)}.card-body{padding:20px}.page-title{color:var(--color-text);letter-spacing:-.02em;font-size:26px;font-weight:700}.btn{border-radius:var(--radius-md);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:500;line-height:1;display:inline-flex}.btn:focus-visible{box-shadow:var(--shadow-focus);outline:none}.btn-primary{background:var(--color-text);color:var(--color-surface);border-color:var(--color-text)}.btn-primary:hover:not(:disabled){background:var(--color-text-secondary);border-color:var(--color-text-secondary)}.btn-ghost{background:var(--color-surface-elevated);color:var(--color-text);border-color:var(--color-border)}.btn-text{color:var(--color-muted);background:0 0}.btn-text:hover:not(:disabled){color:var(--color-text);background:var(--color-surface-hover)}.btn-danger{background:var(--color-danger-subtle);color:var(--color-danger);border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--color-danger);color:#fff}.icon-btn{border-radius:var(--radius-md);width:36px;height:36px;color:var(--color-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), transform var(--transition-fast);background:0 0;border:1px solid #0000;justify-content:center;align-items:center;display:inline-flex}.btn-sm{padding:5px 10px;font-size:12px}.btn-text.active{color:var(--color-primary);background:var(--color-surface-hover)}.editor-toolbar{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;flex-shrink:0;align-items:center;gap:8px;width:56px;padding:12px 0;display:flex}.editor-toolbar-item{border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);background:0 0;border:1px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;display:flex}.editor-toolbar-item:hover{background:var(--color-surface-hover);color:var(--color-text)}.editor-toolbar-item.active{background:var(--color-primary-subtle);color:var(--color-primary);border-color:var(--color-primary)}.editor-toolbar-key{letter-spacing:.05em;font-size:9px;font-weight:700}.node-item-draggable{background:var(--color-surface-elevated);border-radius:var(--radius-md);cursor:grab;border:1px solid var(--color-border);transition:background-color var(--transition-fast), transform var(--transition-fast), border-color var(--transition-fast);margin-bottom:8px;padding:10px 12px}.node-item-draggable:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.annotate-tool-row{background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);padding:12px}.annotate-tool-row:hover{background:var(--color-surface-hover)}.annotate-tool-row.active{background:var(--color-primary-subtle);border-color:var(--color-primary)}.annotation-inline-editor{transform:translate(-4px,-4px)}.annotation-inline-editor-input{border:1px solid var(--color-primary);background:var(--color-surface-elevated);min-width:160px;color:var(--color-text);box-shadow:var(--shadow-md);border-radius:8px;outline:none;padding:6px 10px;font-size:12px}.annotation-inline-editor-presets{background:var(--color-surface-elevated);border:1px solid var(--color-border);box-shadow:var(--shadow-md);border-radius:8px;flex-direction:column;gap:4px;padding:6px;display:flex}.annotation-inline-editor-preset-btn{cursor:pointer;white-space:nowrap;background:0 0;border:1px solid;border-radius:6px;padding:5px 12px;font-size:12px;font-weight:600}.annotation-item-delete{background:var(--color-danger);color:#fff;cursor:pointer;opacity:0;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:-8px}.annotation-item-wrapper:hover .annotation-item-delete{opacity:1}.history-asset-item{background:var(--color-surface-elevated);border-radius:var(--radius-md);border:1px solid var(--color-border);cursor:grab;transition:background-color var(--transition-fast), transform var(--transition-fast);margin-bottom:8px;padding:10px 12px}.history-asset-item:hover{background:var(--color-surface-hover);transform:translate(2px)}.history-asset-item:active{cursor:grabbing;transform:scale(.98)}.timeline-ruler span{-webkit-user-select:none;user-select:none}.login-layout{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);width:100%;max-width:380px;box-shadow:var(--shadow-md);padding:32px}.login-card h2{text-align:center;color:var(--color-text);margin-bottom:24px}.login-card .form-group label{color:var(--color-text-secondary)}.login-card .form-group input{background:var(--color-surface-elevated);max-width:100%;color:var(--color-text)}.login-card .login-link{color:var(--color-primary);text-decoration:none}.login-card .login-link:hover{text-decoration:underline}.input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:9px 14px;font-size:13px}.input::placeholder{color:var(--color-muted)}.input:hover{border-color:var(--color-border-strong)}.input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus)}.badge{border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-default{background:var(--color-surface-elevated);color:var(--color-text-secondary);border:1px solid var(--color-border)}.badge-primary{background:var(--color-primary-subtle);color:var(--color-primary);border:1px solid var(--color-primary)}.badge-success{background:var(--color-success-subtle);color:var(--color-success);border:1px solid var(--color-success)}.badge-warning{background:var(--color-warning-subtle);color:var(--color-warning);border:1px solid var(--color-warning)}.badge-danger{background:var(--color-danger-subtle);color:var(--color-danger);border:1px solid var(--color-danger)}.badge-muted{background:var(--color-surface-hover);color:var(--color-muted);border:1px solid var(--color-border)}.progress-bar{background:var(--color-surface-hover);border-radius:999px;width:100%;height:6px;overflow:hidden}.skeleton{background:linear-gradient(90deg, var(--color-surface-hover) 25%, var(--color-surface-elevated) 50%, var(--color-surface-hover) 75%);border-radius:var(--radius-md);background-size:200% 100%;animation:1.4s linear infinite skeleton-shimmer}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.empty-state{text-align:center;color:var(--color-muted);padding:48px 20px}.empty-state-title{color:var(--color-text-secondary);margin-bottom:6px;font-size:15px;font-weight:600}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:999px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}.user-layout{background:var(--color-bg);width:100vw;height:100vh;color:var(--color-text);background:var(--color-bg);width:100vw;height:100vh;display:flex;overflow:hidden}.user-sidebar{width:var(--sidebar-width);background:var(--color-surface);border-right:1px solid var(--color-border);z-index:10;height:100%;transition:width var(--transition-sidebar);flex-direction:column;flex-shrink:0;gap:16px;padding:16px 0 20px;display:flex;position:relative}.user-sidebar-header{height:var(--header-height);flex-shrink:0;align-items:center;width:100%;padding:0;display:flex;position:relative}.user-sidebar-brand{width:100%;color:var(--color-text);white-space:nowrap;align-items:center;text-decoration:none;display:flex;overflow:hidden}.user-sidebar-brand-icon{width:var(--sidebar-collapsed-width);flex-shrink:0;justify-content:center;align-items:center;height:44px;display:flex}.user-sidebar-brand-text{opacity:1;min-width:0;max-width:140px;transition:opacity var(--transition-sidebar), transform var(--transition-sidebar), max-width var(--transition-sidebar);flex:1;font-size:16px;font-weight:700;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-brand-text{opacity:0;pointer-events:none;max-width:0;overflow:hidden;transform:translate(-8px)}.user-sidebar.collapsed .user-sidebar-nav{overflow:visible}.user-sidebar-item{border-radius:var(--radius-lg);width:100%;height:48px;color:var(--color-muted);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), transform var(--transition-fast), width var(--transition-sidebar);background:0 0;border:none;flex-shrink:0;justify-content:flex-start;align-items:center;padding:0;text-decoration:none;display:flex;position:relative}.user-sidebar-item-icon{width:var(--sidebar-collapsed-width);flex-shrink:0;justify-content:center;align-items:center;height:100%;display:flex}.user-sidebar-item.active{background:var(--color-primary-subtle);color:var(--color-primary)}.user-sidebar-item.active:before{content:"";background:var(--color-primary);border-radius:0 3px 3px 0;width:3px;height:24px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.user-sidebar-item-text{white-space:nowrap;opacity:1;min-width:0;max-width:160px;transition:opacity var(--transition-sidebar), transform var(--transition-sidebar), max-width var(--transition-sidebar);flex:1;font-size:14px;font-weight:500;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-item-text{opacity:0;pointer-events:none;max-width:0;overflow:hidden;transform:translate(-8px)}.user-sidebar.collapsed .user-sidebar-item:after{content:attr(data-label);border-radius:var(--radius-md);background:var(--color-surface-elevated);border:1px solid var(--color-border);color:var(--color-text);white-space:nowrap;opacity:0;pointer-events:none;box-shadow:var(--shadow-dropdown);transition:opacity var(--transition-fast), transform var(--transition-fast);z-index:100;padding:6px 10px;font-size:12px;font-weight:500;position:absolute;top:50%;left:calc(100% + 12px);transform:translateY(-50%)scale(.96)}.user-sidebar.collapsed .user-sidebar-item:hover:after{opacity:1;transform:translateY(-50%)scale(1)}.user-sidebar-footer{flex-direction:column;gap:8px;width:100%;padding:0;display:flex}.user-sidebar-user{width:100%;min-height:58px;color:var(--color-text);cursor:default;white-space:nowrap;border:1px solid var(--color-border);box-shadow:var(--shadow-card);border-radius:var(--radius-lg);background:var(--color-surface-elevated);transition:width var(--transition-sidebar), background-color var(--transition-sidebar);align-items:center;padding:0;display:flex;overflow:hidden}.user-sidebar.collapsed .user-sidebar-user{background:var(--color-surface-elevated);border-color:var(--color-border);box-shadow:var(--shadow-card)}.user-sidebar-avatar-rail{width:var(--sidebar-collapsed-width);flex-shrink:0;justify-content:center;align-items:center;height:100%;display:flex}.user-sidebar-user-info{opacity:1;min-width:0;max-width:140px;transition:opacity var(--transition-sidebar), transform var(--transition-sidebar), max-width var(--transition-sidebar);flex-direction:column;flex:1;gap:2px;display:flex;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-user-info{opacity:0;pointer-events:none;max-width:0;overflow:hidden;transform:translate(-8px)}.user-sidebar-user-info div{font-size:13px;font-weight:600}.user-sidebar-avatar{color:#fff;background:linear-gradient(135deg,#6366f1 0%,#a855f7 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:600;display:flex}.user-main{flex-direction:column;flex:1;min-width:0;display:flex}.user-header{height:var(--header-height);background:var(--color-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;justify-content:space-between;align-items:center;padding:0 28px;display:flex}.user-header-left{align-items:center;gap:16px;display:flex}.user-header-search{width:320px;position:relative}.user-header-search input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-elevated);width:100%;color:var(--color-text);transition:width var(--transition-base), border-color var(--transition-fast), box-shadow var(--transition-fast);outline:none;padding:8px 12px 8px 36px;font-size:13px}.user-header-search input:focus{border-color:var(--color-primary);width:360px;box-shadow:var(--shadow-focus);background:var(--color-surface)}.user-content{isolation:isolate;flex:1;min-height:0;position:relative;overflow-y:auto}@media (width<=1024px){.user-sidebar{width:var(--sidebar-collapsed-width)!important}.user-sidebar .user-sidebar-header,.user-sidebar .user-sidebar-nav,.user-sidebar .user-sidebar-footer{padding:0}.user-sidebar .user-sidebar-nav{overflow:hidden}.user-sidebar .user-sidebar-item,.user-sidebar .user-sidebar-user{width:100%}.user-sidebar-brand-text,.user-sidebar-item-text,.user-sidebar-user-info{display:none}.user-header-search,.user-header-search input:focus{width:220px}}@media (width<=768px){.user-sidebar{display:none}.user-header{padding:0 16px}.user-header-search{display:none}}.nav-bar{background:var(--color-surface);border-bottom:1px solid var(--color-border);height:48px;color:var(--color-text);justify-content:space-between;align-items:center;padding:0 16px;display:flex}.nav-bar a{color:var(--color-text);margin-right:16px;font-size:14px;text-decoration:none}.nav-bar a:hover{opacity:.8}.page-container{height:calc(100vh - 48px);padding:16px;overflow:auto}.editor-layout{background:var(--color-bg);height:100vh;display:flex;overflow:hidden}.editor-rail{border-right:1px solid var(--color-border);z-index:20;background:#12141af2;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:14px;width:88px;padding:18px 0;display:flex;position:relative}.editor-rail-item{width:52px;height:52px;color:var(--color-muted);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;display:flex}.editor-rail-item:hover{color:var(--color-text);background:#ffffff14}.editor-rail-item.active{color:#fff;background:#6366f12e;border-color:#6366f180}.editor-rail-item.primary{color:#fff;background:linear-gradient(135deg,#8b5cf6,#6366f1);box-shadow:0 8px 24px #6366f159}.editor-rail-item.primary.active{background:linear-gradient(135deg,#a78bfa,#818cf8);border-color:#ffffff4d}.editor-rail-avatar{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#fff;cursor:pointer;border:2px solid #ffffff1a;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;font-size:13px;font-weight:700;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.editor-float-panel{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);z-index:30;background:#12141af5;border:1px solid #ffffff14;border-radius:16px;width:280px;max-height:calc(100vh - 120px);padding:20px;position:absolute;top:92px;left:100px;overflow-y:auto;box-shadow:0 24px 60px #00000080}.editor-panel-title{color:var(--color-text);margin-bottom:6px;font-size:17px;font-weight:700}.editor-panel-subtitle{color:var(--color-muted);font-size:12px;line-height:1.5}.editor-panel-hint{color:var(--color-muted);background:var(--color-surface-elevated);border-radius:8px;margin-top:16px;padding:10px 12px;font-size:12px;line-height:1.5}.node-drawer-item{cursor:grab;transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;flex-direction:column;align-items:stretch;padding:14px 16px;display:flex}.node-drawer-item:hover{background:#ffffff12;border-color:#ffffff1f;transform:translateY(-2px)}.node-drawer-item:active{cursor:grabbing;transform:scale(.98)}.node-drawer-item-title{min-width:0;color:var(--color-text);font-size:13px;font-weight:600;line-height:1.35}.node-drawer-item-title>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.node-drawer-item-description{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;line-height:1.35;overflow:hidden}.node-drawer-item-cost-row{margin-top:7px;display:flex}.node-drawer-item-cost{color:#f59e0b;overflow-wrap:anywhere;background:#f59e0b1f;border:1px solid #f59e0b33;border-radius:4px;max-width:100%;padding:2px 6px;font-size:10px;font-weight:600;line-height:1.35}.node-library-category-header{cursor:pointer;width:100%;transition:opacity var(--transition-fast);background:0 0;border:none;justify-content:space-between;align-items:center;padding:8px 0;font-size:13px;font-weight:600;display:flex}.node-library-category-header:hover{opacity:.8}.node-library-category-title{align-items:center;gap:8px;display:flex}.node-library-category-count{align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex}.asset-quick-item{background:var(--color-surface-elevated);border:1px solid var(--color-border);cursor:grab;transition:transform var(--transition-fast), border-color var(--transition-fast), background-color var(--transition-fast);border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.asset-quick-item:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover);transform:translateY(-2px)}.asset-quick-label{margin-bottom:2px;font-size:13px;font-weight:600}.asset-quick-desc{color:var(--color-muted);font-size:11px}.editor-main{background:var(--color-bg);flex-direction:column;flex:1;min-width:0;display:flex;position:relative}.editor-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:10;background:#0f1117d9;border-bottom:1px solid #ffffff0f;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:12px 20px;display:flex}.editor-topbar-left{align-items:center;gap:16px;display:flex}.editor-project-card{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:14px;align-items:center;gap:10px;padding:8px 14px 8px 8px;display:flex}.editor-project-logo{background:#ffffff14;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;display:flex;overflow:hidden}.editor-project-logo img{object-fit:contain;width:28px;height:28px}.editor-project-info{flex-direction:column;gap:2px;display:flex}.editor-project-name{color:var(--color-text);font-size:14px;font-weight:700}.editor-project-status{color:var(--color-success);align-items:center;gap:4px;font-size:11px;display:flex}.editor-canvas-title{color:var(--color-text);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;padding:10px 16px;font-size:15px;font-weight:600}.editor-topbar-actions{align-items:center;gap:10px;display:flex}.editor-topbar-icon{width:40px;height:40px;color:var(--color-text);cursor:pointer;transition:all var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;justify-content:center;align-items:center;display:flex}.editor-topbar-icon:hover{background:#ffffff14}.editor-topbar-icon:disabled{opacity:.4;cursor:not-allowed}.editor-topbar-run,.editor-topbar-save{cursor:pointer;height:40px;transition:transform var(--transition-fast), opacity var(--transition-fast);border:none;border-radius:20px;align-items:center;gap:8px;padding:0 20px;font-size:14px;font-weight:600;display:flex}.editor-topbar-run{color:#fff;background:linear-gradient(135deg,#22d3ee,#0ea5e9);box-shadow:0 8px 24px #22d3ee40}.editor-topbar-save{color:var(--color-text);background:#ffffff14;border:1px solid #ffffff1a}.editor-topbar-run:disabled,.editor-topbar-save:disabled{opacity:.5;cursor:not-allowed}.editor-body{flex:1;min-height:0;display:flex}.editor-center{background:var(--color-bg);flex-direction:column;flex:1;min-width:0;display:flex}.editor-canvas{background:var(--color-bg);flex:1}.editor-bottom{background:var(--color-surface);border-top:1px solid var(--color-border);height:220px;transition:height .2s;overflow-y:auto}.editor-bottom-handle{background:var(--color-surface-elevated);border:none;border-bottom:1px solid var(--color-border);width:100%;height:32px;color:var(--color-muted);cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;gap:6px;font-size:12px;display:flex}.editor-bottom.collapsed .editor-bottom-handle{border-bottom:none}.editor-bottom-handle:hover{color:var(--color-text);background:var(--color-surface-hover,var(--color-surface-elevated))}.editor-bottom-tabs{border-bottom:1px solid var(--color-border);background:var(--color-surface-elevated);align-items:center;gap:4px;padding:8px 12px;display:flex}.editor-right{background:#12141af2;border-left:1px solid #ffffff0f;flex-direction:column;width:340px;padding:20px;transition:width .12s ease-out,padding .12s ease-out;display:flex;position:relative;overflow-y:auto}.editor-right.collapsed{width:40px;padding:12px 8px;overflow:visible}.editor-right-handle{background:var(--color-surface-elevated);width:24px;height:24px;color:var(--color-muted);cursor:pointer;border:1px solid #ffffff14;border-radius:6px;flex-shrink:0;justify-content:center;align-self:flex-end;align-items:center;display:flex}.editor-right.collapsed .editor-right-handle{align-self:center}.editor-right-handle:hover{color:var(--color-text);border-color:#ffffff2e}.editor-right-section{border-top:1px solid #ffffff0f;margin-top:16px;padding-top:16px}.editor-right-section-title{color:var(--color-text);cursor:pointer;-webkit-user-select:none;user-select:none;justify-content:space-between;align-items:center;margin:0 0 12px;font-size:14px;display:flex}.editor-right-section-title h3{color:var(--color-text);margin:0;font-size:14px}.editor-right-section-title span{color:var(--color-muted);font-size:12px}.editor-right-section-list{flex-direction:column;gap:8px;display:flex}.editor-right-section-list .btn{justify-content:flex-start}.param-empty{text-align:center;background:#ffffff0a;border:1px dashed #ffffff1a;border-radius:14px;margin-top:20px;padding:24px}.param-empty-preview{background:#ffffff0a;border-radius:10px;width:100%;height:140px;margin-bottom:12px}.param-empty p{color:var(--color-muted);margin:0;font-size:13px}.param-preview{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;justify-content:center;align-items:center;width:100%;min-height:120px;max-height:260px;margin:16px 0;display:flex;overflow:hidden}.param-preview-img{object-fit:contain;width:auto;max-width:100%;height:auto;max-height:260px;display:block}video.param-preview-img{object-fit:contain;background:#000;border-radius:8px;width:100%;height:auto;max-height:260px}.param-preview-empty{width:100%;min-height:120px;color:var(--color-muted);justify-content:center;align-items:center;font-size:13px;display:flex}.param-section{border-top:1px solid #ffffff0f;margin-top:16px;padding-top:16px}.param-section-title{color:var(--color-text);margin-bottom:12px;font-size:14px;font-weight:700}.param-section-list{flex-direction:column;gap:8px;display:flex}.param-section-item{color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;justify-content:space-between;align-items:center;padding:12px 14px;font-size:13px;display:flex}.param-section-item:hover{background:#ffffff12;border-color:#ffffff1a}.param-section-value{color:var(--color-muted);font-size:12px}.node-category{margin-bottom:20px}.node-category-title{color:var(--color-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;font-size:12px;font-weight:700}.node-item{background:var(--color-surface-elevated);border-radius:var(--radius-md);cursor:grab;color:var(--color-text);border-left:3px solid var(--color-border-strong);transition:background-color var(--transition-fast), transform var(--transition-fast);margin-bottom:8px;padding:10px 12px;font-size:13px}.node-item:hover{background:var(--color-surface-hover);transform:translate(2px)}.node-item.input{border-left-color:var(--color-success)}.node-item.process{border-left-color:var(--color-info)}.node-item.ai{border-left-color:#a855f7}.node-item.output{border-left-color:var(--color-warning)}.param-panel h3{border-bottom:1px solid var(--color-border);color:var(--color-text);margin-bottom:12px;padding-bottom:10px;font-size:14px;font-weight:700}.param-field{margin-bottom:14px}.param-field label{color:var(--color-muted);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.param-field input,.param-field select,.param-field textarea{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;color:var(--color-text);padding:8px 10px;font-size:13px}.param-field input:focus,.param-field select:focus,.param-field textarea:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.task-monitor h3{color:var(--color-text);margin-bottom:10px;font-size:14px;font-weight:700}.task-log{color:#e2e8f0;border-radius:var(--radius-md);white-space:pre-wrap;background:#0f172a;height:100px;padding:10px;font-family:monospace;font-size:12px;overflow-y:auto}.data-table{border-collapse:collapse;background:var(--color-surface);border-radius:var(--radius-lg);width:100%;font-size:13px;overflow:hidden}.data-table th,.data-table td{text-align:left;border-bottom:1px solid var(--color-border);padding:12px 14px}.data-table th{background:var(--color-surface-elevated);color:var(--color-text-secondary);font-weight:600}.form-group{margin-bottom:16px}.form-group label{color:var(--color-text-secondary);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.form-group input{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:100%;max-width:320px;color:var(--color-text);padding:9px 12px;font-size:14px}.form-group input:focus{border-color:var(--color-primary);box-shadow:var(--shadow-focus);outline:none}.react-flow__node{border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);min-width:150px;color:var(--color-text);box-shadow:var(--shadow-card);font-size:12px}.react-flow__node .node-header{border-bottom:1px solid var(--color-border);padding:8px 12px;font-weight:700}.react-flow__node .node-body{color:var(--color-muted);padding:8px 12px}.react-flow__minimap{border-radius:var(--radius-md);background:var(--color-surface)!important;border:1px solid var(--color-border)!important}.react-flow__minimap-mask{fill-opacity:.6;fill:var(--color-surface-elevated)!important}.react-flow__controls{border-radius:var(--radius-md);box-shadow:var(--shadow-card);background:var(--color-surface)!important;border:1px solid var(--color-border)!important}.react-flow__controls-button{background:var(--color-surface)!important;border-bottom:1px solid var(--color-border)!important;color:var(--color-text)!important}.react-flow__controls-button svg{fill:var(--color-text)}.react-flow__controls-button:hover{background:var(--color-surface-hover)!important}.node-status-idle{border:2px solid var(--color-border-strong)}.node-status-loading{border:2px solid var(--color-warning)}.node-status-complete{border:2px solid var(--color-success)}.node-status-error{border:2px solid var(--color-danger)}.node-status-skipped{border:2px dashed var(--color-border-strong)}.web-modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:20px;animation:.2s web-modal-backdrop-in;display:flex;position:fixed;inset:0}.web-modal-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-dropdown);color:var(--color-text);max-width:90vw;max-height:90vh;animation:.25s cubic-bezier(.16,1,.3,1) web-modal-panel-in;overflow:auto}@keyframes web-modal-backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes web-modal-panel-in{0%{opacity:0;transform:translateY(16px)scale(.96)}to{opacity:1;transform:translateY(0)scale(1)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.dashboard-hero{border-radius:var(--radius-xl);background:linear-gradient(135deg,#6366f12e 0%,#a855f71f 50%,#0d948814 100%);border:1px solid #ffffff0f;justify-content:space-between;align-items:center;gap:40px;margin-bottom:32px;padding:40px 44px;display:flex;position:relative;overflow:hidden}.dashboard-hero:before{content:"";pointer-events:none;background:radial-gradient(circle at 80% 20%,#6366f140,#0000 40%),radial-gradient(circle at 20% 90%,#0d94882e,#0000 35%);position:absolute;inset:0}.dashboard-hero-content{z-index:1;max-width:520px;position:relative}.dashboard-hero-title{background:linear-gradient(135deg, var(--color-text) 0%, #a5b4fc 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:14px;font-size:28px;font-weight:700;line-height:1.25}.dashboard-hero-subtitle{color:var(--color-muted);margin-bottom:26px;font-size:14px;line-height:1.7}.dashboard-hero-btn{background:linear-gradient(135deg, var(--color-primary) 0%, #6366f1 100%);color:#fff;border:none;box-shadow:0 8px 24px #0d948847}.dashboard-hero-btn-ghost{color:var(--color-text);background:#ffffff0d;border:1px solid #ffffff1a}.dashboard-hero-visual{flex-shrink:0;justify-content:center;align-items:center;width:220px;height:160px;display:flex;position:relative}.dashboard-hero-cube{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);z-index:2;background:linear-gradient(135deg,#ffffff1f 0%,#ffffff0a 100%);border:1px solid #ffffff2e;border-radius:24px;justify-content:center;align-items:center;width:110px;height:110px;display:flex;position:relative;transform:rotateX(15deg)rotateY(-20deg);box-shadow:0 20px 50px #6366f140}.dashboard-hero-cube-face{letter-spacing:.12em;color:#ffffffe6;text-shadow:0 2px 12px #6366f180;font-size:18px;font-weight:800}.dashboard-hero-glow{filter:blur(20px);z-index:1;background:radial-gradient(circle,#6366f159 0%,#0000 65%);border-radius:50%;width:180px;height:180px;position:absolute}.dashboard-stat-card{align-items:center;gap:14px;padding:18px 20px;display:flex}.dashboard-stat-icon{border-radius:var(--radius-md);background:var(--color-primary-subtle);width:40px;height:40px;color:var(--color-primary);justify-content:center;align-items:center;display:flex}.dashboard-stat-value{font-size:22px;font-weight:700}.dashboard-projects{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.dashboard-project-card{cursor:pointer;padding:0;overflow:hidden}.dashboard-project-cover{height:140px;position:relative;overflow:hidden}.dashboard-project-cover img{object-fit:cover;width:100%;height:100%;transition:transform var(--transition-base)}.dashboard-project-card:hover .dashboard-project-cover img{transform:scale(1.05)}.dashboard-project-status{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000073;border:1px solid;border-radius:20px;padding:3px 8px;font-size:11px;font-weight:600;position:absolute;top:12px;right:12px}.dashboard-project-title{margin-bottom:8px;font-size:15px;font-weight:700}.dashboard-project-meta{color:var(--color-muted);align-items:center;gap:8px;margin-bottom:14px;font-size:12px;display:flex}.dashboard-project-progress{color:var(--color-muted);justify-content:space-between;align-items:center;margin-top:10px;font-size:12px;display:flex}.dashboard-template-card{cursor:pointer;padding:0;overflow:hidden}.dashboard-template-card img{object-fit:cover;width:100%;height:140px;transition:transform var(--transition-base)}.dashboard-template-card:hover img{transform:scale(1.05)}.dashboard-template-info div{margin-bottom:4px;font-size:14px;font-weight:700}@media (width<=1280px){.dashboard-stats,.dashboard-projects,.dashboard-templates{grid-template-columns:repeat(2,1fr)}}@media (width<=768px){.dashboard-hero{flex-direction:column;padding:28px}.dashboard-hero-visual{display:none}.dashboard-stats,.dashboard-projects,.dashboard-templates{grid-template-columns:1fr}}.timeline-panel{background:#0f1117f2;flex-direction:column;height:100%;padding:12px 16px;display:flex}.timeline-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.timeline-title{color:var(--color-text);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:12px;align-items:center;gap:8px;padding:8px 14px;font-size:14px;font-weight:700;display:flex}.timeline-dot{background:var(--color-primary);width:8px;height:8px;box-shadow:0 0 8px var(--color-primary);border-radius:50%}.timeline-tools{align-items:center;gap:8px;display:flex}.timeline-tool{color:var(--color-text);cursor:pointer;transition:background-color var(--transition-fast), border-color var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:10px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:flex}.timeline-tool:hover{background:#ffffff14}.timeline-tool.active{color:#000;background:#fff;border-color:#fff}.timeline-tracks{flex-direction:column;flex:1;gap:10px;display:flex;position:relative}.timeline-track-row{align-items:center;gap:10px;height:36px;display:flex}.timeline-track-label{width:60px;color:var(--color-text);font-size:11px;font-weight:600}.timeline-track-lane{background:#ffffff0a;border:1px solid #ffffff0f;border-radius:6px;flex:1;height:32px;position:relative;overflow:hidden}.timeline-segment{transform-origin:0;border:1px solid;border-radius:4px;align-items:center;padding-left:6px;font-size:10px;font-weight:600;display:flex;position:absolute;top:4px;bottom:4px}.timeline-playhead{pointer-events:none;z-index:2;background:#ef4444;width:2px;position:absolute;top:0;bottom:0}.timeline-playhead-dot{background:#ef4444;border-radius:50%;width:12px;height:12px;position:absolute;top:-6px;left:-5px}.canvas-node{background:#1c1f28f2;border:1px solid #ffffff14;border-radius:16px;width:220px;transition:transform .2s,box-shadow .2s,border-color .2s;position:relative;box-shadow:0 4px 18px #00000040,0 1px 2px #00000026}.canvas-node.selected,.canvas-node:hover{border-color:var(--node-color,var(--color-primary));box-shadow:0 10px 32px #00000059, 0 0 0 2px var(--node-color,var(--color-primary)), 0 0 24px -6px var(--node-color,var(--color-primary));transform:translateY(-2px)}.canvas-node-delete{z-index:4;background:var(--color-danger,#ef4444);cursor:pointer;opacity:0;pointer-events:none;border:none;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;transition:opacity .15s;display:flex;position:absolute;top:-8px;right:-8px}.canvas-node.selected .canvas-node-delete,.canvas-node:hover .canvas-node-delete{opacity:1;pointer-events:auto}.canvas-node-surface{opacity:.9;border-radius:16px 16px 0 0;height:3px;position:absolute;top:0;left:0;right:0}.canvas-node-body{z-index:1;padding:14px;position:relative}.canvas-node-header{opacity:.85;align-items:center;gap:10px;display:flex}.canvas-node-icon{width:28px;height:28px;box-shadow:0 2px 8px -3px var(--node-color,var(--color-primary));border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.canvas-node-icon svg{width:14px;height:14px}.canvas-node-info{flex:1;min-width:0}.canvas-node-title{color:var(--color-muted,#94a3b8);letter-spacing:.02em;white-space:nowrap;text-overflow:ellipsis;font-size:11px;font-weight:500;line-height:1.3;overflow:hidden}.canvas-node-meta{color:#94a3b8b3;align-items:center;gap:6px;margin-top:2px;font-size:10px;display:flex}.canvas-node-status-dot{background:#94a3b8;border-radius:50%;width:7px;height:7px}.canvas-node-status-dot.dot-loading{background:var(--color-warning);animation:1.2s ease-in-out infinite nodeDotPulse;box-shadow:0 0 0 3px #f59e0b2e}.canvas-node-status-dot.dot-complete{background:var(--color-success)}.canvas-node-status-dot.dot-error{background:var(--color-danger)}.canvas-node-status-dot.dot-skipped{background:var(--color-border-strong)}@keyframes nodeDotPulse{0%,to{opacity:1}50%{opacity:.35}}.canvas-node-track{background:#ffffff14;border-radius:6px;height:3px;margin-top:12px;overflow:hidden}.canvas-node-track-fill{background:var(--node-color,var(--color-primary));height:100%;box-shadow:0 0 8px -1px var(--node-color,var(--color-primary));border-radius:6px}.canvas-node-preview{background:#00000040;border:1px solid #ffffff0f;border-radius:12px;height:136px;margin-top:10px;overflow:hidden;box-shadow:0 6px 20px -8px #00000080}.canvas-node-preview img,.canvas-node-preview video{object-fit:cover;width:100%;height:100%}.canvas-node-preview video{object-fit:contain;background:#000}.canvas-node-placeholder{background:linear-gradient(160deg, color-mix(in srgb, var(--node-color,var(--color-primary)) 14%, transparent), #ffffff05);border:1px dashed color-mix(in srgb, var(--node-color,var(--color-primary)) 30%, transparent);border-radius:12px;justify-content:center;align-items:center;height:136px;margin-top:10px;display:flex}.canvas-node-placeholder svg{width:34px;height:34px}.canvas-node-progress{margin-top:8px}.canvas-node-handle{cursor:crosshair;z-index:2;width:28px;height:28px;position:absolute;background:0 0!important;border:none!important}.canvas-node-handle:after,.canvas-node-handle:before{display:none!important}.flowise-port-ring{pointer-events:none;background:#ffffff14;border:2px solid #ffffff80;border-radius:50%;width:20px;height:20px;transition:transform .2s,box-shadow .2s,border-color .2s,background-color .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 2px #00000059,0 0 12px #00000040}.flowise-port-dot{pointer-events:none;border-radius:50%;width:8px;height:8px;transition:transform .2s,box-shadow .2s;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 8px -1px}.canvas-node-handle:hover .flowise-port-ring,.canvas-node-handle.connecting .flowise-port-ring,.canvas-node-handle.connected .flowise-port-ring{background:#ffffff26;border-color:#ffffffd9;transform:translate(-50%,-50%)scale(1.35);box-shadow:0 0 0 3px #00000040,0 0 16px #00000059}.canvas-node-handle:hover .flowise-port-dot,.canvas-node-handle.connecting .flowise-port-dot,.canvas-node-handle.connected .flowise-port-dot{transform:translate(-50%,-50%)scale(1.6);box-shadow:0 0 0 2px #00000040,0 0 14px}.react-flow__handle-left.canvas-node-handle{left:-14px}.react-flow__handle-right.canvas-node-handle{right:-14px}.react-flow__node{background:0 0!important;border:none!important}.react-flow__edges{pointer-events:none}.canvas-edge-selector{stroke:#0000;stroke-width:15px;fill:none;cursor:pointer;pointer-events:auto}.canvas-edge-path{stroke-width:2.5px;stroke-linecap:round;stroke-linejoin:round;cursor:pointer;opacity:.75;filter:none;pointer-events:auto;transition:stroke-width .2s,opacity .2s,filter .2s}.react-flow__edge.selected .canvas-edge-path,.react-flow__edge:hover .canvas-edge-path,.canvas-edge-path:hover{stroke-width:3.5px;opacity:1;filter:drop-shadow(0 0 4px var(--color-primary))}.react-flow__connection path{stroke:#c084fc;stroke-width:2.5px;stroke-linecap:round;stroke-dasharray:6 4;filter:drop-shadow(0 0 4px #c084fc99)}.canvas-edge-button{z-index:10}.canvas-edge-delete-btn{background:linear-gradient(to right, var(--color-danger), var(--color-danger-subtle));color:#fff;cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;padding:0;transition:transform .15s,box-shadow .15s;display:flex;box-shadow:0 0 6px #00000059}.canvas-edge-delete-btn:hover{transform:scale(1.15);box-shadow:0 0 10px #00000073}.react-flow__edge-path{stroke:var(--color-primary);stroke-width:2.5px;stroke-linecap:round;filter:drop-shadow(0 1px 3px #3b82f64d)}.react-flow__edge:hover .react-flow__edge-path,.react-flow__edge.selected .react-flow__edge-path{stroke-width:3.2px}.react-flow__edge.animated .react-flow__edge-path{stroke-dasharray:6;animation:.6s linear infinite edgeDash}@keyframes edgeDash{to{stroke-dashoffset:-12px}}.react-flow__connectionline .react-flow__edge-path,.react-flow__connection-path{stroke:var(--color-primary);stroke-width:2.5px;stroke-linecap:round}.automations-tabs{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);gap:8px;margin-bottom:20px;padding:6px;display:inline-flex}.automations-tab{border-radius:var(--radius-md);color:var(--color-muted);cursor:pointer;transition:background-color var(--transition-fast), color var(--transition-fast);background:0 0;border:none;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:500;display:inline-flex}.automations-tab:hover{color:var(--color-text)}.automations-tab.active{background:var(--color-primary);color:#fff}.automations-table-header,.automations-table-row{grid-template-columns:1.2fr 1.5fr 1.2fr .8fr 1fr 1.2fr;align-items:center;gap:16px;padding:14px 24px;font-size:14px;display:grid}.automations-table-header{background:var(--color-surface-elevated);color:var(--color-muted);border-bottom:1px solid var(--color-border);font-weight:600}.automations-table-row{border-bottom:1px solid var(--color-border);color:var(--color-text);transition:background-color var(--transition-fast)}.automations-table-row:last-child{border-bottom:none}.automations-table-row:hover{background:var(--color-surface-hover)}.automations-fab{box-shadow:var(--shadow-hover);position:fixed;bottom:32px;right:32px}@media (width<=1024px){.automations-table-header,.automations-table-row{grid-template-columns:1fr 1fr 1fr;gap:12px}.automations-table-header>span:nth-child(3),.automations-table-row>span:nth-child(3),.automations-table-header>span:nth-child(4),.automations-table-row>span:nth-child(4){display:none}}.react-flow__minimap{background:var(--color-surface)!important;border:1px solid var(--color-border)!important;border-radius:var(--radius-md)!important}.react-flow__minimap-mask{fill:var(--color-surface)!important;fill-opacity:.7!important}:root,[data-theme=dark],[data-theme=light]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--fd-bg:#08090d;--fd-bg-soft:#0d0f14;--fd-surface:#181a20;--fd-surface-elevated:#22242c;--fd-surface-hover:#2c2e37;--fd-border:#ffffff4d;--fd-border-subtle:#282828;--fd-border-strong:#373b49;--fd-text:#fff;--fd-text-secondary:#8994a9;--fd-muted:#5d637e;--fd-caption:#5e5c85;--fd-cyan:#1ee5ff;--fd-pink:#ffc6ff;--fd-purple:#873fe9;--fd-blue:#5c74ff;--fd-success:#39d5bc;--fd-success-bright:#3ed33b;--fd-warning:#d9a24f;--fd-danger:#ff2339;--fd-info:#4994e2;--fd-credits:#f3b352;--gradient-primary:linear-gradient(135deg, #ffc6ff 0%, #fff 33%, #1ee5ff 100%);--gradient-hero-title:linear-gradient(90deg, #5c74ff 0%, #873fe9 100%);--gradient-fab:linear-gradient(135deg, #ffc6ff 0%, #fff 50%, #1ee5ff 100%);--shadow-card:0 4px 24px #00000059;--shadow-hover:0 12px 40px #0000008c;--shadow-dropdown:0 16px 48px #000000a6;--color-brand:#1ee5ff;--color-brand-light:#5effff;--color-brand-dark:#0bb8d0;--color-brand-subtle:#1ee5ff24;--color-bg:var(--fd-bg);--color-surface:var(--fd-surface);--color-surface-elevated:var(--fd-surface-elevated);--color-surface-hover:var(--fd-surface-hover);--color-border:var(--fd-border);--color-border-strong:var(--fd-border-strong);--color-text:var(--fd-text);--color-text-secondary:var(--fd-text-secondary);--color-muted:var(--fd-muted);--color-primary:var(--fd-cyan);--color-primary-subtle:#1ee5ff24;--color-success:var(--fd-success);--color-success-subtle:#39d5bc24;--color-warning:var(--fd-warning);--color-warning-subtle:#d9a24f24;--color-danger:var(--fd-danger);--color-danger-subtle:#ff233924;--color-info:var(--fd-info);--color-info-subtle:#4994e224;--shadow-focus:0 0 0 3px var(--color-primary-subtle);--sidebar-width:220px;--sidebar-collapsed-width:72px;--header-height:68px}body{background:var(--fd-bg);color:var(--fd-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans SC,sans-serif}.user-layout{background:var(--fd-bg)}.user-sidebar{width:var(--sidebar-width);background:var(--fd-bg-soft);border-right:1px solid var(--fd-border);flex-direction:column;align-items:center;padding:16px 0;transition:width .25s;display:flex}.user-sidebar.collapsed{width:var(--sidebar-collapsed-width)}.user-sidebar-header{justify-content:space-between;align-items:center;width:100%;height:44px;margin-bottom:16px;padding:0 14px;display:flex;position:relative}.user-sidebar.collapsed .user-sidebar-header{justify-content:center;padding:0}.user-sidebar-brand{color:var(--fd-text);white-space:nowrap;align-items:center;gap:10px;text-decoration:none;display:flex;overflow:hidden}.user-sidebar-brand-icon{flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.user-sidebar-brand-icon img{width:32px;height:32px}.user-sidebar-brand-text{color:var(--fd-text);opacity:1;max-width:140px;font-size:16px;font-weight:700;transition:opacity .25s,transform .25s,max-width .25s;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-brand-text{opacity:0;pointer-events:none;max-width:0;transform:translate(-8px)}.user-sidebar-toggle{width:28px;height:28px;color:var(--fd-muted);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;transition:all .2s;display:flex}.user-sidebar-toggle:hover{color:var(--fd-text)}.user-sidebar.collapsed .user-sidebar-toggle{position:absolute;top:8px;right:8px}.user-sidebar-nav{flex-direction:column;flex:1;gap:8px;width:100%;padding:0 12px;display:flex;overflow-y:auto}.user-sidebar.collapsed .user-sidebar-nav{align-items:center;padding:0 10px}.user-sidebar-item{width:100%;height:48px;color:var(--fd-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:12px;justify-content:flex-start;align-items:center;gap:10px;padding:0 12px;text-decoration:none;transition:all .2s;display:flex;position:relative}.user-sidebar.collapsed .user-sidebar-item{justify-content:center;width:48px;height:48px;padding:0}.user-sidebar-item:hover{background:var(--fd-surface-hover);color:var(--fd-text)}.user-sidebar-item.active{color:var(--fd-purple);background:#873fe929}.user-sidebar-item-text{white-space:nowrap;opacity:1;max-width:140px;font-size:14px;font-weight:500;transition:opacity .25s,transform .25s,max-width .25s;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-item-text{opacity:0;pointer-events:none;max-width:0;transform:translate(-8px)}.user-sidebar-footer{flex-direction:column;gap:8px;width:100%;margin-top:auto;padding:0 12px;display:flex}.user-sidebar.collapsed .user-sidebar-footer{align-items:center;padding:0 10px}.user-sidebar-user{width:100%;min-height:58px;color:var(--fd-text);background:var(--fd-surface-elevated);border:1px solid var(--fd-border);white-space:nowrap;border-radius:12px;align-items:center;gap:10px;padding:8px 12px;display:flex;overflow:hidden}.user-sidebar.collapsed .user-sidebar-user{background:0 0;border:none;justify-content:center;width:48px;height:48px;min-height:48px;padding:0}.user-sidebar-avatar{background:var(--gradient-hero-title);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.user-sidebar.collapsed .user-sidebar-avatar{width:36px;height:36px}.user-sidebar-user-info{opacity:1;flex-direction:column;gap:2px;max-width:140px;transition:opacity .25s,transform .25s,max-width .25s;display:flex;transform:translate(0)}.user-sidebar.collapsed .user-sidebar-user-info{opacity:0;pointer-events:none;max-width:0;transform:translate(-8px)}.user-sidebar-user-info div{color:var(--fd-text);font-size:13px;font-weight:600}.user-sidebar-user-info span{color:var(--fd-muted);font-size:11px}.user-main{background:var(--fd-bg)}.user-header{height:var(--header-height);border-bottom:1px solid var(--fd-border);background:0 0;justify-content:space-between;align-items:center;padding:0 32px;display:flex}.user-header-left{flex:1;align-items:center;gap:40px;display:flex}.user-header-left .page-title{color:var(--fd-text);letter-spacing:-.3px;margin:0;font-size:22px;font-weight:700}.user-header-search{width:420px;max-width:40vw;margin:0 auto;position:relative}.user-header-search input{background:var(--fd-surface-hover);width:100%;height:40px;color:var(--fd-text);border:1px solid #0000;border-radius:20px;outline:none;padding:0 16px 0 40px;font-size:14px;transition:all .2s}.user-header-search input::placeholder{color:var(--fd-muted)}.user-header-search input:focus{border-color:var(--fd-border);box-shadow:0 0 0 3px #ffffff0f}.user-header-search-icon{color:var(--fd-muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.user-header-actions{align-items:center;gap:14px;display:flex}.user-content{height:calc(100vh - var(--header-height));padding:0;overflow-y:auto}.page-padding,.page-container{color:var(--fd-text);padding:28px 32px}.page-title{color:var(--fd-text);font-size:22px;font-weight:700}.page-subtitle{color:var(--fd-text-secondary);margin-top:4px;font-size:13px}.card{background:var(--fd-surface);border:1px solid var(--fd-border);box-shadow:var(--shadow-card);border-radius:18px}.card-hover:hover{box-shadow:var(--shadow-hover);border-color:#ffffff73}.btn{cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;height:38px;padding:0 16px;font-size:14px;font-weight:600;transition:all .2s;display:inline-flex}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:#000;box-shadow:0 4px 18px #1ee5ff2e}.btn-primary:hover:not(:disabled){filter:brightness(1.08);box-shadow:0 6px 24px #1ee5ff47}.btn-secondary{color:var(--fd-text);border:1px solid var(--fd-border);background:#101b3c}.btn-secondary:hover:not(:disabled){background:#16254d}.btn-ghost{background:var(--fd-surface);color:var(--fd-text);border:1px solid var(--fd-border)}.btn-ghost:hover:not(:disabled){background:var(--fd-surface-hover);border-color:#ffffff73}.btn-success{background:var(--fd-success-bright);color:#000}.btn-success:hover:not(:disabled){filter:brightness(1.08)}.btn-danger{background:var(--fd-danger);color:#000}.btn-danger:hover:not(:disabled){filter:brightness(1.08)}.btn-sm{height:30px;padding:0 10px;font-size:12px}.icon-btn{background:var(--fd-surface);border:1px solid var(--fd-border);width:38px;height:38px;color:var(--fd-text-secondary);border-radius:10px;justify-content:center;align-items:center;transition:all .2s;display:inline-flex}.icon-btn:hover{background:var(--fd-surface-hover);color:var(--fd-text)}.input,.web-input,.web-select{background:var(--fd-surface-elevated);height:40px;color:var(--fd-text);border:1px solid #0000;border-radius:10px;outline:none;padding:0 14px;font-size:14px;transition:all .2s}.input:focus,.web-input:focus,.web-select:focus{border-color:var(--fd-border);box-shadow:0 0 0 3px #ffffff0f}.input::placeholder,.web-input::placeholder{color:var(--fd-muted)}.web-form-label{color:var(--fd-muted);margin-bottom:6px;font-size:12px;display:block}.badge{border-radius:20px;align-items:center;height:24px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.badge-default{background:var(--fd-surface-hover);color:var(--fd-text-secondary)}.badge-primary{color:var(--fd-purple);background:#873fe929}.badge-muted{background:var(--fd-surface-hover);color:var(--fd-muted)}.badge-success{color:var(--fd-success);background:#39d5bc29}.badge-danger{color:var(--fd-danger);background:#ff233929}.badge-warning{color:var(--fd-warning);background:#d9a24f29}.badge-info{color:var(--fd-info);background:#4994e229}.progress-bar{background:var(--fd-border-strong);vertical-align:middle;border-radius:4px;height:8px;display:inline-block;overflow:hidden}.progress-bar-fill{background:var(--gradient-primary);border-radius:4px;height:100%;transition:width .3s}.fd-tabs,.automations-tabs{background:var(--fd-bg);border:1px solid var(--fd-border);border-radius:12px;gap:8px;padding:4px;display:inline-flex}.fd-tab,.automations-tab{height:34px;color:var(--fd-text-secondary);background:var(--fd-surface);border:1px solid var(--fd-border);cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:600;transition:all .2s;display:inline-flex}.fd-tab:hover,.automations-tab:hover{color:var(--fd-text);background:var(--fd-surface-hover)}.fd-tab.active,.automations-tab.active{color:#000;background:var(--gradient-primary);border-color:var(--fd-border)}.fd-tab-count{background:var(--fd-surface-hover);min-width:18px;height:18px;color:var(--fd-text-secondary);border-radius:9px;justify-content:center;align-items:center;padding:0 5px;font-size:11px;display:inline-flex}.fd-tab.active .fd-tab-count{color:#000;background:#0000002e}.dashboard-hero{background:var(--fd-surface);border:1px solid var(--fd-border);border-radius:22px;margin-bottom:28px;padding:36px 40px;position:relative;overflow:hidden}.dashboard-hero-title{background:var(--gradient-hero-title);-webkit-text-fill-color:transparent;letter-spacing:-.5px;-webkit-background-clip:text;margin-bottom:10px;font-size:28px;font-weight:800}.dashboard-hero-subtitle{color:var(--fd-caption);max-width:520px;margin-bottom:24px;font-size:14px;line-height:1.6}.dashboard-hero-actions{gap:14px;display:flex}.dashboard-hero-btn{border-radius:12px;height:44px;padding:0 24px;font-weight:700}.dashboard-hero-btn-secondary{height:44px;color:var(--fd-text);border:1px solid var(--fd-border);background:#101b3c;border-radius:12px;padding:0 24px}.dashboard-hero-btn-secondary:hover{background:#16254d}.dashboard-hero-visual{justify-content:center;align-items:center;width:180px;height:180px;display:flex;position:absolute;top:50%;right:40px;transform:translateY(-50%)}.dashboard-hero-cube{background:var(--gradient-primary);border-radius:24px;justify-content:center;align-items:center;width:130px;height:130px;display:flex;transform:rotate(12deg);box-shadow:0 20px 60px #1ee5ff40}.dashboard-hero-cube-face{color:#000;letter-spacing:1px;font-size:18px;font-weight:800}.dashboard-stats{grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:32px;display:grid}.dashboard-stat-card{border-radius:18px;align-items:center;gap:16px;padding:20px;display:flex}.dashboard-stat-icon{width:44px;height:44px;color:var(--fd-purple);background:#873fe924;border-radius:12px;justify-content:center;align-items:center;display:flex}.dashboard-stat-label{color:var(--fd-muted);margin-bottom:6px;font-size:13px}.dashboard-stat-value{color:var(--fd-text);font-size:22px;font-weight:800}.section-title{color:var(--fd-text);margin-bottom:18px;font-size:18px;font-weight:700}.dashboard-projects{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;display:grid}.dashboard-project-card{cursor:pointer;border-radius:18px;overflow:hidden}.dashboard-project-cover{height:150px;position:relative}.dashboard-project-cover img{object-fit:cover;width:100%;height:100%}.dashboard-project-cover-overlay{background:linear-gradient(#0000 40%,#0009);position:absolute;inset:0}.dashboard-project-status{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--fd-border);background:#00000073;border-radius:20px;height:24px;padding:0 10px;font-size:12px;font-weight:600;position:absolute;top:12px;right:12px}.dashboard-project-body{padding:16px}.dashboard-project-title{color:var(--fd-text);margin-bottom:8px;font-size:15px;font-weight:700}.dashboard-project-meta{color:var(--fd-muted);align-items:center;gap:6px;font-size:12px;display:flex}.dashboard-templates{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.dashboard-template-card{cursor:pointer;border-radius:18px;position:relative;overflow:hidden}.dashboard-template-card img{object-fit:cover;width:100%;height:120px}.dashboard-template-info{padding:14px}.dashboard-template-info div{color:var(--fd-text);font-size:14px;font-weight:700}.dashboard-template-info span{color:var(--fd-muted);font-size:12px}.fd-grid-4{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.fd-grid-3{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.fd-project-card{background:var(--fd-surface);border:1px solid var(--fd-border);cursor:pointer;border-radius:18px;transition:all .2s;overflow:hidden}.fd-project-card:hover{box-shadow:var(--shadow-hover);border-color:#ffffff73}.fd-project-cover{background-position:50%;background-size:cover;justify-content:center;align-items:center;height:150px;display:flex;position:relative}.fd-project-cover-fallback{color:var(--fd-cyan);font-size:40px;font-weight:800}.fd-project-body{padding:16px}.fd-project-title{color:var(--fd-text);text-overflow:ellipsis;white-space:nowrap;margin-bottom:8px;font-size:15px;font-weight:700;overflow:hidden}.fd-project-meta{color:var(--fd-muted);margin-bottom:14px;font-size:12px}.fd-project-actions{gap:8px;display:flex}.fd-asset-card{background:var(--fd-surface);border:1px solid var(--fd-border);cursor:pointer;border-radius:18px;transition:all .2s;overflow:hidden}.fd-asset-card:hover{border-color:#ffffff73;transform:translateY(-4px)}.fd-asset-card:active{cursor:grabbing}.fd-asset-preview{background:var(--fd-surface-elevated);justify-content:center;align-items:center;height:130px;display:flex;position:relative}.fd-asset-preview img,.fd-asset-preview video{object-fit:cover;width:100%;height:100%}.fd-asset-type{text-transform:uppercase;height:22px;color:var(--fd-text);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;border-radius:11px;padding:0 8px;font-size:11px;font-weight:700;position:absolute;top:10px;left:10px}.fd-asset-info{padding:12px}.fd-asset-name{color:var(--fd-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;overflow:hidden}.fd-asset-meta{color:var(--fd-muted);margin-top:4px;font-size:11px}.fd-detail-panel{top:var(--header-height);width:360px;height:calc(100vh - var(--header-height));background:var(--fd-surface);border-left:1px solid var(--fd-border);z-index:50;padding:24px;position:fixed;right:0;overflow-y:auto}.fd-table,.data-table{border-collapse:separate;border-spacing:0 10px;width:100%}.fd-table thead tr,.data-table thead tr{background:0 0}.fd-table th,.data-table th{color:var(--fd-text);text-align:left;border-bottom:1px solid var(--fd-border);padding:0 16px 10px;font-size:12px;font-weight:600}.fd-table tbody tr,.data-table tbody tr{background:var(--fd-surface);border-radius:14px}.fd-table td,.data-table td{color:var(--fd-text);border-top:1px solid var(--fd-border);border-bottom:1px solid var(--fd-border);padding:16px;font-size:13px}.fd-table td:first-child,.data-table td:first-child{border-left:1px solid var(--fd-border);border-radius:14px 0 0 14px}.fd-table td:last-child,.data-table td:last-child{border-right:1px solid var(--fd-border);border-radius:0 14px 14px 0}.fd-status-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.fd-status-dot.success{background:var(--fd-success);box-shadow:0 0 8px var(--fd-success)}.fd-status-dot.running{background:var(--fd-info);box-shadow:0 0 8px var(--fd-info)}.fd-status-dot.error{background:var(--fd-danger);box-shadow:0 0 8px var(--fd-danger)}.fd-status-dot.warning{background:var(--fd-warning);box-shadow:0 0 8px var(--fd-warning)}.automations-header{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px;display:flex}.automations-table-header,.automations-table-row{grid-template-columns:1.2fr 1.5fr 1fr .8fr .9fr 1fr;align-items:center;gap:12px;padding:16px;display:grid}.automations-table-header{color:var(--fd-text);border-bottom:1px solid var(--fd-border);font-size:12px;font-weight:600}.automations-table-row{background:var(--fd-surface);border:1px solid var(--fd-border);color:var(--fd-text);border-radius:14px;margin-bottom:10px;font-size:13px}.automations-table-row:last-child{margin-bottom:0}.automations-table-row:hover{border-color:#ffffff73}.automations-table-muted{color:var(--fd-text-secondary)}.automations-table-actions{justify-content:flex-end;gap:8px;display:flex}.automations-fab{margin-left:calc(var(--sidebar-width) / 2);background:var(--gradient-fab);color:#181a20;border:1px solid var(--fd-border);height:46px;box-shadow:var(--shadow-hover);border-radius:23px;padding:0 28px;font-weight:700;position:fixed;bottom:28px;left:50%;transform:translate(-50%)}.automations-fab:hover{filter:brightness(1.05)}.notifications-list{flex-direction:column;gap:10px;display:flex}.notification-item{background:var(--fd-surface-elevated);border:1px solid var(--fd-border);cursor:pointer;border-radius:14px;align-items:flex-start;gap:14px;padding:16px;transition:all .2s;display:flex}.notification-item:hover{border-color:#ffffff73}.notification-item.unread{border-left:3px solid var(--fd-cyan)}.notification-icon{border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.notification-icon.info{color:var(--fd-info);background:#4994e224}.notification-icon.success{color:var(--fd-success);background:#39d5bc24}.notification-icon.warning{color:var(--fd-warning);background:#d9a24f24}.notification-icon.error{color:var(--fd-danger);background:#ff233924}.notification-content{flex:1;min-width:0}.notification-title{color:var(--fd-text);margin-bottom:4px;font-size:14px;font-weight:600}.notification-desc{color:var(--fd-text-secondary);font-size:12px;line-height:1.5}.notification-time{color:var(--fd-muted);white-space:nowrap;font-size:11px}.fd-settings-grid{grid-template-columns:320px 1fr;gap:24px;display:grid}.fd-profile-card{text-align:center;padding:24px}.fd-avatar-xl{background:var(--gradient-hero-title);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin-bottom:14px;font-size:28px;font-weight:800;display:inline-flex}.fd-profile-name{color:var(--fd-text);font-size:17px;font-weight:700}.fd-profile-email{color:var(--fd-muted);margin-top:4px;font-size:13px}.fd-credits-display{color:var(--fd-credits);margin-bottom:18px;font-size:32px;font-weight:800}.fd-package-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.fd-package-card{background:var(--fd-surface-elevated);border:1px solid var(--fd-border);cursor:pointer;border-radius:18px;padding:20px;transition:all .2s;position:relative}.fd-package-card:hover{border-color:#ffffff73}.fd-package-card.selected{border-color:var(--fd-purple);box-shadow:0 0 0 2px #873fe933}.fd-package-name{color:var(--fd-text);margin-bottom:6px;font-size:14px;font-weight:700}.fd-package-points{color:var(--fd-text);font-size:22px;font-weight:800}.fd-package-desc{color:var(--fd-muted);margin-top:4px;font-size:12px}.editor-layout,.editor-main{background:var(--fd-bg)}.editor-left,.editor-right{background:var(--fd-surface);border-color:var(--fd-border)}.editor-bottom{background:var(--fd-surface);border-top:1px solid var(--fd-border)}.react-flow__node{background:var(--fd-surface-elevated);border-color:var(--fd-border);color:var(--fd-text);border-radius:14px}.react-flow__node.selected{border-color:var(--fd-cyan);box-shadow:0 0 0 2px #1ee5ff26}.react-flow__background{background:var(--fd-bg)}.react-flow__controls button{background:var(--fd-surface);border-color:var(--fd-border);color:var(--fd-text)}.page-container h2{color:var(--fd-text);margin:0 0 20px;font-size:22px;font-weight:700}.page-container h3,.page-container h4{color:var(--fd-text)}.web-modal{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;background:#000000b3;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.web-modal-panel{background:var(--fd-surface);border:1px solid var(--fd-border);box-shadow:var(--shadow-dropdown);color:var(--fd-text);border-radius:18px;max-width:90vw;max-height:90vh;overflow-y:auto}.web-modal-header{border-bottom:1px solid var(--fd-border);justify-content:space-between;align-items:center;padding:18px 24px;display:flex}.web-modal-header h3{color:var(--fd-text);margin:0;font-size:16px;font-weight:700}.web-modal-header .btn{background:var(--fd-surface-elevated);border:1px solid var(--fd-border);color:var(--fd-text-secondary);height:32px;padding:0 12px;font-size:12px}.web-modal-header .btn:hover{background:var(--fd-surface-hover);color:var(--fd-text)}.web-modal-body{padding:24px}.spin{animation:1s linear infinite spin}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width<=1200px){.fd-grid-4{grid-template-columns:repeat(3,1fr)}.dashboard-stats{grid-template-columns:repeat(2,1fr)}}@media (width<=900px){.fd-grid-4,.fd-grid-3,.dashboard-projects,.dashboard-templates{grid-template-columns:repeat(2,1fr)}.fd-settings-grid{grid-template-columns:1fr}.user-header-search{display:none}}@media (width<=640px){.fd-grid-4,.fd-grid-3,.dashboard-projects,.dashboard-templates,.dashboard-stats{grid-template-columns:1fr}.page-padding,.page-container{padding:18px}}.wf-menu-backdrop{z-index:40;position:fixed;inset:0}.wf-menu{z-index:50;background:var(--color-surface,#17181c);border:1px solid var(--color-border);border-radius:10px;flex-direction:column;gap:2px;min-width:108px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #00000073}.wf-menu button{text-align:left;color:var(--color-text);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:6px;padding:6px 10px;font-size:12px}.wf-menu button:hover{background:var(--color-surface-hover,#ffffff0f)}.wf-modal-backdrop{z-index:60;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.wf-modal{background:var(--color-surface,#17181c);border:1px solid var(--color-border);border-radius:14px;flex-direction:column;gap:14px;width:360px;padding:20px;display:flex}.wf-modal-title{font-size:15px;font-weight:700}.wf-modal-actions{justify-content:flex-end;gap:10px;display:flex}.wf-menu button.danger{color:#f87171}.wf-menu button.danger:hover{background:#f871711f}
