.prev-next[data-astro-cid-bisti5pe]{border-top:1px solid var(--border);gap:.75rem;margin-top:3.5rem;padding-top:1.5rem;display:grid}@media (width>=48rem){.prev-next[data-astro-cid-bisti5pe]{grid-template-columns:1fr 1fr}}.pn-link[data-astro-cid-bisti5pe]{border:1px solid var(--border);background:var(--bg-raised);color:var(--text);border-radius:.4rem;gap:.15rem;padding:.85rem 1rem;text-decoration:none;transition:border-color .15s;display:grid}.pn-link[data-astro-cid-bisti5pe]:hover{border-color:var(--accent);color:var(--text)}.pn-next[data-astro-cid-bisti5pe]{text-align:right}.pn-dir[data-astro-cid-bisti5pe]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.pn-number[data-astro-cid-bisti5pe]{font-family:var(--font-mono);color:var(--accent);font-size:.78rem}.pn-title[data-astro-cid-bisti5pe]{font-weight:500;line-height:1.4}.anim{border:1px solid var(--border);background:var(--bg-raised);border-radius:.5rem;max-width:100%;margin:0 0 2.5rem;padding:1.1rem 1.25rem 1.25rem}.anim-head{margin-bottom:.9rem}.anim-title{font-family:var(--font-display);margin-top:.25rem;font-size:1.2rem;font-weight:600}.anim-intro{color:var(--text-muted);max-width:62ch;margin-top:.3rem;font-size:.925rem;line-height:1.55}.anim-stage{border:1px solid var(--border);background:var(--bg);border-radius:.4rem;overflow:hidden}.anim-stage svg{width:100%;height:auto;font-family:var(--font-sans);display:block}.anim-caption{min-height:2.6em;margin-top:.85rem;font-size:.95rem;line-height:1.5}.anim-step{font-family:var(--font-mono);color:var(--text-muted);margin-right:.35rem;font-size:.75rem}.anim-controls{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;display:flex}.anim-controls .btn{padding:.45rem .85rem;font-size:.875rem}.anim svg text{fill:var(--text);font-size:12px}.anim svg .mono{font-family:var(--font-mono);font-size:11px}.anim svg .muted{fill:var(--text-muted)}.anim svg .small{font-size:10px}.anim svg .tiny{font-size:9px}.anim svg .node{fill:var(--bg-raised);stroke:var(--border-strong);stroke-width:1.5px}.anim svg .node.active{stroke:var(--accent);stroke-width:2px}.anim svg .node.root{stroke:var(--accent);fill:var(--accent-soft);stroke-width:2px}.anim svg .node.down{stroke:var(--callout-mistake);stroke-dasharray:4 3}.anim svg .link{stroke:var(--border-strong);stroke-width:2px;fill:none}.anim svg .link.active{stroke:var(--accent)}.anim svg .link.blocked{stroke:var(--callout-mistake);stroke-dasharray:5 4}.anim svg .link.failed{stroke:var(--callout-mistake);stroke-dasharray:2 4;opacity:.6}.anim svg .packet{fill:var(--accent);stroke:var(--accent-contrast);stroke-width:1px;transition:transform .9s cubic-bezier(.4,.2,.2,1),opacity .3s}.anim svg .packet.broadcast{fill:var(--callout-facts)}.anim svg .packet.hidden{opacity:0}.anim svg .badge{fill:var(--bg-subtle);stroke:var(--border)}.anim svg .badge.ok{fill:var(--callout-tip-bg);stroke:var(--callout-tip)}.anim svg .badge.bad{fill:var(--callout-mistake-bg);stroke:var(--callout-mistake)}.anim svg .badge.warn{fill:var(--accent-soft);stroke:var(--accent)}.anim svg .port{fill:var(--bg-subtle);stroke:var(--border-strong)}.anim svg .port.rp{fill:var(--callout-tip-bg);stroke:var(--callout-tip)}.anim svg .port.dp{fill:var(--callout-facts-bg);stroke:var(--callout-facts)}.anim svg .port.blk{fill:var(--callout-mistake-bg);stroke:var(--callout-mistake)}.anim svg .fade{transition:opacity .4s}.anim svg .bit{font-family:var(--font-mono);font-size:13px}.anim svg .bit-net{fill:var(--accent)}.anim svg .bit-host{fill:var(--text-muted)}.anim svg .bit-box{fill:#0000;stroke:var(--border);stroke-width:1px}.anim svg .bit-box.net{fill:var(--accent-soft);stroke:var(--accent)}.anim svg .boundary{stroke:var(--accent);stroke-width:2px;transition:transform .25s}.anim-table{border-collapse:collapse;width:100%;margin-top:.75rem;font-size:.85rem}.anim-table th,.anim-table td{text-align:left;border-bottom:1px solid var(--border);font-family:var(--font-mono);padding:.35rem .6rem;font-size:.8rem}.anim-table th{font-family:var(--font-sans);letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.anim-table tr.new td{background:var(--accent-soft)}.anim-table tr.changed td{background:var(--callout-tip-bg)}.anim-table td.dim{color:var(--text-muted)}.anim-field{gap:.35rem;margin-top:.75rem;display:grid}.anim-field input[type=range]{width:100%;accent-color:var(--accent)}.anim-field input[type=text]{font:inherit;font-family:var(--font-mono);border:1px solid var(--border-strong);background:var(--bg);color:var(--text);border-radius:.4rem;width:100%;max-width:18rem;padding:.45rem .7rem}.anim-facts{grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));gap:.5rem;margin-top:.85rem;display:grid}.anim-fact{border:1px solid var(--border);background:var(--bg-subtle);border-radius:.4rem;padding:.55rem .75rem}.anim-fact dt{letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);font-size:.7rem}.anim-fact dd{font-family:var(--font-mono);overflow-wrap:anywhere;margin-top:.15rem;font-size:.9rem}.anim-fact dd.accent{color:var(--accent)}@media (prefers-reduced-motion:reduce){.anim svg .packet,.anim svg .fade,.anim svg .boundary{transition:none!important}}.anim svg .lifeline{stroke:var(--border-strong);stroke-width:1.5px;stroke-dasharray:3 3}.anim svg .arrow{stroke:var(--accent);stroke-width:2px;fill:none;marker-end:url(#anim-arrowhead)}.anim svg .arrow.reply{stroke:var(--callout-facts)}.anim svg .arrow.data{stroke:var(--callout-tip)}.anim svg .arrow.close{stroke:var(--text-muted)}.anim svg .arrow.dim{opacity:.25}.anim svg .state{fill:var(--bg-subtle);stroke:var(--border-strong)}.anim svg .state.est{fill:var(--callout-tip-bg);stroke:var(--callout-tip)}.anim svg .field{fill:var(--bg-subtle);stroke:var(--border-strong)}.anim svg .field.tag{fill:var(--accent-soft);stroke:var(--accent)}.anim svg .field.dim{opacity:.35}.crumbs[data-astro-cid-wjcy2wt2]{margin-bottom:1rem;font-size:.85rem}.crumbs[data-astro-cid-wjcy2wt2] a[data-astro-cid-wjcy2wt2]{color:var(--text-muted);text-decoration:none}.crumbs[data-astro-cid-wjcy2wt2] a[data-astro-cid-wjcy2wt2]:hover{color:var(--accent)}.objective-header[data-astro-cid-wjcy2wt2]{max-width:68ch;margin-bottom:2rem}.objective-header[data-astro-cid-wjcy2wt2] h1[data-astro-cid-wjcy2wt2]{margin-top:.35rem;font-size:clamp(1.85rem,1.3rem + 2.2vw,2.6rem)}
