@font-face{font-family:Archivo;src:url('/assets/archivo-400.woff2')}@font-face{font-family:Archivo;src:url('/assets/archivo-600.woff2');font-weight:600}@font-face{font-family:'IBM Plex Mono';src:url('/assets/plex-mono-400.woff2')}@font-face{font-family:'IBM Plex Mono';src:url('/assets/plex-mono-500.woff2');font-weight:500}:root{color-scheme:light;--bg:#f3f3f0;--paper:#fff;--ink:#0b0b0c;--muted:#5a5c5d;--line:#c9cbc9;--soft:#e7e7e3;--inverse:#f7f7f4}html[data-theme=dark]{color-scheme:dark;--bg:#0b0b0c;--paper:#131315;--ink:#f4f4f2;--muted:#adafaf;--line:#3b3d3e;--soft:#1c1d1e;--inverse:#0b0b0c}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 Archivo,Arial,sans-serif}a{color:inherit;text-underline-offset:4px}.wrap{width:min(1180px,calc(100% - 64px));margin:auto}.skip{position:fixed;left:-999px}.skip:focus{left:12px;top:12px;background:var(--paper);padding:10px;z-index:20}.notice{height:27px;padding:4px 24px;border-bottom:1px solid var(--line);font:10px/18px 'IBM Plex Mono';letter-spacing:.08em;text-align:center;text-transform:uppercase}.site-header{background:color-mix(in srgb,var(--bg) 94%,transparent);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5;backdrop-filter:blur(12px)}.header{height:88px;display:flex;align-items:center;gap:28px}.brand{display:flex;align-items:center;gap:14px;font-size:26px;font-weight:600;letter-spacing:-.025em;text-decoration:none}.mark-stack,.mark{width:56px;height:56px;display:block}.dark-mark,.plain-mark{display:none}.nav{margin-left:auto;display:flex;align-items:center;gap:24px;font-size:14px}.nav a{text-decoration:none}.nav a:hover,.nav a[aria-current=page]{text-decoration:underline;text-decoration-thickness:2px}.theme,.menu{min-height:42px;border:1px solid var(--ink);background:transparent;color:inherit;padding:0 13px;font:11px 'IBM Plex Mono';text-transform:uppercase}.menu{display:none}.section{padding-top:90px;padding-bottom:90px}.hero-home{border-bottom:1px solid var(--line)}.hero-grid{min-height:650px;display:grid;grid-template-columns:minmax(0,1fr) 360px;align-items:center;gap:90px}.eyebrow,.meta,.status,.badge,dt,label,.topic-grid span{font:11px 'IBM Plex Mono';letter-spacing:.09em;text-transform:uppercase;color:var(--muted)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(50px,7vw,92px);line-height:.96;letter-spacing:-.055em;margin:18px 0 28px}h1 span{color:var(--muted)}h2{font-size:clamp(30px,4vw,48px);line-height:1.05;letter-spacing:-.035em;margin:10px 0 20px}h3{font-size:22px;line-height:1.25;letter-spacing:-.02em}.lede{font-size:20px;line-height:1.55;max-width:660px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:35px}.button{min-height:50px;display:inline-flex;align-items:center;padding:0 18px;border:1px solid var(--ink);font-weight:600;text-decoration:none}.button.primary{background:var(--ink);color:var(--inverse)}.button:hover{transform:translateY(-2px)}.signal{position:relative;border:1px solid var(--line);background:var(--paper);padding:26px;display:grid;gap:0}.signal span{border-bottom:1px solid var(--line);padding:14px 0;font:12px 'IBM Plex Mono';text-transform:uppercase}.signal i{font:90px/1 'IBM Plex Mono';font-style:normal;position:absolute;right:-35px;bottom:-38px;opacity:.06;writing-mode:vertical-rl}.section-head{display:grid;grid-template-columns:1.1fr .9fr;gap:100px;align-items:end;margin-bottom:50px}.section-head>p{font-size:18px;color:var(--muted);margin-bottom:0}.principles{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--line)}.principles article{padding:30px 35px 10px 0;border-right:1px solid var(--line)}.principles article+article{padding-left:35px}.principles article:last-child{border-right:0}.principles b,.stage-no{font:12px 'IBM Plex Mono';color:var(--muted)}.principles p,.topic-grid p{color:var(--muted)}.shade{position:relative}.shade:before{content:'';position:absolute;inset:0 calc((100vw - 100%)/-2);background:var(--soft);z-index:-1}.feature-card{display:grid;grid-template-columns:1fr auto;gap:30px;align-items:end;padding:40px;background:var(--paper);border:1px solid var(--line);text-decoration:none}.feature-card h3{font-size:30px;max-width:700px;margin:16px 0}.feature-card:hover{outline:2px solid var(--ink);outline-offset:3px}.status{display:inline-block;border:1px solid var(--line);padding:4px 8px}.status.draft{background:var(--ink);color:var(--inverse);border-color:var(--ink)}.split-cta{display:grid;grid-template-columns:1fr 1fr;gap:0}.split-cta>div{padding-right:70px}.split-cta>div+div{border-left:1px solid var(--line);padding-left:70px}.split-cta p{color:var(--muted)}.page-hero{max-width:880px;padding:70px 0 35px}.page-hero.compact h1,.prose h1{font-size:clamp(38px,6vw,68px)}.coverage{display:flex;border-block:1px solid var(--line);margin:15px 0 45px}.coverage div{display:flex;align-items:baseline;gap:10px;padding:20px 45px 20px 0;margin-right:45px;border-right:1px solid var(--line)}.coverage b{font-size:36px}.coverage span{color:var(--muted)}.stage-list article{display:grid;grid-template-columns:110px 1fr;border-top:1px solid var(--line);padding:32px 0}.stage-list article>div{display:grid;grid-template-columns:160px 1fr 1fr;gap:24px;align-items:start}.stage-list h2{font-size:30px;margin:0}.stage-list p{color:var(--muted);margin:0}.stage-list a{grid-column:2/4}.callout-wide{display:grid;grid-template-columns:1fr 1fr;gap:90px;align-items:end}.callout-wide p{font-size:18px;color:var(--muted)}.control-loop{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);counter-reset:item}.control-loop li{min-height:190px;padding:24px;border-right:1px solid var(--line);display:flex;flex-direction:column;gap:22px}.control-loop li:last-child{border:0}.control-loop li:before{counter-increment:item;content:'0' counter(item);font:11px 'IBM Plex Mono';color:var(--muted)}.control-loop span{color:var(--muted)}.topic-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--line);border:1px solid var(--line)}.topic-grid article{background:var(--bg);padding:32px}.filters{display:flex;align-items:end;gap:18px;border-block:1px solid var(--line);padding:20px 0}.filters label{display:grid;gap:7px}.filters input,.filters select{min-height:44px;border:1px solid var(--line);background:var(--paper);color:var(--ink);padding:0 12px;font:16px Archivo}.filters .meta{margin-left:auto}.repo-grid{padding:30px 0}.repo-card{display:block;max-width:650px;padding:30px;background:var(--paper);border:1px solid var(--line);text-decoration:none}.repo-card:hover{outline:2px solid var(--ink);outline-offset:3px}.badges{display:flex;gap:7px;flex-wrap:wrap}.badge{border:1px solid var(--line);padding:3px 8px}.badge.fill{background:var(--ink);color:var(--inverse)}.detail{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:70px;padding-bottom:80px}.prose{max-width:72ch;min-width:0}.prose h2{margin-top:50px;font-size:30px;scroll-margin-top:120px}.prose h3{margin-top:35px}.prose pre{overflow:auto;background:var(--paper);border:1px solid var(--line);padding:18px;font:14px/1.6 'IBM Plex Mono'}.prose code{font-family:'IBM Plex Mono'}.callout{border-left:3px solid;padding:15px 20px;background:var(--soft);margin:30px 0}.panel{position:sticky;top:130px;background:var(--paper);border:1px solid var(--line);padding:24px;height:max-content;overflow-wrap:anywhere}.panel dd{margin:4px 0 18px}.panel>a{display:block;margin:10px 0}.table-wrap{max-width:100%;overflow:auto}table{width:100%;border-collapse:collapse}th,td{border:1px solid var(--line);padding:8px;text-align:left}blockquote{border-left:2px solid;margin-left:0;padding-left:18px;color:var(--muted)}.fingerprint{overflow-wrap:anywhere}.runbook-list{border-top:1px solid var(--line)}.runbook-list>a,.runbook-list>div{display:grid;grid-template-columns:80px 1fr 70px;gap:25px;padding:32px 0;border-bottom:1px solid var(--line);text-decoration:none}.runbook-list h2{font-size:28px;margin:12px 0}.runbook-list p{color:var(--muted);margin:0}.runbook-list>a:hover h2{text-decoration:underline}.footer{border-top:1px solid var(--line);padding:45px 0;color:var(--muted)}.footer .wrap{display:grid;grid-template-columns:1fr 2fr;gap:10px}.footer nav{display:flex;gap:20px;grid-column:2}.footer .meta{grid-column:2}:focus-visible{outline:2px solid currentColor;outline-offset:4px}[hidden]{display:none!important}html[data-theme=dark] .light-mark{display:none}html[data-theme=dark] .dark-mark{display:block}@media(max-width:820px){.wrap{width:min(100% - 36px,1180px)}.notice span{display:none}.header{height:64px}.brand{gap:9px;font-size:20px}.mark-stack,.mark{width:32px;height:32px}.binary-mark{display:none!important}.plain-mark.light-mark{display:block}.plain-mark.dark-mark{display:none}html[data-theme=dark] .plain-mark.light-mark{display:none}html[data-theme=dark] .plain-mark.dark-mark{display:block}.menu{display:block;margin-left:auto}.theme{min-height:38px}.nav{display:none;position:absolute;left:0;right:0;top:64px;padding:18px;background:var(--bg);border-bottom:1px solid var(--line);flex-direction:column;align-items:stretch}.nav.open{display:flex}.hero-grid{min-height:590px;grid-template-columns:1fr}.signal{display:none}.section{padding-block:64px}.section-head,.callout-wide{grid-template-columns:1fr;gap:15px}.principles,.split-cta,.topic-grid{grid-template-columns:1fr}.principles article,.principles article+article{padding:26px 0;border-right:0;border-bottom:1px solid var(--line)}.split-cta>div{padding:0 0 35px}.split-cta>div+div{border-left:0;border-top:1px solid var(--line);padding:35px 0 0}.stage-list article{grid-template-columns:45px 1fr}.stage-list article>div{grid-template-columns:1fr}.stage-list a{grid-column:auto}.control-loop{grid-template-columns:1fr}.control-loop li{min-height:0;border-right:0;border-bottom:1px solid var(--line)}.detail{grid-template-columns:1fr;gap:25px}.panel{position:static;order:-1}.feature-card{grid-template-columns:1fr}.footer .wrap{grid-template-columns:1fr}.footer nav,.footer .meta{grid-column:1;flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}.button:hover{transform:none}}
.analytics-consent{position:fixed;z-index:50;left:50%;bottom:18px;transform:translateX(-50%);width:min(680px,calc(100% - 32px));padding:18px;border:1px solid var(--line);background:var(--paper,var(--bg,#fff));color:var(--ink,#111);box-shadow:0 12px 38px rgb(0 0 0/.18);display:flex;align-items:center;justify-content:space-between;gap:20px}.analytics-consent[hidden]{display:none}.analytics-consent p{margin:0}.analytics-consent p span{display:block;color:var(--muted);font-size:14px}.analytics-consent div{display:flex;gap:8px}.analytics-consent button,.analytics-settings{min-height:44px;padding:8px 12px;border:1px solid currentColor;background:transparent;color:inherit;font:inherit;cursor:pointer}.analytics-settings{margin-top:16px;font-size:12px}@media(max-width:620px){.analytics-consent{align-items:stretch;flex-direction:column}.analytics-consent div{display:grid;grid-template-columns:1fr 1fr}.analytics-consent button{width:100%}}

/* Final global cascade: loaded statically after the foundation CSS. */
.header .plain-mark{display:none!important}.header .binary-mark.light-mark{display:block!important}.header .binary-mark.dark-mark{display:none!important}html[data-theme=dark] .header .binary-mark.light-mark{display:none!important}html[data-theme=dark] .header .binary-mark.dark-mark{display:block!important}
@media(max-width:820px){.header .binary-mark{display:none!important}html[data-theme=dark] .header .binary-mark.dark-mark{display:none!important}.header .plain-mark.light-mark{display:block!important}.header .plain-mark.dark-mark{display:none!important}html[data-theme=dark] .header .plain-mark.light-mark{display:none!important}html[data-theme=dark] .header .plain-mark.dark-mark{display:block!important}.detail .panel{position:static;order:0}}
.shade:before{inset:0;box-shadow:0 0 0 100vmax var(--soft);clip-path:inset(0 -100vmax)}
.signal{overflow:hidden}
.filters,.surface-filters{display:none}.js .filters,.js .surface-filters{display:flex}.toc-panel nav{max-height:calc(100vh - 190px);overflow-y:auto;overscroll-behavior-y:contain;padding:2px}.toc-panel ol{list-style:none;margin:16px 0;padding-left:0}.toc-panel li{margin:8px 0}.toc-panel a:focus-visible{outline-offset:2px}@media(max-width:820px){.js .surface-filters{display:flex}}
h1,h2,h3,strong,b{font-weight:600}
.brand-copy{display:flex;flex-direction:column;line-height:1}.brand-name{width:max-content;border-bottom:2px solid #b9470f;padding-bottom:3px}.brand-tagline{margin-top:5px;font:500 11px/1.1 'IBM Plex Mono';letter-spacing:.04em;text-transform:none;color:var(--muted)}.nav a:hover,.nav a[aria-current=page]{text-decoration-color:#b9470f;text-decoration-thickness:2px;text-underline-offset:7px}html[data-theme=dark] .brand-name,html[data-theme=dark] .nav a:hover,html[data-theme=dark] .nav a[aria-current=page]{border-color:#ff9a61;text-decoration-color:#ff9a61}.social-links{grid-column:2;display:flex;flex-wrap:wrap;gap:8px 18px;align-items:center}.social-links span{color:var(--muted);font:500 10px/1.4 'IBM Plex Mono'}.social-links .social-primary{font-weight:600;text-decoration-color:#b9470f;text-decoration-thickness:2px;text-underline-offset:5px}html[data-theme=dark] .social-links .social-primary{text-decoration-color:#ff9a61}@media(max-width:1000px){.brand-tagline{font-size:10px;margin-top:4px}.brand-name{padding-bottom:2px}}@media(max-width:820px){.social-links{grid-column:1}}@media(max-width:420px){.js .filters{display:grid;grid-template-columns:minmax(0,1fr)}.filters label,.filters select,.filters .count{width:100%;min-width:0}.filters .count{grid-column:1}}
.prose code{overflow-wrap:anywhere;word-break:break-word}

.packet-flow,.signal-flow{list-style:none;padding:0;margin:2rem 0;display:grid;gap:.8rem}
.packet-flow{grid-template-columns:repeat(5,minmax(0,1fr))}
.signal-flow{grid-template-columns:repeat(4,minmax(0,1fr))}
.packet-flow li,.signal-flow li{position:relative;padding:1rem;border:1px solid var(--line);background:var(--surface);min-width:0}
.packet-flow li:not(:last-child)::after,.signal-flow li:not(:last-child)::after{content:'→';position:absolute;right:-.75rem;top:50%;transform:translateY(-50%);z-index:1;color:var(--accent);font-weight:600}
.packet-flow strong,.signal-flow strong{display:block;margin-bottom:.5rem}
.packet-flow li,.signal-flow li{font-size:.9rem;line-height:1.45}
@media(max-width:820px){.packet-flow,.signal-flow{grid-template-columns:1fr}.packet-flow li:not(:last-child)::after,.signal-flow li:not(:last-child)::after{content:'↓';right:1rem;top:auto;bottom:-1.15rem}}
.continue{border-top:1px solid var(--line);margin-top:56px;padding-top:28px}.continue h2{margin:8px 0 18px}.continue p{margin:8px 0}
.author-intro{display:grid;grid-template-columns:110px minmax(0,1fr);gap:28px;align-items:center;max-width:760px;border-top:1px solid var(--line);padding-top:30px}.author-intro img{display:block;width:110px;height:auto;aspect-ratio:1182/1330;object-fit:cover}.author-intro h2{font-size:clamp(26px,3vw,34px);margin:5px 0 8px}.author-intro p{margin:0;color:var(--muted)}@media(max-width:480px){.author-intro{grid-template-columns:96px minmax(0,1fr);gap:18px}.author-intro img{width:96px}}
/* Keep the flexible copy track from expanding rows beyond narrow viewports. */
.runbook-list>a,.runbook-list>div{grid-template-columns:80px minmax(0,1fr) 70px}
/* Library cards have copy + affordance, not the numbered runbooks' three columns. */
section[aria-labelledby^="library-"] .runbook-list>a{grid-template-columns:minmax(0,1fr) auto;align-items:center}
section[aria-labelledby^="library-"] .runbook-list>a>div{min-width:0}
section[aria-labelledby^="library-"] .runbook-list h3{font-size:clamp(22px,2.4vw,28px);margin:0 0 12px;overflow-wrap:anywhere}
section[aria-labelledby^="library-"] .runbook-list>a:is(:hover,:focus-visible) h3{text-decoration:underline;text-underline-offset:5px}
@media(max-width:540px){section[aria-labelledby^="library-"] .runbook-list>a{grid-template-columns:minmax(0,1fr);gap:16px;padding:26px 0}}
.library-tools{display:none}.js .library-tools{display:grid;grid-template-columns:minmax(220px,2fr) minmax(170px,1fr) auto auto;gap:16px;align-items:end;padding-block:8px 30px}.library-tools label{display:block;margin-bottom:7px;font:500 11px/1.3 'IBM Plex Mono';letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.library-tools input,.library-tools select,.library-tools button{width:100%;min-height:44px;border:1px solid var(--line);border-radius:0;background:var(--paper);color:var(--ink);font:inherit;padding:9px 12px}.library-tools button{width:auto;cursor:pointer}.library-tools .count{min-width:88px;margin:0;padding-block:10px;font:500 12px/1.4 'IBM Plex Mono';color:var(--muted)}.library-empty{margin-block:0 36px;padding:20px;border:1px solid var(--line)}
@media(max-width:820px){.js .library-tools{grid-template-columns:minmax(0,1fr) minmax(150px,.7fr)}.library-tools button{width:100%}.library-tools .count{align-self:center}}
@media(max-width:520px){.js .library-tools{grid-template-columns:minmax(0,1fr)}.library-tools .count{min-width:0}}
