.hero-copy h1{letter-spacing:-.04em;margin:0;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:600}.hero-copy .lede{color:var(--muted);margin:.75rem 0 0;font-size:.98rem;line-height:1.55}.workflow{grid-template-columns:minmax(11rem,14rem) minmax(16rem,1.1fr) minmax(16rem,1.2fr);align-items:start;gap:.85rem;margin-top:1.15rem;display:grid}.workflow .col{background:var(--panel);border:1px solid var(--line);border-radius:12px;min-height:22rem;padding:.85rem}.workflow .col.catalog{z-index:2;overscroll-behavior:contain;min-height:0;max-height:calc(100vh - 2rem);position:sticky;top:1rem;overflow-y:auto}.workflow .col-label{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);margin:0;font-size:.72rem}.workflow .catalog-list{flex-direction:column;gap:.4rem;margin:.65rem 0 0;padding:0;list-style:none;display:flex}.workflow .catalog-item{border:1px solid var(--line);width:100%;color:inherit;font:inherit;text-align:left;cursor:grab;background:#fff;border-radius:8px;padding:.55rem .65rem;display:block}.workflow .catalog-item:hover{background:#b08a4f0f;border-color:#b08a4f8c}.workflow .catalog-item strong{font-size:.9rem;display:block}.workflow .catalog-item span{color:var(--muted);margin-top:.2rem;font-size:.78rem;line-height:1.35;display:block}.workflow .col.preview{transition:margin-top .18s}.workflow .steps-toolbar,.workflow .preview-toolbar{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.65rem;display:flex}.workflow .toolbar-leading{align-items:center;gap:.4rem;display:flex}.workflow .toolbar-leading .col-label{margin:0}.workflow .steps-count{color:var(--muted);font-weight:500}.workflow .toolbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.4rem;display:flex}.workflow .step-card{box-sizing:border-box;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;width:100%;margin-top:.55rem;padding:.7rem .75rem}.workflow .step-card.is-selected{border-color:var(--accent);box-shadow:0 0 0 1px #b08a4f40}.workflow .step-card.is-done{background:#2f6b4f14;box-shadow:inset 3px 0 #2f6b4f}.workflow .step-card.is-selected.is-done{box-shadow:inset 3px 0 #2f6b4f,0 0 0 1px #b08a4f40}.workflow .step-card.is-running{background:#b08a4f1f;box-shadow:inset 3px 0 #b08a4f}.workflow .step-card.is-selected.is-running{box-shadow:inset 3px 0 #b08a4f,0 0 0 1px #b08a4f40}.workflow .step-card.is-error{background:#c45c4a14;border-color:#c45c4a;box-shadow:inset 3px 0 #c45c4a}.workflow .step-card.is-selected.is-error{box-shadow:inset 3px 0 #c45c4a,0 0 0 1px #c45c4a33}.workflow .insert-line{border-top:2px solid var(--accent);pointer-events:none;height:0;margin:.2rem 0}.workflow .upload-card.is-done{background:#2f6b4f14;box-shadow:inset 3px 0 #2f6b4f}.workflow .upload-card.is-done.is-selected{box-shadow:inset 3px 0 #2f6b4f,0 0 0 1px #b08a4f40}.workflow .upload-card.is-drag{border-color:#b08a4fa6}.workflow .upload-drop{border:1px dashed var(--line);color:var(--muted);cursor:pointer;border-radius:6px;margin-top:.45rem;padding:.75rem;font-size:.9rem;line-height:1.4;display:block;position:relative}.workflow .upload-input{opacity:0;cursor:pointer;position:absolute;inset:0}.workflow .process-wrap{border-radius:8px;min-height:8rem;margin-top:.35rem;padding:.35rem 0}.workflow .process-wrap.is-drag{background:#b08a4f0f}.workflow .drop-hint{color:var(--muted);margin:.75rem 0 0;font-size:.82rem}.workflow .step-head{align-items:center;gap:.4rem;margin-bottom:.45rem;display:flex}.workflow .step-head strong{min-width:0}.workflow .step-status{letter-spacing:.02em;color:var(--muted);flex:none;margin-left:auto;font-size:.72rem;font-weight:600}.workflow .step-status.is-hidden{display:none}.workflow .step-card.is-done .step-status,.workflow .upload-card.is-done .step-status{color:#2f6b4f}.workflow .step-card.is-running .step-status{color:#8a6a20}.workflow .step-card.is-error .step-status{color:#8b3a2a}.workflow .step-drag{width:1.35rem;height:1.35rem;color:var(--muted);font:inherit;letter-spacing:-.08em;cursor:grab;background:0 0;border:1px solid #0000;border-radius:4px;flex:none;justify-content:center;align-items:center;padding:0;font-size:.75rem;line-height:1;display:inline-flex}.workflow .step-drag:hover{border-color:var(--line);color:var(--ink);background:#b08a4f14}.workflow .step-drag:active{cursor:grabbing}.workflow .step-actions{flex-wrap:wrap;gap:.35rem;width:fit-content;margin-top:.5rem;display:flex}.workflow .step-msg{min-height:1.1rem;color:var(--muted);margin:.4rem 0 0;font-size:.82rem}.workflow .step-msg.is-error{color:#8b3a2a}.workflow .step-msg.is-warn{color:#8a6a20}.workflow .params-grid{gap:.35rem;display:grid}.workflow .param-field{color:var(--muted);gap:.15rem;font-size:.75rem;display:grid}.workflow .param-field select{font:inherit;color:var(--ink);border:1px solid var(--line);background:#fff;border-radius:4px;padding:.25rem .35rem;font-size:.85rem}.workflow .rotate-ops{gap:.45rem;display:grid}.workflow .rotate-ops-list{gap:.25rem;margin:0;padding:0;list-style:none;display:grid}.workflow .rotate-ops-empty{color:var(--muted);margin:0;font-size:.78rem}.workflow .rotate-ops-item{border:1px solid var(--line);background:#fff;border-radius:4px;justify-content:space-between;align-items:center;gap:.35rem;padding:.2rem .35rem;font-size:.78rem;display:flex}.workflow .rotate-ops-item.is-dragging{opacity:.45}.workflow .rotate-ops-insert-line{border-top:2px solid var(--accent);pointer-events:none;height:0;margin:.15rem 0}.workflow .rotate-ops-drag{width:1.4rem;min-height:1.5rem;color:var(--muted);font:inherit;letter-spacing:-.08em;cursor:grab;background:0 0;border:none;border-radius:4px;flex-shrink:0;padding:0;font-size:.75rem;line-height:1}.workflow .rotate-ops-drag:active:not(:disabled){cursor:grabbing}.workflow .rotate-ops-drag:disabled{opacity:.4;cursor:not-allowed}.workflow .rotate-ops-mark{flex:1;align-items:center;gap:.3rem;min-width:0;font-weight:600;display:inline-flex}.workflow .rotate-ops-mark svg{flex-shrink:0;display:block}.workflow .rotate-ops-item.is-editing{background:#b08a4f0f;border-color:#b08a4fa6}.workflow .rotate-ops-controls{gap:.45rem;display:grid}.workflow .rotate-ops-controls.is-editing{background:#b08a4f1a;border:1px solid #b08a4f8c;border-radius:8px;margin-top:.15rem;padding:.55rem .55rem .6rem;box-shadow:inset 0 0 0 1px #b08a4f1f}.workflow .rotate-ops-edit-hint{color:#8a6a20;margin:0;font-size:.75rem;font-weight:600}.workflow .rotate-ops-controls.is-editing .op.icon-op{background:#fff;border-color:#b08a4f73}.workflow .rotate-ops-controls.is-editing .op.icon-op:hover:not(:disabled){background:#b08a4f24;border-color:#b08a4fe6}.workflow .rotate-ops-actions{flex-shrink:0;align-items:center;gap:.25rem;display:flex}.workflow .rotate-ops-page{color:var(--muted);margin-right:.15rem;font-weight:500}.workflow .rotate-ops-item button{border:1px solid var(--line);min-height:1.5rem;font:inherit;cursor:pointer;background:#fff;border-radius:4px;flex-shrink:0;padding:.1rem .4rem;font-size:.72rem}.workflow .rotate-ops-row{flex-wrap:wrap;align-items:center;gap:.3rem;display:flex}.workflow .rotate-ops-row .op.icon-op{border:1px solid var(--line);min-height:2rem;color:inherit;font:inherit;cursor:pointer;background:#fff;border-radius:8px;justify-content:flex-start;align-items:center;gap:.3rem;margin:0;padding:.3rem .55rem;font-size:.78rem;font-weight:600;display:inline-flex}.workflow .rotate-ops-row .op.icon-op svg{flex-shrink:0;display:block}.workflow .rotate-ops-row .op.icon-op:hover:not(:disabled){border-color:var(--ink);background:#fafafa}.workflow .rotate-ops-row .op.icon-op:disabled{opacity:.45;cursor:not-allowed}.workflow .rotate-ops-row input[type=number]{width:3.2rem;font:inherit;border:1px solid var(--line);border-radius:4px;padding:.2rem .3rem;font-size:.85rem}.workflow .btn{border:1px solid var(--line);min-height:2.1rem;color:var(--ink);font:inherit;cursor:pointer;background:#fff;border-radius:6px;justify-content:center;align-items:center;padding:.35rem .75rem;font-size:.85rem;font-weight:600;text-decoration:none;display:inline-flex}.workflow .btn.small{min-height:1.9rem;padding:.25rem .65rem}.workflow .btn.icon-btn{flex-shrink:0;width:2rem;min-height:2rem;padding:0}.workflow .btn.icon-btn svg{display:block}.workflow .btn.primary{background:#b08a4f29;border-color:#b08a4fb3}.workflow .btn.icon-btn[data-stop-run]:not(:disabled):hover{background:#c45c4a24;border-color:#c45c4ab3}.workflow .btn:disabled,.workflow .btn.is-disabled{opacity:.45;cursor:not-allowed}.workflow .btn.download.is-hidden{display:none}.workflow .preview-msg{color:var(--muted);margin:0 0 .65rem;font-size:.9rem}.workflow .preview-msg.is-hidden{display:none}.workflow .preview-msg.is-loading{color:var(--muted)}.workflow .preview-stage{border:1px solid var(--line);background:#fff;border-radius:8px;justify-content:center;align-items:flex-start;min-height:14rem;padding:.5rem;display:flex;overflow:auto}.workflow .preview-canvas,.workflow .preview-img{max-width:100%;height:auto}.workflow .preview-canvas.is-hidden,.workflow .preview-img.is-hidden,.workflow .preview-nav.is-hidden{display:none}.workflow .preview-nav{color:var(--muted);justify-content:space-between;align-items:center;gap:.5rem;margin-top:.65rem;font-size:.85rem;display:flex}@media (width<=960px){.workflow{grid-template-columns:1fr}.workflow .col{min-height:0}.workflow .col.catalog{max-height:none;position:static;overflow:visible}.workflow .col.preview{transition:none;margin-top:0!important}}.workflow .workflow-confirm-dialog{border:1px solid var(--line);max-width:min(24rem,100vw - 2rem);color:var(--ink);background:#fff;border-radius:12px;padding:0}.workflow .workflow-confirm-dialog::backdrop{background:#11111159}.workflow .workflow-confirm-form{padding:1.15rem 1.2rem 1.1rem}.workflow .workflow-confirm-form h2{letter-spacing:-.02em;margin:0;font-size:1.1rem;font-weight:600}.workflow .workflow-confirm-form p{color:var(--muted);margin:.65rem 0 0;font-size:.95rem;line-height:1.5}.workflow .workflow-confirm-actions{flex-wrap:wrap;justify-content:flex-end;gap:.45rem;margin-top:1.1rem;display:flex}
