.sd{--sd-edge:#1d1d1f;--sd-proxy:#1d1d1f;--sd-mesh:#1d1d1f;--sd-app:#1d1d1f;--sd-bad:#b3261e;--sd-warn:#86868b;--sd-ink:#1d1d1f;--sd-mute:#6b6b70;--sd-grey:#86868b;--sd-faint:#d9d6cf;--sd-line:rgba(0,0,0,.14);--sd-panel:#fff;--sd-soft:#f4f2ec;background:var(--sd-panel);border:1px solid var(--border-light,rgba(0,0,0,.08));border-radius:12px;color:var(--sd-ink);font-family:var(--font-body,system-ui,sans-serif);line-height:1.45;margin:2.2rem 0;overflow:hidden}.sd-head{align-items:center;background:var(--sd-soft);border-bottom:1px solid var(--sd-line);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.65rem .9rem}.sd-title{font-family:var(--font-heading,Georgia,serif);font-size:.98rem;font-weight:600}.sd-tools{display:inline-flex;gap:.4rem}.sd-stage{padding:.5rem .5rem 0}.sd-stage svg{display:block;height:auto;width:100%}.sd-controls{border-top:1px solid var(--sd-line);display:flex;flex-wrap:wrap;gap:.5rem 1rem;padding:.6rem .9rem}.sd-group{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.3rem}.sd-group>.sd-lbl{color:var(--sd-mute);font-size:.75rem;margin-right:.15rem}.sd-status{border-top:1px solid var(--sd-line);font-size:.85rem;min-height:2.6rem;padding:.55rem .9rem}.sd-hint,.sd-status{background:var(--sd-soft);margin:0}.sd-hint{color:var(--sd-mute);font-size:.78rem;padding:.45rem .9rem .7rem}.sd-btn{background:#fff;border:1px solid var(--sd-line);border-radius:6px;color:var(--sd-ink);cursor:pointer;font:inherit;font-size:.78rem;line-height:1;padding:.4rem .6rem;transition:background .15s,border-color .15s,color .15s}.sd-btn:hover{background:var(--sd-soft);border-color:var(--sd-mute)}.sd-btn:focus-visible{outline:2px solid var(--sd-proxy);outline-offset:2px}.sd-btn.broken{background:#fbeeed;border-color:var(--sd-bad);color:var(--sd-bad);text-decoration:line-through}.sd-btn.on{background:var(--sd-ink);border-color:var(--sd-ink);color:#fff}.sd-steps{display:flex;flex-wrap:wrap;gap:.3rem;list-style:none;margin:0;padding:.6rem .9rem 0}.sd-steps button{background:#fff;border:1px solid var(--sd-line);border-radius:999px;color:var(--sd-mute);cursor:pointer;font:inherit;font-size:.72rem;line-height:1;padding:.38rem .55rem}.sd-steps button.done{border-color:var(--sd-grey);color:var(--sd-ink)}.sd-steps button.now{background:var(--sd-ink);border-color:var(--sd-ink);color:#fff}.sd-steps button.fail{border-color:var(--sd-bad);color:var(--sd-bad)}.sd-steps button.now.fail{background:var(--sd-bad);color:#fff}.sd-steps button:focus-visible{outline:2px solid var(--sd-ink);outline-offset:2px}.sd-panel{background:var(--sd-soft);border-left:3px solid var(--sd-ink);border-radius:8px;font-size:.88rem;margin:.6rem .9rem .8rem;padding:.7rem .9rem}.sd-panel h4{font-family:var(--font-heading,Georgia,serif);font-size:.98rem;margin:0 0 .25rem}.sd-panel p{margin:.2rem 0 0}.sd-panel ul{color:var(--sd-mute);font-size:.82rem;margin:.45rem 0 0 1.1rem;padding:0}.sd-panel li{margin:.18rem 0}.sd-panel .sd-sub{color:var(--sd-mute);font-size:.68rem;letter-spacing:.06em;margin-top:.55rem;text-transform:uppercase}.sd-trace{counter-reset:tr;font-size:.84rem;list-style:none;margin:.5rem .9rem .8rem;padding:0}.sd-trace li{border-bottom:1px dashed var(--sd-line);display:grid;gap:.3rem;grid-template-columns:1.6rem 1fr;padding:.3rem 0}.sd-trace li b{font-weight:600}.sd-trace li .mk{font-weight:700}.sd-trace li.fail{color:var(--sd-bad)}.sd-trace li.idle{border:0;color:var(--sd-mute)}.sd svg text{fill:var(--sd-ink);font-family:var(--font-body,system-ui,sans-serif)}.sd svg .mono{font-family:var(--font-mono,monospace)}.sd svg .sm{font-size:11px}.sd svg .md{font-size:13px}.sd svg .mute{fill:var(--sd-mute)}.sd svg .box{fill:#fff;stroke:#8d8a83;stroke-width:1.4;transition:stroke .2s,stroke-width .2s}.sd svg .box.sel{stroke:var(--sd-ink);stroke-width:2.8}.sd svg .box.down{fill:#fbeeed;stroke:var(--sd-bad);stroke-dasharray:5 4}.sd svg .wire{fill:none;stroke:var(--sd-line);stroke-width:1.2}.sd svg .pkt{fill:var(--sd-ink);stroke:#fff;stroke-width:1.5}.sd svg .pkt.err{fill:var(--sd-bad)}.sd svg .pkt.redirect{fill:#fff;stroke:var(--sd-ink);stroke-width:2}@media(max-width:520px){.sd-stage{padding:.25rem 0 0}.sd-btn{padding:.5rem .65rem}}
