.diagram[data-astro-cid-rukkvdex]{margin-block:var(--space-10);counter-increment:figure}.diagram__title[data-astro-cid-rukkvdex]{margin-bottom:var(--space-5)}.diagram__frame[data-astro-cid-rukkvdex]{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--paper)}.diagram__frame[data-astro-cid-rukkvdex] svg,.diagram__full[data-astro-cid-rukkvdex] svg{display:block}.diagram__frame[data-astro-cid-rukkvdex] svg{width:100%;height:auto}.diagram__caption[data-astro-cid-rukkvdex]{gap:var(--space-4);margin-top:var(--space-3);font-size:var(--text-sm);color:var(--color-text-muted);justify-content:space-between;align-items:baseline;line-height:1.5;display:flex}.diagram__text[data-astro-cid-rukkvdex]:before{content:attr(data-label) " " counter(figure) ". ";font-weight:var(--weight-semibold);color:var(--color-text)}.diagram__text[data-astro-cid-rukkvdex]{flex:1}.diagram__zoom[data-astro-cid-rukkvdex],.diagram__close[data-astro-cid-rukkvdex] button[data-astro-cid-rukkvdex]{gap:var(--space-2);padding:var(--space-1) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);cursor:pointer;flex:none;align-items:center;display:inline-flex}.diagram__zoom[data-astro-cid-rukkvdex][hidden]{display:none}@media (hover:hover) and (pointer:fine){.diagram__zoom[data-astro-cid-rukkvdex]:hover,.diagram__close[data-astro-cid-rukkvdex] button[data-astro-cid-rukkvdex]:hover{border-color:var(--color-border-hover);color:var(--color-accent)}}.diagram__dialog[data-astro-cid-rukkvdex]{border-radius:var(--radius-lg);background:var(--paper);border:0;width:min(96vw,120rem);max-width:none;height:92dvh;max-height:none;padding:0}.diagram__dialog[data-astro-cid-rukkvdex]::backdrop{background:color-mix(in srgb, var(--ink-950) 70%, transparent)}.diagram__close[data-astro-cid-rukkvdex]{z-index:1;padding:var(--space-3);background:color-mix(in srgb, var(--paper) 90%, transparent);justify-content:flex-end;display:flex;position:sticky;top:0;left:0}.diagram__full[data-astro-cid-rukkvdex]{padding:0 var(--space-4) var(--space-4)}.diagram[data-astro-cid-rukkvdex] .dg{font-family:var(--font-body)}.diagram[data-astro-cid-rukkvdex] .dg-bg{fill:var(--paper)}.diagram[data-astro-cid-rukkvdex] .dg-title,.diagram[data-astro-cid-rukkvdex] .dg-step-label,.diagram[data-astro-cid-rukkvdex] .dg-node-title,.diagram[data-astro-cid-rukkvdex] .dg-legend-title,.diagram[data-astro-cid-rukkvdex] .dg-line{fill:var(--ink-900)}.diagram[data-astro-cid-rukkvdex] .dg-subtitle,.diagram[data-astro-cid-rukkvdex] .dg-line--note{fill:var(--slate-500)}.diagram[data-astro-cid-rukkvdex] .dg-zone-title{fill:var(--slate-600)}.diagram[data-astro-cid-rukkvdex] .dg-step{fill:var(--ink-900)}.diagram[data-astro-cid-rukkvdex] .dg-step-n{fill:var(--paper)}.diagram[data-astro-cid-rukkvdex] .dg-edge{fill:none;stroke:var(--slate-700);stroke-width:1.8px}.diagram[data-astro-cid-rukkvdex] .dg-arrowhead{fill:var(--slate-700)}.diagram[data-astro-cid-rukkvdex] .dg-edge-pill{fill:var(--paper);stroke:var(--slate-200)}.diagram[data-astro-cid-rukkvdex] .dg-edge-label,.diagram[data-astro-cid-rukkvdex] .dg-legend{fill:var(--slate-700)}.diagram[data-astro-cid-rukkvdex] .dg-zone{stroke-width:1.5px;stroke-dasharray:8 6}.diagram[data-astro-cid-rukkvdex] .dg-zone--device{fill:var(--slate-50);stroke:var(--slate-600)}.diagram[data-astro-cid-rukkvdex] .dg-zone--tls{fill:var(--green-50);stroke:none}.diagram[data-astro-cid-rukkvdex] .dg-zone--server{fill:var(--paper);stroke:var(--slate-600)}.diagram[data-astro-cid-rukkvdex] .dg-zone--admin{fill:var(--blue-25);stroke:var(--blue-300)}.diagram[data-astro-cid-rukkvdex] .dg-node rect,.diagram[data-astro-cid-rukkvdex] .dg-legend-swatch{fill:var(--dg-fill);stroke:var(--dg-stroke);stroke-width:2px}.diagram[data-astro-cid-rukkvdex] .dg-node--input{--dg-fill:var(--slate-50);--dg-stroke:var(--slate-300)}.diagram[data-astro-cid-rukkvdex] .dg-node--algo{--dg-fill:var(--blue-50);--dg-stroke:var(--blue-600)}.diagram[data-astro-cid-rukkvdex] .dg-node--key{--dg-fill:var(--amber-50);--dg-stroke:var(--amber-500)}.diagram[data-astro-cid-rukkvdex] .dg-node--check{--dg-fill:var(--paper);--dg-stroke:var(--slate-900)}.diagram[data-astro-cid-rukkvdex] .dg-node--check rect,.diagram[data-astro-cid-rukkvdex] rect.dg-node--check{stroke-dasharray:5 4}.diagram[data-astro-cid-rukkvdex] .dg-node--out{--dg-fill:var(--green-50);--dg-stroke:var(--green-600)}.diagram[data-astro-cid-rukkvdex] .dg-node--server{--dg-fill:var(--purple-50);--dg-stroke:var(--purple-600)}.diagram[data-astro-cid-rukkvdex] .dg-node--danger{--dg-fill:var(--red-50);--dg-stroke:var(--red-500)}.diagram[data-astro-cid-rukkvdex] .dg-tag--form{fill:var(--slate-500)}.diagram[data-astro-cid-rukkvdex] .dg-tag--storage{fill:var(--teal-500)}.diagram[data-astro-cid-rukkvdex] .dg-tag--memory{fill:var(--amber-500)}.diagram[data-astro-cid-rukkvdex] .dg-tag--csprng{fill:var(--blue-600)}@media print{.diagram[data-astro-cid-rukkvdex]{page:diagram;break-before:page;break-after:page;break-inside:avoid;margin:0}.diagram__frame[data-astro-cid-rukkvdex]{border:0;padding:0}.diagram__frame[data-astro-cid-rukkvdex] svg{width:auto;max-width:100%;max-height:136mm;margin-inline:auto}}.hero-cover[data-astro-cid-dujvezhl]{width:min(100%,22rem);margin-inline:auto;display:block}.wp[data-astro-cid-dujvezhl] .wp-content{counter-reset:chapter figure}.chapter[data-astro-cid-dujvezhl]{counter-increment:chapter;counter-reset:section}.chapter[data-astro-cid-dujvezhl]+.chapter[data-astro-cid-dujvezhl]{margin-top:var(--space-20)}.chapter[data-astro-cid-dujvezhl]>*+*{margin-top:var(--space-5)}.chapter[data-astro-cid-dujvezhl]>h2[data-astro-cid-dujvezhl]:before{margin-bottom:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-caps);color:var(--color-accent);content:counter(chapter, decimal-leading-zero);display:block}.chapter[data-astro-cid-dujvezhl] h3{counter-increment:section}.chapter[data-astro-cid-dujvezhl] h3:before{margin-right:var(--space-2);font-variant-numeric:tabular-nums;color:var(--color-text-subtle);content:counter(chapter) "." counter(section)}.wp[data-astro-cid-dujvezhl] .wp-content td:first-child{font-weight:var(--weight-medium);color:var(--color-text)}@page diagram{size:a4 landscape;margin:14mm 12mm 16mm}@media print{.chapter[data-astro-cid-dujvezhl]{break-before:page}.chapter[data-astro-cid-dujvezhl]+.chapter[data-astro-cid-dujvezhl]{margin-top:0}}
