.workflow-panel{flex-shrink:0;background:#191d2a;border-bottom:1px solid #34394d;max-height:43vh;overflow:auto}.flow-nav{display:flex;gap:8px;padding:12px 20px;border-bottom:1px solid #2c3246;align-items:center;overflow-x:auto}.flow-nav-step{display:flex;align-items:center;gap:8px;padding:10px 15px;color:#9faac0;border:1px solid #33394d;border-radius:8px;background:#141824;white-space:nowrap;cursor:pointer}.flow-nav-step span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#2d344a}.flow-nav-step.active{color:#fff;border-color:#7b79ff;background:#313064}.flow-nav-step.active span{background:#7774f9}button:disabled{opacity:.45;cursor:not-allowed}.flow-step-content{padding:12px 20px;font-size:13px}.flow-step-content>strong{font-size:15px}.flow-step-content p,.source-upload p{color:#a5aec2;line-height:1.6;margin:6px 0 10px}.flow-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.flow-actions input[type=number]{width:70px;margin-left:5px;padding:6px;background:#10141e;border:1px solid #394157;border-radius:5px;color:#e5e9f2}.flow-actions select{padding:6px;background:#10141e;color:#e5e9f2;border:1px solid #394157;border-radius:5px}.flow-status{display:flex;align-items:center;gap:12px;padding:8px 20px;color:#afbad2;font-size:12px;background:#141824;min-height:32px}.flow-muted{color:#8996ad;font-size:12px}.flow-warning{color:#fbbf24!important}.source-upload{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;padding:24px;border:1px dashed #7774f9;border-radius:12px;background:#202339;margin:14px 20px}.source-upload h2{margin:0 0 10px;font-size:22px}.source-options strong{color:#cbd2e4}.source-options input{width:66px}.source-options .flow-actions{margin-top:8px}.welcome-empty{padding:28px 30px;overflow:auto;flex:1;min-height:0}.welcome-heading{max-width:1100px;margin:10px auto 24px}.welcome-heading>span{color:#aaa8ff;font-size:12px;letter-spacing:2px}.welcome-heading h1{font-size:32px;margin:10px 0;color:#f1f3ff}.welcome-heading p{color:#9da9c1;line-height:1.7}.welcome-empty .source-upload{max-width:1100px;margin:0 auto}.welcome-tips{max-width:1100px;margin:24px auto;display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.welcome-tips>div{padding:20px;border:1px solid #30364a;border-radius:10px;background:#1a1f2c}.welcome-tips p{color:#929eb5;line-height:1.7;font-size:13px}.cycle-candidate{display:grid;gap:6px;border:1px solid #4a5471;border-radius:8px;padding:10px;margin-top:10px;background:#222a3b;font-size:12px}.guide-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5000;background:#060914c9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center}.guide-dialog{width:min(900px,94vw);max-height:88vh;display:flex;flex-direction:column;background:#1b2030;border:1px solid #424a67;border-radius:14px;box-shadow:0 24px 80px #0009;color:#dfe5f4}.guide-dialog header,.guide-dialog footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 24px;flex-shrink:0}.guide-dialog h2{margin:5px 0 0;font-size:22px}.guide-body{padding:0 24px 20px;overflow:auto;line-height:1.7;font-size:13px}.guide-body ol{padding-left:24px}.guide-body li{padding:3px 0 12px}.guide-body h3{margin:12px 0 5px;color:#b6b4ff}.guide-intro{padding:12px;background:#33315c;border-radius:8px}.guide-body details{padding:12px;border:1px solid #363e56;border-radius:8px;margin:8px 0}.guide-body summary{cursor:pointer;font-weight:600}.guide-dialog footer{border-top:1px solid #363e56}@media (max-width:900px){.source-upload{grid-template-columns:1fr;gap:12px}.welcome-tips{grid-template-columns:1fr}.flow-nav,.flow-nav-step{padding:8px}.welcome-empty{padding:14px}.workflow-panel{max-height:48vh}}.local-compute-bar{flex-shrink:0;background:#1b1d2b;border-bottom:1px solid #30344e;padding:8px 16px;font-size:11px}button:disabled{opacity:.45;cursor:wait}.local-compute-bar input[type=number]{background:#101116;border:1px solid #42465c;color:#e2e4ed;border-radius:4px;padding:3px}@media (max-width: 1100px){header{overflow-x:auto;gap:20px}}:root{--bg-black: #0b0c10;--bg-app: #101116;--bg-panel: #16171f;--bg-surface: #1d1e2a;--bg-surface-elevated: #242636;--bg-hover: #2d2f42;--bg-active: #373950;--border-subtle: #20222f;--border-default: #2b2e3f;--border-strong: #3d4158;--border-focus: #6366f1;--accent: #6366f1;--accent-hover: #4f46e5;--accent-light: rgba(99, 102, 241, .12);--accent-glow: rgba(99, 102, 241, .25);--text-pure: #ffffff;--text-main: #e2e4ed;--text-muted: #8b8f9f;--text-faint: #5a5d6e;--danger: #ef4444;--danger-bg: rgba(239, 68, 68, .12);--danger-border: rgba(239, 68, 68, .3);--success: #10b981;--success-bg: rgba(16, 185, 129, .12);--warning: #f59e0b;--warning-bg: rgba(245, 158, 11, .12);--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .4);--shadow-md: 0 4px 16px rgba(0, 0, 0, .5);--shadow-lg: 0 12px 32px rgba(0, 0, 0, .65)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{font-family:Plus Jakarta Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background-color:var(--bg-app);color:var(--text-main);height:100vh;overflow:hidden;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}code,pre,.mono{font-family:JetBrains Mono,monospace}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;background-color:var(--bg-surface);color:var(--text-main);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:7px 13px;font-size:13px;font-weight:500;cursor:pointer;transition:all .18s cubic-bezier(.16,1,.3,1);white-space:nowrap}.btn:hover{background-color:var(--bg-hover);border-color:var(--border-strong);color:var(--text-pure);transform:translateY(-1px)}.btn:active{transform:translateY(0)}.btn-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);border:1px solid rgba(255,255,255,.15);color:#fff;font-weight:600;box-shadow:0 2px 10px var(--accent-glow)}.btn-primary:hover{background:linear-gradient(135deg,#7174ff,#5a52f0);box-shadow:0 4px 16px var(--accent-glow)}.btn-danger{background-color:var(--danger-bg);border-color:var(--danger-border);color:#f87171}.btn-danger:hover{background-color:#ef444438;border-color:#ef4444;color:#fff}.btn-sm{padding:5px 9px;font-size:12px;border-radius:var(--radius-sm);gap:5px}.btn-icon{padding:6px;border-radius:var(--radius-sm);aspect-ratio:1}.checkerboard{background-image:linear-gradient(45deg,#181922 25%,transparent 25%),linear-gradient(-45deg,#181922 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#181922 75%),linear-gradient(-45deg,transparent 75%,#181922 75%);background-size:18px 18px;background-position:0 0,0 9px,9px -9px,-9px 0px;background-color:#12131a}.glass-panel{background:#16171fbf;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.06)}input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--bg-surface);height:4px;border-radius:2px;outline:none;cursor:pointer}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--accent);box-shadow:0 1px 4px #00000080;cursor:pointer;transition:transform .12s ease}input[type=range]::-webkit-slider-thumb:hover{transform:scale(1.2)}select,input[type=text],input[type=number]{background:var(--bg-surface);border:1px solid var(--border-default);color:var(--text-main);border-radius:var(--radius-sm);padding:6px 10px;font-size:12px;outline:none;transition:border-color .15s ease}select:focus,input[type=text]:focus,input[type=number]:focus{border-color:var(--border-focus)}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:#2b2e3f;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#3e4259}
