.builder{background:var(--panel);border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 30px 80px #00000014}.builder-head{display:flex;align-items:center;gap:10px;padding:10px 14px;border-bottom:1px solid var(--line);background:var(--bg-2)}.builder-name{font-family:var(--font-mono);font-size:12px;color:var(--fg);display:flex;align-items:center;gap:6px}.builder-name .dot{width:6px;height:6px;border-radius:50%;background:var(--ok)}.builder-tabs{margin-left:auto;display:flex;gap:2px}.builder-tabs button{background:transparent;border:0;font:inherit;color:var(--fg-3);padding:4px 10px;font-size:12px;border-radius:5px;cursor:pointer}.builder-tabs button.active{background:var(--bg-3);color:var(--fg)}.builder-body{display:grid;grid-template-columns:320px 1fr;min-height:480px}.builder-rail{background:var(--bg-2);border-right:1px solid var(--line);padding:14px}.rail-section{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-4);margin:8px 4px 6px;font-weight:500}.rail-item{padding:7px 9px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--fg-2);border-radius:5px;cursor:grab;border:1px dashed transparent}.rail-item:hover{background:var(--panel);border-color:var(--line);color:var(--fg)}.rail-item .ico{width:14px;height:14px;color:var(--fg-3)}.builder-canvas{padding:28px 32px;display:flex;flex-direction:column;gap:14px;background:radial-gradient(circle at 1px 1px,var(--line-2) 1px,transparent 0);background-size:20px 20px}.step{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 18px;display:grid;grid-template-columns:36px 1fr auto;gap:14px;align-items:center;box-shadow:0 1px #0000000a;position:relative}.step-icon{width:36px;height:36px;border-radius:8px;display:grid;place-items:center;color:var(--bg)}.step-icon.t{background:oklch(70% .16 75)}.step-icon.c{background:#2784d5}.step-icon.a{background:var(--ok)}.step-label{font-family:var(--font-mono);font-size:9.5px;color:var(--fg-3);letter-spacing:.1em;text-transform:uppercase}.step-title{font-size:14px;font-weight:600;margin-top:2px;letter-spacing:-.01em}.step-detail{font-size:12px;color:var(--fg-3);margin-top:3px;font-family:var(--font-mono)}.step-detail code{background:var(--bg-2);padding:1px 5px;border-radius:3px;font-size:11px;color:var(--fg)}.step-edit{background:transparent;border:1px solid var(--line);color:var(--fg-3);padding:4px 9px;border-radius:5px;font:inherit;font-size:11px;cursor:pointer}.step-connector{width:2px;height:18px;background:var(--line);margin:0 0 0 17px;align-self:flex-start}.add-step{align-self:flex-start;background:transparent;border:1px dashed var(--line);border-radius:6px;padding:6px 12px 6px 8px;color:var(--fg-3);font:inherit;font-size:12px;cursor:pointer;display:inline-flex;align-items:center;gap:6px;margin-left:14px}.add-step:hover{color:var(--fg);border-color:var(--fg-3)}.run-list{background:var(--panel);border:1px solid var(--line);border-radius:10px;overflow:hidden}.run-row{display:grid;grid-template-columns:22px 200px 1fr 80px 80px 90px;gap:12px;align-items:center;padding:12px 14px;font-size:12.5px;border-bottom:1px solid var(--line-2)}.run-row.head{background:var(--bg-2);color:var(--fg-3);font-size:10.5px;text-transform:uppercase;letter-spacing:.06em;padding:8px 14px}.run-row:last-child{border-bottom:0}.run-status{width:14px;height:14px;border-radius:50%;display:grid;place-items:center}.run-status.ok{background:var(--ok-bg);color:var(--ok)}.run-status.fail{background:var(--crit-bg);color:var(--crit)}.run-status.run{background:var(--info-bg);color:var(--info)}.run-mono{font-family:var(--font-mono);font-size:11.5px}.run-host{color:var(--fg);font-weight:500}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.recipe{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:18px 20px;display:flex;flex-direction:column;gap:10px}.recipe-head{display:flex;align-items:center;gap:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.recipe-icon{width:28px;height:28px;border-radius:7px;background:var(--bg-2);border:1px solid var(--line);display:grid;place-items:center;color:var(--fg-2);flex-shrink:0}.recipe h4{font-size:14px;font-weight:600;margin:0;letter-spacing:-.01em}.recipe .recipe-meta{margin-left:auto;font-family:var(--font-mono);font-size:10.5px;color:var(--fg-3)}.recipe-flow{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11.5px;color:var(--fg-2)}.recipe-tag{padding:2px 7px;border-radius:4px;background:var(--bg-2);border:1px solid var(--line)}.recipe-tag.t{background:oklch(96% .05 75);color:oklch(45% .16 75);border-color:transparent}.recipe-tag.c{background:oklch(96% .03 250);color:oklch(45% .15 250);border-color:transparent}.recipe-tag.a{background:#d8f9dd;color:oklch(40% .16 150);border-color:transparent}.recipe-arrow{color:var(--fg-4)}.recipe p{font-size:12px;color:var(--fg-3);margin:0;line-height:1.5}.recipe-foot{display:flex;justify-content:space-between;gap:10px;padding-top:10px;margin-top:auto;border-top:1px solid var(--line-2);font-size:11px;color:var(--fg-3)}.recipe-foot a{color:var(--fg);text-decoration:none;font-weight:500;display:flex;align-items:center;gap:3px}.dark .recipe-tag.t{background:oklch(28% .07 75);color:#f9ad26}.dark .recipe-tag.c{background:#0e2a45;color:oklch(75% .15 250)}.dark .recipe-tag.a{background:oklch(28% .08 150);color:#4cd676}.yaml-block{background:#070a0c;color:#c9ced2;font-family:var(--font-mono);font-size:12.5px;line-height:1.65;padding:18px 22px;border-radius:10px;overflow-x:auto}.yk{color:oklch(72% .16 75)}.yv{color:#c9ced2}.ys{color:#43b966}.yn{color:oklch(72% .16 260)}.yc{color:#5e6468;font-style:italic}.yo{color:#da8aec}.split{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start}.metric-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.metric-cell{background:var(--panel);padding:18px 20px}.metric-cell .l{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--fg-3)}.metric-cell .v{font-family:var(--font-mono);font-size:30px;font-weight:500;letter-spacing:-.02em;margin-top:6px}.metric-cell .m{font-size:11.5px;color:var(--fg-3);margin-top:2px}.anatomy{display:grid;grid-template-columns:200px 1fr;gap:14px 28px;padding:18px 20px;background:var(--bg-2);border:1px solid var(--line);border-radius:10px}.anatomy-label{font-family:var(--font-mono);font-size:11px;color:var(--fg-3);text-transform:uppercase;letter-spacing:.08em;padding-top:4px}.anatomy-content{font-size:13.5px;color:var(--fg-2);line-height:1.55}.anatomy-content code{font-family:var(--font-mono);font-size:11.5px;background:var(--panel);border:1px solid var(--line);padding:1px 6px;border-radius:3px;color:var(--fg)}.safety-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:10px;overflow:hidden}.safety{background:var(--panel);padding:18px;display:flex;flex-direction:column;gap:6px}.safety-icon{width:26px;height:26px;border-radius:6px;background:oklch(from var(--ok) l c h / .12);color:var(--ok);display:grid;place-items:center}.safety h5{font-size:13px;font-weight:600;margin:4px 0 0;letter-spacing:-.01em}.safety p{font-size:12px;color:var(--fg-3);margin:0;line-height:1.5}@media(max-width:640px){.anatomy{grid-template-columns:1fr;gap:6px 0;padding:16px}}@media(max-width:900px){.builder-body,.recipe-grid,.split{grid-template-columns:1fr}.metric-strip,.safety-grid{grid-template-columns:1fr 1fr}.sub-hero h1{font-size:38px}}
