@import url("https://fonts.googleapis.com/css2?family=Atkinson+Hyperlegible+Next:wght@400;500;600;700&display=swap");
.dc-figure{--dc-bg:#eaf0f7;--dc-ink:#183249;--dc-line:#9eafc0;--dc-card:#fff;--dc-blue:#195c90;--dc-muted:#425e73;--dc-red:#8e2c38;--dc-redbg:#fff0ed;--dc-green:#1a6356;--dc-greenbg:#e7f5ec;--dc-ops:#f4ecdc;--dc-shadow:0 12px 30px #18324916;color:var(--dc-ink);margin-block:3rem}
:root[data-theme="hacker"] .dc-figure{--dc-bg:#102437;--dc-ink:#dcecf8;--dc-line:#41617a;--dc-card:#19344b;--dc-blue:#77d8ff;--dc-muted:#b1c9da;--dc-red:#ffb8b5;--dc-redbg:#432631;--dc-green:#9ee9ca;--dc-greenbg:#153d38;--dc-ops:#302b44;--dc-shadow:0 14px 36px #0005}
.dc-figure .dc-board{border:1px solid var(--dc-line);border-radius:12px;padding:clamp(20px,4vw,38px);background:linear-gradient(145deg,var(--dc-bg),var(--dc-card));box-shadow:var(--dc-shadow);font-family:var(--sans,sans-serif);color:var(--dc-ink)}
.dc-figure .dc-kicker{font:650 .74rem/1.5 var(--mono,monospace);letter-spacing:.1em;color:var(--dc-blue);margin:0 0 14px}
.dc-figure h3{font:650 clamp(1.35rem,3vw,1.85rem)/1.25 var(--sans,sans-serif);margin:0 0 26px;color:var(--dc-ink)}
.dc-figure .dc-flow{display:grid;text-align:center}.dc-figure .dc-node{border:1px solid var(--dc-line);background:var(--dc-card);padding:20px;border-radius:8px;font-weight:600;box-shadow:0 3px 0 #1832490c}
.dc-figure .dc-icon{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:34px;padding:0 6px;margin-right:10px;border-radius:6px;background:var(--dc-blue);color:var(--dc-card);font:700 .8rem/1 var(--mono,monospace);vertical-align:middle}
.dc-figure small{display:block;font-size:.87rem;line-height:1.6;margin-top:8px;font-weight:400;color:var(--dc-muted)}.dc-figure .dc-arrow{padding:14px 3px;font-size:.9rem;font-weight:600;line-height:1.5;color:var(--dc-blue);text-align:center}
.dc-figure .dc-lanes{display:flex;gap:18px;flex-wrap:wrap}.dc-figure .dc-lanes>div{flex:1 1 190px;border:1px solid var(--dc-line);border-radius:8px;background:var(--dc-card);padding:22px;line-height:1.6;min-width:0}
.dc-figure strong{display:inline-block;font-size:1.05rem;color:inherit}.dc-figure .dc-gate{padding:24px;border:2px solid var(--dc-blue);background:var(--dc-blue);color:var(--dc-card);font-weight:700;border-radius:8px}.dc-figure .dc-gate small{color:inherit}
.dc-figure .dc-stack{display:grid;gap:12px}.dc-figure .dc-stack>div{border:1px solid var(--dc-line);border-left:6px solid var(--dc-blue);background:var(--dc-card);padding:22px;border-radius:6px}
.dc-figure .dc-lanes .dc-inventory{border-top:5px solid var(--dc-blue)}.dc-figure .dc-lanes .dc-danger{background:var(--dc-redbg);border-color:var(--dc-red);border-top-width:5px;color:var(--dc-red)}.dc-figure .dc-lanes .dc-safe{background:var(--dc-greenbg);border-color:var(--dc-green);border-top-width:5px;color:var(--dc-green)}
.dc-figure .dc-boundary{border:2px dashed var(--dc-blue);border-radius:10px;padding:24px;background:var(--dc-bg);text-align:center}.dc-figure .dc-boundary-label{display:block;font:650 .75rem/1.5 var(--mono,monospace);color:var(--dc-blue);margin:0 0 20px;text-transform:uppercase;letter-spacing:.06em}
.dc-figure .dc-note{font-size:.92rem;line-height:1.6;margin:22px 0 0;color:var(--dc-muted)}.dc-figure code{font-size:.88em;overflow-wrap:anywhere;white-space:normal;color:inherit}.dc-figure .dc-face{display:block;font-size:3rem;line-height:1.3;color:var(--dc-blue)}.dc-figure .dc-meme{text-align:center}.dc-figure .dc-lanes p{font-size:.96rem;line-height:1.6;margin:14px 0 0}
.dc-figure .dc-stop{display:block;border-top:1px solid var(--dc-line);padding-top:14px;margin-top:16px;font-size:.85rem;color:var(--dc-red)}
.dc-figure .dc-phase{padding:22px;border:1px solid var(--dc-blue);border-left:6px solid var(--dc-blue);border-radius:9px;background:var(--dc-bg);text-align:center}.dc-figure .dc-phase-label{display:block;font:700 .78rem/1.5 var(--mono,monospace);letter-spacing:.08em;color:var(--dc-blue);margin-bottom:18px}.dc-figure .dc-phase-ops{background:var(--dc-ops)}.dc-figure .dc-loop{border:2px dashed var(--dc-blue);border-radius:8px;padding:20px;margin-top:20px;font-weight:650;color:var(--dc-blue)}
@media(max-width:540px){.dc-figure .dc-lanes{flex-direction:column}.dc-figure .dc-lanes>div{flex:auto;padding:18px}.dc-figure .dc-boundary{padding:14px}.dc-figure .dc-node{padding:17px 12px}.dc-figure .dc-icon{display:flex;width:40px;margin:0 auto 10px}.dc-figure .dc-phase{padding:16px 12px}.dc-figure .dc-arrow{font-size:.85rem}}
.dc-figure .dc-route{display:flex;align-items:center;gap:12px}.dc-figure .dc-route .dc-node{flex:1;min-width:0}.dc-figure .dc-route-arrow{font-size:1.7rem;font-weight:700;color:var(--dc-blue)}.dc-figure .dc-checkpoint{border:2px solid var(--dc-blue);background:var(--dc-bg)}.dc-figure .dc-outcomes{margin-top:22px}
.dc-figure .dc-actor{display:flex;align-items:flex-start;gap:18px;padding:24px;background:var(--dc-card);border:1px solid var(--dc-line);border-radius:8px}.dc-figure .dc-actor>div{min-width:0}.dc-figure .dc-actor p{font-size:1rem;line-height:1.6;margin:12px 0 0}.dc-figure .dc-actor p small{margin:8px 0 0}.dc-figure .dc-step{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;background:var(--dc-blue);color:var(--dc-card);font-weight:750}.dc-figure .dc-config{background:var(--dc-ops);border:2px solid var(--dc-blue)}.dc-figure .dc-config code{display:block;margin-top:14px;font-size:.95rem}
.dc-figure .dc-gitops-grid{display:grid;grid-template-columns:1fr 150px 1fr;gap:16px;align-items:stretch;margin-top:28px}.dc-figure .dc-controller,.dc-figure .dc-runtime{background:var(--dc-card);border:1px solid var(--dc-blue);border-radius:10px;padding:24px 20px}.dc-figure .dc-controller .dc-step,.dc-figure .dc-runtime .dc-step{display:flex;margin-bottom:16px}.dc-figure .dc-controller p,.dc-figure .dc-runtime p{font-size:.95rem;line-height:1.6}.dc-figure .dc-controller b{display:block;padding:14px;background:var(--dc-ops);border-radius:5px;font-size:.9rem;line-height:1.6}.dc-figure .dc-transfer{align-self:center;text-align:center;font-size:2rem;color:var(--dc-blue)}.dc-figure .dc-transfer small{font-size:.83rem;font-weight:500}.dc-figure .dc-promotion{font-size:.93rem;line-height:1.65;margin-top:22px;padding:20px;background:var(--dc-ops);border-radius:8px}
.dc-copy-toolbar{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;padding:14px 18px;background:#eaf0f7;border:1px solid #9eafc0;border-bottom:0;border-radius:8px 8px 0 0;color:#183249;font:600 .9rem/1.5 var(--sans,sans-serif);margin-top:24px}.dc-copy-prompt{margin-left:auto;border:1px solid #195c90;background:#195c90;color:#fff;padding:9px 15px;border-radius:5px;font:600 .88rem/1.4 var(--sans,sans-serif);cursor:pointer}.dc-copy-prompt:focus-visible{outline:3px solid #a95a00;outline-offset:3px}.dc-copy-status:empty{display:none}.dc-copy-status{flex-basis:100%;font-size:.85rem}.dc-copy-toolbar+pre{margin-top:0;border-radius:0 0 8px 8px}
:root[data-theme="hacker"] .dc-copy-toolbar{background:#102437;border-color:#41617a;color:#dcecf8}:root[data-theme="hacker"] .dc-copy-prompt{background:#77d8ff;color:#102437;border-color:#77d8ff}
@media(max-width:650px){.dc-figure .dc-route{flex-direction:column;align-items:stretch}.dc-figure .dc-route-arrow{transform:rotate(90deg);text-align:center;line-height:1}.dc-figure .dc-gitops-grid{grid-template-columns:1fr}.dc-figure .dc-transfer{font-size:0}.dc-figure .dc-transfer:before{content:'↓';display:block;font-size:2rem}.dc-figure .dc-transfer small{font-size:.9rem}.dc-figure .dc-actor{padding:18px;gap:12px}.dc-figure .dc-step{width:30px;height:30px}.dc-figure .dc-config code{font-size:.85rem}}

article.post:has([data-dc="before"]){--serif:"Atkinson Hyperlegible Next","IBM Plex Sans",system-ui,sans-serif;--hacker-body:var(--serif);--hacker-display:var(--serif);font-family:var(--serif)}
article.post:has([data-dc="before"]) .chapter-nav ol{grid-template-columns:minmax(0,1fr)}
