:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#222d2a;background:#f5f7f5;font-synthesis:none;font-size:14px;--green:#164f3c;--mint:#cbedba;--muted:#78837b;--line:#e3e8e3}*{box-sizing:border-box}body{margin:0}button,input,select{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.45}input,select{width:100%;border:1px solid #dbe2db;border-radius:7px;background:#fff;color:#25352e;padding:10px 11px;min-height:40px}input::placeholder{color:#9aa49d}input:focus,select:focus{outline:2px solid #7fae86;outline-offset:1px}input[type=checkbox]{width:16px;min-height:16px;accent-color:var(--green)}label{display:block;font-size:12px;font-weight:600;margin-bottom:17px;color:#4d5d54}label>input,label>select,label>.input-action{margin-top:7px}label small,small{display:block;font-size:11px;color:var(--muted);font-weight:400;margin-top:6px;line-height:1.5}h1,h2,h3,p{margin:0}h2{font-size:15px;font-weight:650;letter-spacing:-.25px}h3{font-size:13px;font-weight:600;margin-bottom:12px}.rail{width:224px;background:#112e25;position:fixed;inset:0 auto 0 0;padding:35px 22px;color:#e5f1e7}.brand{color:#f6fff7;text-decoration:none;display:flex;align-items:center;gap:10px;font-size:26px;font-weight:650;letter-spacing:-1.4px}.mark{font-size:35px;color:#c7edb4;line-height:1}.version{font-size:10px;letter-spacing:0;color:#a9c0b2;align-self:flex-end;margin-bottom:7px}.rail-label{font-size:9px;letter-spacing:1.8px;color:#729b88;margin-top:63px;margin-bottom:16px}.rail-active{border:1px solid #345443;border-radius:7px;background:#234437;padding:13px 12px;display:flex;gap:12px;font-size:12px}.rail-active>span{color:var(--mint)}.rail-note{position:absolute;bottom:34px;font-size:11px;color:#c0d8c8}.dot{display:inline-block;width:6px;height:6px;background:#a5d98d;border-radius:100%;margin-right:7px}.rail-note p{font-size:10px;line-height:1.8;color:#789b88;margin-top:12px}main{margin-left:224px;max-width:1640px;padding:46px 45px 20px}header{position:relative;margin-bottom:36px}.eyebrow{font-size:10px;letter-spacing:1.8px;color:#6c826e;font-weight:650;margin-bottom:14px}h1{font-size:34px;font-weight:600;letter-spacing:-1.4px;line-height:1.2}.intro{color:#78837b;margin-top:12px;font-size:12px;line-height:1.5}.local-badge{position:absolute;right:0;top:32px;border:1px solid #dfe6dc;border-radius:30px;background:#edf3e9;padding:8px 11px;font-size:9px;letter-spacing:.8px;color:#57714e}.workspace{display:grid;grid-template-columns:minmax(420px,1.6fr) minmax(290px,1fr);gap:24px;align-items:start}.card{border:1px solid var(--line);border-radius:10px;background:white;margin-bottom:19px;box-shadow:0 3px 6px #182e2203}.section-title{display:flex;gap:11px;align-items:center;padding:19px 21px;border-bottom:1px solid #edf0ec}.number{width:24px;height:24px;display:grid;place-items:center;border:1px solid #e0e7dd;border-radius:6px;font-size:10px;color:#6c8366;background:#f5f8f2}.section-body{padding:22px}.tag{margin-left:auto;color:#859080;font-size:8px;letter-spacing:1px}.input-action{display:flex;gap:7px;align-items:center}.input-action input{min-width:0}.primary,.secondary{border-radius:6px;padding:10px 15px;border:1px solid transparent;white-space:nowrap;font-size:12px;font-weight:600}.primary{background:var(--green);color:white}.primary:hover:not(:disabled){background:#236348}.primary span{margin-left:25px}.secondary{background:#fff;border-color:#dce4d9;color:#4c6352}.secondary:hover{background:#f5f8f1}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:0 17px}.optional{font-size:10px;color:#a3aaa4;font-weight:400}details{border-top:1px solid #edf0e9;margin-top:2px;padding-top:16px}summary{font-size:11px;font-weight:600;color:#586951;cursor:pointer;list-style:none}summary:before{content:'＋';margin-right:7px;color:#829576}details[open]>summary:before{content:'−'}summary>span{float:right;font-size:9px;font-weight:400;color:#97a08f;margin-top:2px}details[open]>summary{margin-bottom:20px}.dialects{display:grid;grid-template-columns:1fr 1fr;gap:24px}.heading-action{display:flex;justify-content:space-between;align-items:start}.text-button{border:0;background:transparent;color:#657b5b;padding:4px 0;font-size:11px}.heading-action .text-button{font-size:9px}.check-label{display:flex;gap:9px;align-items:center}.check-label input{margin:0}.hint{font-size:11px;color:#8a958b;line-height:1.7;margin-bottom:15px}.empty-steps{padding:20px;border:1px dashed #dfe6db;border-radius:7px;text-align:center;color:#8a998b;font-size:12px;margin-bottom:15px}.step{border:1px solid #dce5d8;border-radius:7px;margin-bottom:12px;overflow:hidden}.step-head{display:flex;align-items:center;gap:10px;background:#f7f9f4;padding:10px 13px}.step-index{font-size:10px;color:#7a8e70}.step-title{flex:1;font-size:12px;font-weight:600}.icon-button{background:transparent;border:0;font-size:16px;color:#83947c;padding:0 4px}.step-fields{padding:15px 15px 0}.step-fields small{margin:0 0 14px}.add-row{display:flex;gap:9px;margin-top:17px}.add-row select{font-size:12px;background:#fafcf8}.notice,#error,#connection{padding:12px;border-radius:6px;background:#fff5dd;color:#8b6522;font-size:12px;line-height:1.6;margin-top:14px}#error,#connection{background:#fff0ec;color:#a04835;overflow-wrap:anywhere}#connection{margin-bottom:20px}#connection[hidden]{display:none}.actions{display:flex;align-items:center;gap:20px;margin:22px 0 25px}.actions .primary{margin-left:auto}.results{position:sticky;top:25px}.status{margin-left:auto;font-size:8px;color:#8d9988;letter-spacing:.6px}.plan .section-title{padding-top:23px;padding-bottom:23px}.plan-icon{color:#93ad85;font-size:34px;letter-spacing:6px;margin:17px 0 25px}.plan h3{font-size:14px;margin-bottom:11px}.plan p{font-size:12px;color:#8b978a;line-height:1.8}.checkline{font-size:10px;color:#809478;margin-top:13px}.checkline:first-of-type{margin-top:30px}.full{display:block;width:100%;margin-top:19px}.footnote{font-size:10px;line-height:1.8;text-align:center;color:#9aa393}.stat-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px 10px;margin:6px 0 23px}.stat strong{font-size:25px;font-weight:550;letter-spacing:-.8px;display:block;color:#254d34}.stat span{font-size:10px;color:#879881}.seed{font-family:ui-monospace,monospace;font-size:10px;word-break:break-all;background:#f5f8f1;padding:10px;margin-top:8px;border-radius:5px}.analysis-note{font-size:10px!important}.warnings{padding:12px 0;color:#9a732d;font-size:11px;line-height:1.7}.stage-stats{font-size:11px;color:#6a7e62;padding:10px 0;border-top:1px solid #e9eee6;line-height:1.8}.progress-track{height:4px;background:#e9f0e3;border-radius:3px;overflow:hidden;margin-bottom:12px}.progress-track>div{height:100%;width:35%;background:#80a86d;animation:progress 1.8s infinite ease-in-out}#progress{padding:15px 0}#progress-detail{margin-top:4px}#result-path{word-break:break-all;margin-top:14px}#result-path.complete{color:#2f7249}.table-scroll{overflow:auto;max-height:350px}table{border-collapse:collapse;width:100%;font-size:11px}th,td{text-align:left;padding:12px 20px;border-bottom:1px solid #edf0e9;max-width:400px;white-space:pre-wrap;overflow-wrap:anywhere}th{color:#6f8664;background:#f8faf6;font-weight:600}td{color:#74806f}footer{display:flex;gap:18px;border-top:1px solid #e1e7dd;padding-top:22px;margin-top:30px;font-size:9px;color:#99a391;letter-spacing:1px}footer span{letter-spacing:0}footer span:last-child{margin-left:auto;letter-spacing:1px}dialog{border:1px solid var(--line);border-radius:12px;width:min(720px,90vw);padding:0;color:inherit}dialog::backdrop{background:#10281f66}dialog .section-title button{margin-left:auto}#browse-entries{max-height:45vh;overflow:auto;margin:15px 0}.file-entry{display:block;width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #edf1e9;padding:11px;color:#566e4e;font-size:12px;overflow-wrap:anywhere}.file-entry:hover{background:#f3f7ee}[hidden]{display:none!important}@keyframes progress{0%{transform:translateX(-100%)}100%{transform:translateX(380%)}}@media(prefers-reduced-motion:reduce){.progress-track>div{animation:none;width:100%}}@media(min-width:1550px){main{padding-left:65px;padding-right:65px}}@media(max-width:1100px){.rail{width:180px;padding-left:18px;padding-right:18px}main{margin-left:180px;padding:35px 25px}.workspace{grid-template-columns:minmax(360px,1.4fr) minmax(260px,1fr);gap:18px}.section-body{padding:18px}.local-badge{display:none}summary>span{display:none}.actions{gap:12px}}@media(max-width:850px){.rail{position:static;width:auto;padding:16px 22px}.rail-label,.rail-active,.rail-note{display:none}.brand{font-size:23px}.brand .mark{font-size:27px}main{margin:0;padding:28px 20px}.workspace{grid-template-columns:1fr}.results{position:static}.plan-icon{margin-top:0}.grid2{gap:0 12px}h1{font-size:29px}.footnote{margin-bottom:20px}}@media(max-width:440px){.grid2,.dialects{grid-template-columns:1fr}.actions{flex-wrap:wrap}.actions .primary{width:100%;margin:0}.add-row{flex-wrap:wrap}footer span:last-child{display:none}}
/* Pipeline configuration helpers. */
.group-builder{border:0;margin:0 0 17px;padding:0;min-width:0}.group-builder legend{font-size:12px;font-weight:600;color:#4d5d54;margin-bottom:10px}.group-row{display:grid;grid-template-columns:minmax(100px,1fr) minmax(70px,.5fr) auto auto;gap:10px;align-items:center}.group-row label{min-width:0;margin-bottom:10px}.group-row .text-button,.group-row .icon-button{margin-top:14px}.group-builder .invalid-groups{color:#a04835}.plan .plan-description{color:#4d5d54;padding-bottom:18px;border-bottom:1px solid var(--line);overflow-wrap:anywhere}@media(max-width:1100px){.group-row{grid-template-columns:minmax(90px,1fr) minmax(65px,.6fr) auto}.group-row .text-button{grid-row:2;margin:0 0 12px;justify-self:start}.group-row .icon-button{grid-column:3;grid-row:1}}
/* Keep the plan's explanation, rounding notes, and delivery limits readable. */
.plan .plan-description{white-space:pre-line}
.column-picker{margin-bottom:17px;min-width:0}.column-picker>label{margin-bottom:8px}.column-chips{display:contents}.column-chips:empty{display:none}.column-chip{display:flex;align-items:center;gap:5px;max-width:100%;border:1px solid #cdddc4;border-radius:6px;background:#f0f6ea;color:#355a3d;padding:3px 5px;font-size:12px}.column-chip>span{overflow-wrap:anywhere;min-width:0}.chip-grip,.chip-remove{border:0;background:transparent;color:#6a805e;padding:3px;font-size:16px;line-height:1;flex-shrink:0}.chip-grip{cursor:grab}.chip-grip:active{cursor:grabbing}.chip-remove:hover{color:#a04835}.chip-grip:focus-visible,.chip-remove:focus-visible{outline:2px solid #668b54;outline-offset:2px}.step-fields .column-picker-hint{margin:0;overflow-wrap:anywhere}.column-picker .text-button{margin-top:7px}
.step{overflow:visible}.step-head{border-radius:6px 6px 0 0}.column-typeahead{position:relative;margin-bottom:7px}.column-results{position:absolute;top:calc(100% + 5px);left:0;right:0;z-index:10;max-height:220px;overflow-y:auto;border:1px solid #cdddc4;border-radius:7px;background:white;box-shadow:0 6px 18px #112e251a;padding:4px}.column-results [role=option]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:9px 10px;border-radius:4px;font-size:12px;cursor:pointer}.column-results [role=option]>span{min-width:0;overflow-wrap:anywhere}.column-results [role=option]:hover,.column-results [aria-selected=true]{background:#edf5e7;color:#355a3d}.step-fields .column-results small{margin:0;flex-shrink:0}.column-no-results{padding:10px;font-size:12px;color:var(--muted)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

.column-input{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:40px;border:1px solid #dbe2db;border-radius:7px;background:#fff;padding:5px 7px;cursor:text}.column-input:focus-within{outline:2px solid #7fae86;outline-offset:1px}.column-input [data-column-search]{flex:1 1 140px;min-width:100px;width:auto;border:0;border-radius:0;background:transparent;min-height:28px;padding:4px;outline:none;font-size:12px}.column-input .column-chip{margin:0}.column-input [data-column-search]:disabled{color:var(--muted)}
