:root{--spring-bounce:cubic-bezier(.34,1.56,.64,1);--spring-smooth:cubic-bezier(.22,1,.36,1);--spring-snappy:cubic-bezier(.17,.89,.32,1.28);--ease-out-expo:cubic-bezier(.16,1,.3,1)}.kafka-animation:where(.astro-z7a2iyeg){width:100%;height:100%;font-family:SF Mono,Fira Code,monospace}.kafka-animation:where(.astro-z7a2iyeg)>:where(.astro-z7a2iyeg)[data-step]{opacity:0;visibility:hidden;transition:opacity .4s var(--ease-out-expo)}.kafka-animation:where(.astro-z7a2iyeg)>:where(.astro-z7a2iyeg)[data-step].visible{opacity:1;visibility:visible}.topic-label:where(.astro-z7a2iyeg){fill:rgb(var(--color-accent));text-anchor:middle;font-size:16px;font-weight:700}.partition-bg:where(.astro-z7a2iyeg){fill:#a5d8ff;stroke:#1971c2;stroke-width:2px;transition:all .3s var(--spring-smooth)}.partition-bg:where(.astro-z7a2iyeg).dimmed{fill:#e9ecef;stroke:#adb5bd;opacity:.6}.partition-bg:where(.astro-z7a2iyeg).highlight{stroke-width:3px;filter:drop-shadow(0 0 8px #1971c266)}.partition-bg:where(.astro-z7a2iyeg).active-partition{animation:partitionPulse 2s var(--spring-smooth)infinite}@keyframes partitionPulse{0%,to{filter:drop-shadow(0 0 4px #1971c24d)}50%{filter:drop-shadow(0 0 12px #1971c280)}}.partition-label:where(.astro-z7a2iyeg){fill:#1864ab;text-anchor:middle;font-size:14px;font-weight:700}.partition-label:where(.astro-z7a2iyeg).dimmed{fill:#868e96}.offset-label:where(.astro-z7a2iyeg){fill:#495057;text-anchor:middle;font-size:10px}.partition:where(.astro-z7a2iyeg){animation:partitionPopIn .5s var(--spring-bounce)forwards;animation-delay:calc(var(--delay,0)*.15s);opacity:0}@keyframes partitionPopIn{0%{opacity:0;transform:scale(.8)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.producer-bg:where(.astro-z7a2iyeg){fill:#b2f2bb;stroke:#2f9e44;stroke-width:2px}.producer-label:where(.astro-z7a2iyeg){fill:#1e7b34;text-anchor:middle;font-size:11px;font-weight:600}.producer:where(.astro-z7a2iyeg){animation:slideInLeft .5s var(--spring-smooth)forwards}@keyframes slideInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.message-bg:where(.astro-z7a2iyeg){fill:#99e9f2;stroke:#0c8599;stroke-width:1.5px}.message-bg:where(.astro-z7a2iyeg).in-partition{fill:#99e9f2;stroke:#0c8599}.message-bg:where(.astro-z7a2iyeg).dimmed{fill:#dee2e6;stroke:#adb5bd;opacity:.5}.message-bg:where(.astro-z7a2iyeg).flowing{animation:flowDown 1.5s var(--ease-out-expo)infinite;animation-delay:var(--flow-delay,0s)}@keyframes flowDown{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.6;transform:translateY(4px)}}.message-text:where(.astro-z7a2iyeg){fill:#0c8599;text-anchor:middle;font-size:11px;font-weight:600}.msg-small:where(.astro-z7a2iyeg){fill:#0c8599;text-anchor:middle;font-size:10px;font-weight:600}.msg-small:where(.astro-z7a2iyeg).dimmed{fill:#868e96}.offset-small:where(.astro-z7a2iyeg){fill:#495057;text-anchor:end;font-size:9px}.message:where(.astro-z7a2iyeg){animation:messagePopIn .4s var(--spring-bounce)forwards;animation-delay:calc(var(--delay,0)*.2s);opacity:0}@keyframes messagePopIn{0%{opacity:0;transform:scale(0)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.stacked-msg:where(.astro-z7a2iyeg){animation:stackIn .4s var(--spring-smooth)forwards;animation-delay:calc(var(--delay,0)*.15s);opacity:0}@keyframes stackIn{0%{opacity:0;transform:translate(-15px)}to{opacity:1;transform:translate(0)}}.route-arrow:where(.astro-z7a2iyeg){stroke:#1971c2;stroke-width:2px;stroke-dasharray:200;stroke-dashoffset:200px;animation:drawArrow .8s var(--ease-out-expo)forwards}.arrow-a:where(.astro-z7a2iyeg){animation-delay:0s}.arrow-b:where(.astro-z7a2iyeg){animation-delay:.2s}.arrow-c:where(.astro-z7a2iyeg){animation-delay:.4s}@keyframes drawArrow{to{stroke-dashoffset:0}}.key-label:where(.astro-z7a2iyeg){fill:#1971c2;animation:labelFadeIn .4s var(--spring-smooth)forwards;opacity:0;font-size:10px;font-weight:600;animation-delay:.5s}@keyframes labelFadeIn{to{opacity:1}}.hash-formula:where(.astro-z7a2iyeg){fill:rgb(var(--color-accent));text-anchor:middle;animation:formulaPop .5s var(--spring-bounce)forwards;font-size:14px;font-weight:700}@keyframes formulaPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.order-arrow:where(.astro-z7a2iyeg){stroke:#2f9e44;stroke-width:2px;fill:none;stroke-dasharray:100;stroke-dashoffset:100px;animation:drawArrow .6s var(--ease-out-expo)forwards;animation-delay:.3s}.order-label:where(.astro-z7a2iyeg){fill:#2f9e44;font-size:9px;font-weight:600}.insight-bg:where(.astro-z7a2iyeg){fill:#2f9e44;opacity:.15}.insight-text:where(.astro-z7a2iyeg){fill:#1e7b34;text-anchor:middle;font-size:12px;font-weight:700}.consumer-bg:where(.astro-z7a2iyeg){fill:#d0bfff;stroke:#7048e8;stroke-width:2px;transition:all .3s var(--spring-smooth)}.consumer-bg:where(.astro-z7a2iyeg).active-consumer{animation:consumerPulse 1.5s var(--spring-smooth)infinite}@keyframes consumerPulse{0%,to{filter:drop-shadow(0 0 4px #7048e866);transform:scale(1)}50%{filter:drop-shadow(0 0 10px #7048e899);transform:scale(1.02)}}.consumer-label:where(.astro-z7a2iyeg){fill:#5f3dc4;text-anchor:middle;font-size:14px;font-weight:700}.group-label:where(.astro-z7a2iyeg){fill:rgb(var(--color-text-muted));text-anchor:middle;font-size:12px;font-weight:600}.consumer:where(.astro-z7a2iyeg){animation:consumerSlideIn .5s var(--spring-bounce)forwards;animation-delay:calc(var(--delay,0)*.15s);opacity:0}@keyframes consumerSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.consumer-line:where(.astro-z7a2iyeg){stroke:#7048e8;stroke-width:2px;stroke-dasharray:4 3;animation:lineDrawIn .4s var(--ease-out-expo)forwards;animation-delay:calc(.3s + var(--delay,0)*.1s);opacity:0}.consumer-line:where(.astro-z7a2iyeg).active-line{stroke-dasharray:none;opacity:1;animation:1s linear infinite lineFlow}@keyframes lineDrawIn{to{opacity:1}}@keyframes lineFlow{0%{stroke-dashoffset:0}to{stroke-dashoffset:-14px}}.throughput-bg:where(.astro-z7a2iyeg){fill:#2f9e44;animation:throughputPop .5s var(--spring-bounce)forwards;opacity:0;animation-delay:.3s}@keyframes throughputPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.throughput-text:where(.astro-z7a2iyeg){fill:#fff;text-anchor:middle;font-size:13px;font-weight:700}.status-label:where(.astro-z7a2iyeg){fill:rgb(var(--color-text-muted));text-anchor:middle;animation:statusFade .5s var(--ease-out-expo)forwards;font-size:13px;font-weight:500}@keyframes statusFade{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.dark .partition-bg:where(.astro-z7a2iyeg){fill:#1864ab;stroke:#4dabf7}.dark .partition-bg:where(.astro-z7a2iyeg).dimmed{fill:#495057;stroke:#6c757d}.dark .partition-label:where(.astro-z7a2iyeg){fill:#a5d8ff}.dark .partition-label:where(.astro-z7a2iyeg).dimmed{fill:#868e96}.dark .producer-bg:where(.astro-z7a2iyeg){fill:#1e7b34;stroke:#69db7c}.dark .producer-label:where(.astro-z7a2iyeg){fill:#b2f2bb}.dark .message-bg:where(.astro-z7a2iyeg),.dark .message-bg:where(.astro-z7a2iyeg).in-partition{fill:#0c8599;stroke:#66d9e8}.dark .message-text:where(.astro-z7a2iyeg),.dark .msg-small:where(.astro-z7a2iyeg){fill:#c5f6fa}.dark .consumer-bg:where(.astro-z7a2iyeg){fill:#5f3dc4;stroke:#b197fc}.dark .consumer-label:where(.astro-z7a2iyeg){fill:#e5dbff}.dark .key-label:where(.astro-z7a2iyeg){fill:#74c0fc}.dark .insight-bg:where(.astro-z7a2iyeg){fill:#2f9e44;opacity:.25}.dark .insight-text:where(.astro-z7a2iyeg){fill:#8ce99a}.dark .offset-label:where(.astro-z7a2iyeg),.dark .offset-small:where(.astro-z7a2iyeg){fill:#adb5bd}@media (prefers-reduced-motion:reduce){:where(.astro-z7a2iyeg),:where(.astro-z7a2iyeg):before,:where(.astro-z7a2iyeg):after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.next-section:where(.astro-bphzcirf){--tw-border-opacity:1;border-width:1px;border-color:rgba(var(--color-border),var(--tw-border-opacity,1));--tw-bg-opacity:1;background-color:rgba(var(--color-card),var(--tw-bg-opacity,1));border-radius:.75rem;margin-top:2rem;padding:1.5rem}.next-section:where(.astro-bphzcirf) h2:where(.astro-bphzcirf){--tw-text-opacity:1;color:rgba(var(--color-accent),var(--tw-text-opacity,1));margin-bottom:.5rem;font-size:1.125rem;font-weight:600;line-height:1.75rem}.next-section:where(.astro-bphzcirf) p:where(.astro-bphzcirf){color:rgba(var(--color-text-base),.7);font-size:.875rem;line-height:1.25rem}