html:not(.js) .flow-controls,html:not(.js) .flow-monitor{display:none}.flow-layout{grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);align-items:start;gap:clamp(18px,2.4vw,28px);display:grid}.flow-main{gap:16px;min-width:0;display:grid}.flow-side{top:calc(var(--header-h) + 16px);gap:14px;min-width:0;display:grid;position:sticky}.flow-panel{background:var(--night-raised);border:1px solid var(--night-line);border-radius:12px;gap:12px;min-width:0;padding:16px;display:grid}.flow-scenario{gap:8px;display:grid}.lab-console .flow-scenario__title{text-wrap:balance;font-size:clamp(20px,2vw,24px)}.flow-scenario__trigger{color:var(--on-night-soft)}.flow-scenario__trigger .lab-meta{margin-right:6px}.flow-steps{margin:0;padding:0;list-style:none;display:grid}.flow-step{grid-template-columns:34px minmax(0,1fr);gap:14px;padding-bottom:14px;display:grid;position:relative}.flow-step:last-child{padding-bottom:0}.flow-step:before{content:"";background:var(--night-line);width:2px;transition:background-color .3s;position:absolute;top:36px;bottom:2px;left:16px}.flow-step:last-child:before{display:none}.flow-step[data-status=done]:before,.flow-step[data-status=fixed]:before{background:var(--ok-on-night)}.flow-step__marker{background:var(--night);border:2px solid var(--night-line);width:34px;height:34px;font-family:var(--display);color:var(--on-night-soft);border-radius:50%;place-items:center;font-size:14px;font-weight:600;transition:background-color .3s,border-color .3s,color .3s;display:grid}.flow-step[data-status=running] .flow-step__marker{border-color:var(--signal-on-night);color:var(--signal-on-night);animation:1.2s ease-in-out infinite flow-pulse}.flow-step[data-status=retrying] .flow-step__marker{border-color:var(--warn-on-night);color:var(--warn-on-night)}.flow-step[data-status=review] .flow-step__marker{border-color:var(--alert-on-night);color:var(--alert-on-night)}.flow-step[data-status=done] .flow-step__marker,.flow-step[data-status=fixed] .flow-step__marker{background:var(--ok-on-night);border-color:var(--ok-on-night);color:var(--night)}@keyframes flow-pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb, var(--signal-on-night) 25%, transparent)}}.flow-step__body{background:var(--night-raised);border:1px solid var(--night-line);border-radius:12px;gap:6px;min-width:0;padding:12px 14px;transition:border-color .3s;display:grid}.flow-step[data-status=running] .flow-step__body{border-color:var(--signal-on-night)}.flow-step[data-status=retrying] .flow-step__body{border-color:var(--warn-on-night)}.flow-step[data-status=review] .flow-step__body{border-color:var(--alert-on-night)}.flow-step__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:6px 10px;display:flex}.lab-console .flow-step h3{text-wrap:balance;font-size:16px}.flow-step__system{color:var(--on-night-faint);font-size:13px}.flow-step__compare{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:4px 0 0;font-size:13.5px;display:grid}.flow-step__compare dt{font-family:var(--display);letter-spacing:.12em;text-transform:uppercase;color:var(--on-night-faint);font-size:11px;font-weight:600}.flow-step__compare dd{color:var(--on-night-soft);margin:3px 0 0}.flow-step__compare strong{font-family:var(--display);color:var(--on-night-strong);font-weight:600}.flow-hint{color:var(--on-night-faint);font-size:13px}.flow-actions{flex-wrap:wrap;gap:10px;display:flex}.flow-clock{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.flow-clock output{font-family:var(--display);color:var(--on-night-strong);font-variant-numeric:tabular-nums;font-size:22px;font-weight:600}.flow-log{background:var(--night);border:1px solid var(--night-line);border-radius:10px;align-content:start;gap:8px;height:230px;padding:12px;font-size:13px;line-height:1.45;display:grid;overflow-y:auto}.flow-log__empty{color:var(--on-night-faint)}.flow-log__line{color:var(--on-night-soft)}.flow-log__line time{color:var(--on-night-faint);font-variant-numeric:tabular-nums;margin-right:4px}.flow-log__line strong{color:var(--on-night-strong);font-weight:600}.flow-log__line--warn,.flow-log__line--warn strong{color:var(--warn-on-night)}.flow-log__line--alert,.flow-log__line--alert strong{color:var(--alert-on-night)}.flow-log__line--ok{color:var(--ok-on-night);font-weight:600}.flow-summary{grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:14px;margin:0;display:grid}.flow-summary .lab-stat dd{font-size:22px}.flow-summary .lab-stat dd.lab-stat__note{font-size:12.5px}.flow-summary .lab-stat:last-child dd:not(.lab-stat__note){color:var(--ok-on-night)}@media (width<=900px){.flow-layout{flex-direction:column;align-items:stretch;display:flex}.flow-side{display:contents}.flow-controls{order:1}.flow-main{order:2}.flow-monitor{order:3}.flow-results{order:4}}@media (width<=560px){.flow-step__compare{grid-template-columns:minmax(0,1fr)}.flow-step{grid-template-columns:28px minmax(0,1fr);gap:10px}.flow-step__marker{width:28px;height:28px;font-size:13px}.flow-step:before{top:30px;left:13px}}@media (prefers-reduced-motion:reduce){.flow-step[data-status=running] .flow-step__marker{animation:none}}
