.entity-action-popover,.entity-action-popover__surface{box-sizing:border-box;color:var(--kafka-flow-text);font-family:var(--font-sans)}.entity-action-popover{display:inline-flex;flex:0 0 auto}.entity-action-popover__trigger{align-items:center;background:transparent;border:2px solid transparent;border-radius:var(--kafka-flow-radius);color:var(--kafka-flow-muted);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color .14s ease,border-color .14s ease,color .14s ease;width:32px}.entity-action-popover__trigger .anticon{font-size:18px;line-height:1}.entity-action-popover__trigger:hover,.entity-action-popover__trigger[aria-expanded=true]{border-color:var(--kafka-flow-ink);color:var(--kafka-flow-text)}.entity-action-popover__trigger[aria-expanded=true]{background:var(--kafka-flow-surface-hover)}.entity-action-popover__trigger:focus-visible,.entity-action-popover__action:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:2px}.entity-action-popover__trigger:disabled{cursor:not-allowed;opacity:.36}.entity-action-popover__surface{--popover-enter-y: -6px;background:var(--kafka-flow-popover);border:2px solid var(--kafka-flow-border);border-radius:var(--kafka-flow-radius-lg);box-shadow:var(--kafka-flow-popover-shadow, 6px 6px 0 #efeadb);max-height:calc(100vh - 16px);max-width:calc(100vw - 16px);opacity:0;outline:0;overflow:auto;position:fixed;transform:translateY(var(--popover-enter-y)) scale(.97);visibility:hidden;width:min(var(--entity-action-popover-width, 216px),calc(100vw - 16px));z-index:2000}.entity-action-popover__surface[data-placement^=top]{--popover-enter-y: 6px}.entity-action-popover__surface.is-positioned{animation:entity-action-popover-enter .16s var(--motion-arrive) both;opacity:1;visibility:visible}.entity-action-popover__surface.is-positioned.is-closing{animation:entity-action-popover-exit var(--exit-duration) var(--motion-depart) both;pointer-events:none}.entity-action-popover__surface[data-placement=top-start]{transform-origin:bottom left}.entity-action-popover__surface[data-placement=top-end]{transform-origin:bottom right}.entity-action-popover__surface[data-placement=bottom-start]{transform-origin:top left}.entity-action-popover__surface[data-placement=bottom-end]{transform-origin:top right}.entity-action-popover__header{padding:16px 20px 0}.entity-action-popover__title{color:var(--kafka-flow-text);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:20px}.entity-action-popover__summary{color:var(--kafka-flow-muted);font-family:var(--font-mono);font-size:11px;font-weight:400;line-height:18px;margin-top:2px}.entity-action-popover__content{padding:15px 20px 16px}.entity-action-popover__surface:not(:has(.entity-action-popover__header)) .entity-action-popover__content{padding-top:16px}.entity-action-popover__footer{border-top:2px solid var(--kafka-flow-border);padding:8px 10px}.entity-action-popover__field{align-items:stretch;display:flex;flex-direction:column;gap:8px}.entity-action-popover__field+.entity-action-popover__field{margin-top:14px}.entity-action-popover__field-label{color:var(--kafka-flow-muted);font-family:var(--font-mono);font-size:11px;font-weight:400;line-height:16px}.entity-action-popover__field .kafka-flow-stepper{align-self:stretch;width:100%}.entity-action-popover__field .kafka-flow-stepper__value{flex:1 1 auto;min-width:0}.entity-action-popover__action{align-items:center;background:transparent;border:0;border-radius:var(--kafka-flow-radius-sm);color:var(--kafka-flow-text);cursor:pointer;display:flex;font:inherit;font-size:13px;font-weight:700;gap:12px;justify-content:space-between;min-height:38px;padding:0 10px;text-align:left;transition:background-color .14s ease,color .14s ease,opacity .14s ease;width:100%}.entity-action-popover__action:hover:not(:disabled){background:var(--kafka-flow-surface-hover)}.entity-action-popover__trigger:not(:disabled):active,.entity-action-popover__action:not(:disabled):active{background:var(--kafka-flow-press-fill);transition-duration:0ms}.entity-action-popover__action.is-destructive{color:var(--kafka-flow-danger)}.entity-action-popover__action.is-destructive:hover:not(:disabled){background:var(--kafka-flow-danger-surface, rgb(255 89 95 / 9%));color:var(--kafka-flow-danger-hover)}.entity-action-popover__action:disabled{cursor:not-allowed;opacity:.36}.entity-action-popover__action-label{min-width:0}.entity-action-popover__action-icon{align-items:center;display:inline-flex;flex:0 0 auto;font-size:15px;justify-content:center}.kafka-flow-settings-panel .entity-action-popover__content{display:flex;flex-direction:column;gap:18px}.kafka-flow-settings-panel__group{border:0;margin:0;min-width:0;padding:0}.kafka-flow-settings-panel__group-label{color:var(--kafka-flow-muted);font-size:11px;font-weight:700;letter-spacing:.1em;line-height:16px;padding:0;text-transform:uppercase}.kafka-flow-settings-panel__rows{display:flex;flex-direction:column;gap:10px;margin-top:10px}.kafka-flow-settings-panel .kafka-flow-labeled-control{gap:12px;justify-content:space-between}.kafka-flow-settings-panel .kafka-flow-speed__options{flex:1 1 auto;min-width:0}.kafka-flow-settings-panel .kafka-flow-speed__options button{flex:1 1 0;min-width:0;padding:0 6px}.kafka-flow-settings-panel .entity-action-popover__footer{padding:12px 20px 14px}.kafka-flow-settings-panel .kafka-flow-apply-bar{background:transparent;border:0;min-height:0;padding:0;position:static}.kafka-flow-settings-panel .kafka-flow-apply-bar .kafka-flow-button{min-width:0;width:100%}@keyframes entity-action-popover-enter{0%{opacity:0;transform:translateY(var(--popover-enter-y)) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes entity-action-popover-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(calc(var(--popover-enter-y) * .5)) scale(.98)}}@media(prefers-reduced-motion:reduce){.entity-action-popover__surface.is-positioned,.entity-action-popover__surface.is-positioned.is-closing{animation:none}.entity-action-popover__surface.is-positioned.is-closing{opacity:0}.entity-action-popover__trigger,.entity-action-popover__action{transition:none}}.kafka-concept-help,.kafka-concept-help__surface{box-sizing:border-box;color:var(--kafka-flow-text);font-family:var(--font-sans)}.kafka-concept-help{display:inline-flex;flex:0 0 auto}.kafka-concept-help__trigger{align-items:center;background:transparent;border:0;border-radius:var(--kafka-flow-radius-sm);color:var(--kafka-flow-muted);cursor:help;display:inline-flex;height:24px;justify-content:center;padding:0;transition:background-color .12s ease,color .12s ease;width:24px}.kafka-concept-help__trigger .anticon{font-size:14px;line-height:1}.kafka-concept-help__trigger:hover,.kafka-concept-help__trigger[data-open]{background:var(--kafka-flow-surface-hover);color:var(--kafka-flow-ink)}.kafka-concept-help__trigger:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:2px}.kafka-concept-help__surface{--popover-enter-y: -6px;background:var(--kafka-flow-popover);border:2px solid var(--kafka-flow-border);border-radius:var(--kafka-flow-radius-lg);box-shadow:var(--kafka-flow-popover-shadow, 6px 6px 0 #efeadb);max-height:calc(100vh - 24px);max-width:calc(100vw - 24px);opacity:0;overflow:auto;padding:14px 16px 15px;pointer-events:auto;position:fixed;transform:translateY(var(--popover-enter-y)) scale(.97);visibility:hidden;width:min(360px,calc(100vw - 24px));z-index:2200}.kafka-concept-help__surface.is-positioned{animation:kafka-concept-help-enter .16s var(--motion-arrive) both;opacity:1;visibility:visible}.kafka-concept-help__surface.is-positioned.is-closing{animation:kafka-concept-help-exit var(--exit-duration) var(--motion-depart) both;pointer-events:none}.kafka-concept-help__surface[data-placement=top]{--popover-enter-y: 6px;transform-origin:bottom center}.kafka-concept-help__surface[data-placement=bottom]{transform-origin:top center}.kafka-concept-help__title{color:var(--kafka-flow-text);font-size:13px;font-weight:700;letter-spacing:-.01em;line-height:18px}.kafka-concept-help__body{color:var(--kafka-flow-text-subtle);font-size:13px;font-weight:400;line-height:19px;margin-top:7px}.kafka-concept-help__body p{margin:0}.kafka-concept-help__body p+p{margin-top:7px}@keyframes kafka-concept-help-enter{0%{opacity:0;transform:translateY(var(--popover-enter-y)) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes kafka-concept-help-exit{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(calc(var(--popover-enter-y) * .5)) scale(.98)}}@media(prefers-reduced-motion:reduce){.kafka-concept-help__surface.is-positioned,.kafka-concept-help__surface.is-positioned.is-closing{animation:none}.kafka-concept-help__surface.is-positioned.is-closing{opacity:0}.kafka-concept-help__trigger{transition:none}}@media(forced-colors:active){.kafka-concept-help__surface{border-color:CanvasText}}.kafka-flow-app{background:var(--kafka-flow-background);color:var(--kafka-flow-text);display:flex;font-family:var(--font-sans);height:100vh;overflow:hidden;width:100vw}.simulation-pane{background:var(--kafka-flow-background);color:var(--kafka-flow-text);flex:1 0 0;font-family:var(--font-sans);font-size:14px;font-weight:400;height:100vh;line-height:1.5;min-width:768px;overflow-y:auto;overscroll-behavior:contain;position:relative;scrollbar-width:thin}.simulation-pane[data-playback-mode=restore] .simulation-pane__inner,.simulation-pane[data-playback-mode=restore] .simulation-pane__inner *,.simulation-pane[data-playback-mode=restore] .simulation-pane__inner *:before,.simulation-pane[data-playback-mode=restore] .simulation-pane__inner *:after{animation:none!important;transition:none!important}.simulation-pane button{cursor:pointer}.simulation-pane button:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:2px}.simulation-pane .kafka-flow-stepper button:focus-visible,.simulation-pane .kafka-flow-speed__options button:focus-visible,.simulation-pane .kafka-flow-acks-control__options button:focus-visible,.kafka-flow-settings-panel .kafka-flow-stepper button:focus-visible,.kafka-flow-settings-panel .kafka-flow-speed__options button:focus-visible{outline-offset:-2px}.simulation-pane__inner{margin:0;max-width:1280px;overflow-x:clip;overflow-y:visible;position:relative;width:100%;z-index:1}.simulation-animation-layer{top:0;right:0;bottom:0;left:0;overflow:clip;pointer-events:none;position:absolute;z-index:50}.simulation-transit-message{--transit-fade-in-duration: min( var(--motion-fade-in), calc(var(--transit-duration) / 3) );--transit-fade-out-duration: min( var(--motion-fade-out), calc(var(--transit-duration) / 3) );--transit-lands-at: calc(var(--transit-delay) + var(--transit-duration));--transit-travel-easing: var(--motion-travel);--transit-fades: simulation-transit-fade-in var(--transit-fade-in-duration) var(--motion-arrive) var(--transit-delay) both, simulation-transit-fade-out var(--transit-fade-out-duration) var(--motion-depart) calc(var(--transit-lands-at) - var(--transit-fade-out-duration)) forwards;animation:simulation-transit-travel var(--transit-duration) var(--transit-travel-easing) var(--transit-delay) both,var(--transit-fades);align-items:center;border:1px solid transparent;border-radius:var(--kafka-flow-radius-sm);display:inline-flex;font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;height:20px;justify-content:center;left:0;line-height:18px;opacity:0;overflow:hidden;position:absolute;text-overflow:ellipsis;top:0;white-space:nowrap;width:50px}.simulation-transit-message--produced,.simulation-transit-message--consumed{--transit-land-duration: min(.22s, calc(var(--transit-duration) * .45));animation:simulation-transit-travel var(--transit-duration) var(--transit-travel-easing) var(--transit-delay) both,var(--transit-fades),simulation-transit-land var(--transit-land-duration) var(--motion-arrive) calc(var(--transit-lands-at) - var(--transit-land-duration)) forwards;background:var(--transit-color)}.simulation-transit-message--replicated{background:color-mix(in srgb,var(--transit-color) 8%,transparent);border-color:var(--transit-color);color:var(--transit-color);font-weight:600}.simulation-transit-message--catch-up{background:color-mix(in srgb,var(--transit-color) 8%,var(--kafka-flow-control));border-color:var(--transit-color);color:var(--transit-color);font-weight:600}.simulation-transit-message--committed{background:var(--transit-color);border-color:var(--transit-color);border-radius:50%;color:var(--kafka-flow-on-badge);font-size:10px;height:16px;letter-spacing:.02em;line-height:14px;min-width:16px;padding:0 3px;width:auto}.simulation-transit-message--acknowledged{background:var(--transit-color);border-color:var(--transit-color);border-radius:999px;font-size:10px;letter-spacing:.04em;height:16px;line-height:14px;width:26px}.simulation-producer,.simulation-partition-row,.simulation-consumer{align-items:center;display:flex;min-width:0;position:relative}.simulation-stage-badge{align-items:center;background:var(--kafka-flow-background);border:1px solid var(--kafka-flow-line);border-radius:50%;color:var(--kafka-flow-muted);display:inline-flex;flex:0 0 30px;font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;height:30px;justify-content:center;line-height:28px;margin:5px;position:relative;width:30px;z-index:4}.simulation-message-rail{flex:1 0 auto;height:30px;min-width:650px;position:relative}.simulation-message-list{align-items:center;display:flex;gap:10px;height:30px;padding:0 5px;position:relative;width:max-content;z-index:2}.simulation-message-list.is-departing-prefix{--producer-departure-phase: .25;--producer-reflow-duration: min( var(--motion-reflow), calc( var(--simulation-tick-duration, 3s) * (1 - var(--producer-departure-phase)) ) )}.simulation-message-list.is-departing-prefix.is-departing-sent{--producer-departure-phase: .12}.simulation-message-list.is-departing-prefix.is-departing-acknowledged,.simulation-message-list.is-departing-prefix.is-departing-lost{--producer-departure-phase: .75}.simulation-message-list.is-departing-prefix.is-departing-failed{--producer-departure-phase: .15}.simulation-message-list.is-departing-prefix .simulation-message:not([data-producer-departure-prefix]){animation:simulation-producer-compact var(--producer-reflow-duration) var(--motion-arrive) calc(var(--simulation-tick-duration, 3s) * var(--producer-departure-phase)) both}.simulation-message{align-items:center;border:1px solid transparent;border-radius:var(--kafka-flow-radius-sm);display:inline-flex;flex:0 0 50px;font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:600;height:20px;justify-content:center;line-height:18px;opacity:calc(var(--record-alpha, 1) * var(--provisional-alpha, 1));position:relative;transition:background-color .2s var(--motion-arrive),border-color .2s var(--motion-arrive),box-shadow .2s var(--motion-arrive),filter .16s ease,opacity calc(var(--simulation-tick-duration, 3s) * .05) linear,transform calc(var(--simulation-tick-duration, 3s) * .25) var(--motion-arrive);width:50px}.simulation-message__label{font-variant-numeric:tabular-nums}.simulation-message__key-marker,.simulation-transit-message__key-marker{background:var(--message-key-color);border-radius:2px;height:6px;left:5px;pointer-events:none;position:absolute;top:4px;width:6px}.simulation-message--gap{visibility:hidden}.simulation-message-key-legend{align-items:center;color:var(--kafka-flow-muted);display:flex;font-size:12px;font-weight:500;gap:4px;height:28px;line-height:26px}.simulation-message-key-legend__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--kafka-flow-radius-sm);color:inherit;cursor:pointer;display:inline-flex;gap:4px;height:28px;justify-content:center;min-width:26px;padding:0 5px;transition:background-color .14s ease,border-color .14s ease,color .14s ease,opacity .14s ease}.simulation-message-key-legend__item.is-all{min-width:30px}.simulation-pane__inner[data-highlighted-message-key=A] :is(.simulation-message:not([data-message-key=A]),.simulation-transit-message:not([data-message-key=A])),.simulation-pane__inner[data-highlighted-message-key=B] :is(.simulation-message:not([data-message-key=B]),.simulation-transit-message:not([data-message-key=B])),.simulation-pane__inner[data-highlighted-message-key=C] :is(.simulation-message:not([data-message-key=C]),.simulation-transit-message:not([data-message-key=C])),.simulation-pane__inner[data-highlighted-message-key=D] :is(.simulation-message:not([data-message-key=D]),.simulation-transit-message:not([data-message-key=D])),.simulation-pane__inner[data-highlighted-message-key=E] :is(.simulation-message:not([data-message-key=E]),.simulation-transit-message:not([data-message-key=E])){filter:grayscale(1) saturate(0) opacity(.3)}.simulation-producer__meta{align-items:center;display:flex;gap:18px;justify-content:flex-start;min-width:0}.simulation-message-key-legend__swatch{background:var(--message-key-color);border-radius:2px;height:6px;width:6px}.simulation-message.is-queued{background:var(--kafka-flow-background);border-color:var(--kafka-flow-line);color:var(--kafka-flow-muted)}.simulation-message:is(.is-producer-queue-in-flight,.is-producer-queue-transmitting,.is-producer-queue-departing){border-color:transparent}.simulation-message.is-producer-queue-upcoming{background:var(--kafka-flow-background);border-color:var(--kafka-flow-line);color:var(--kafka-flow-muted)}.simulation-message.is-producer-queue-departing{animation:simulation-producer-ghost var(--producer-reflow-duration) var(--motion-depart) calc(var(--simulation-tick-duration, 3s) * var(--producer-departure-phase)) both;z-index:3}.simulation-message--replica{--record-alpha: .62}.simulation-message.is-protocol-uncommitted{--provisional-alpha: .76}.simulation-message.is-protocol-committed{box-shadow:inset 0 -2px 0 var(--partition-color)}.simulation-high-watermark-marker,.simulation-share-window-marker{left:0;position:absolute;transition:transform calc(var(--simulation-tick-duration, 3s) * .18) var(--motion-arrive);width:2px;z-index:4}.simulation-high-watermark-marker{background:var(--partition-color);border-radius:999px;bottom:3px;opacity:.88;pointer-events:none;top:3px;transform:translate3d(var(--high-watermark-offset, 0),0,0)}.simulation-message.is-arriving-leader,.simulation-message.is-arriving-replica,.simulation-message.is-arriving-catch-up,.simulation-message.is-arriving-consumer{animation:simulation-arrival-settle var(--motion-settle-duration) var(--motion-settle) var(--arrival-delay, 0ms) both}.simulation-message.is-arriving-leader{--arrival-delay: calc( var(--simulation-tick-duration, 3s) * var(--protocol-produce-arrival) )}.simulation-message.is-arriving-consumer{--arrival-delay: calc( var(--simulation-tick-duration, 3s) * var(--protocol-consume-arrival) )}.simulation-message__outcome{align-items:center;border-radius:50%;display:inline-flex;font-family:var(--font-mono);font-size:10px;font-weight:600;height:13px;justify-content:center;line-height:1;position:absolute;right:-4px;top:-5px;width:13px}.simulation-message__commits{--provisional-alpha: 1;--record-alpha: 1;align-items:center;display:flex;gap:2px;left:50%;position:absolute;top:17px;transform:translate(-50%);z-index:5}.simulation-message__commits>span{align-items:center;background:var(--consumer-color, var(--partition-color));border:1px solid var(--consumer-color, var(--partition-color));border-radius:50%;display:inline-flex;font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;font-weight:600;height:16px;justify-content:center;letter-spacing:.02em;line-height:14px;min-width:16px;padding-inline:3px}.simulation-message__commits>span:not(:only-child){margin-inline:-4px}.simulation-message__commits>span,.simulation-share-window-marker{cursor:help}.simulation-message__commits>span.is-pending-commit{opacity:0;visibility:hidden}.simulation-message__commits>span.is-arriving-commit{animation:simulation-arrival-settle var(--motion-settle-duration) var(--motion-settle) calc(var(--simulation-tick-duration, 3s) * var(--protocol-commit-arrival)) both}.simulation-message__commits>span.is-retiring-commit{animation:simulation-commit-retire var(--motion-fade-out) var(--motion-depart) calc(var(--simulation-tick-duration, 3s) * var(--protocol-commit-retire)) both}.simulation-message__commits>span[class^=is-share-]{position:relative}.simulation-message__commits>span.is-share-acquired,.simulation-message__commits>span.is-share-available{border-radius:var(--kafka-flow-radius)}.simulation-message__share-lock{border-radius:999px;bottom:-6px;height:3px;left:0;position:absolute;right:0}.simulation-message__share-lock:after{animation:simulation-share-lock-drain calc(var(--simulation-tick-duration, 3s) * var(--share-lock-ticks, 4)) linear both;border-radius:inherit;content:"";top:0;right:0;bottom:0;left:0;position:absolute;transform-origin:right center}@keyframes simulation-share-lock-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.simulation-share-window-marker{border-radius:999px;bottom:5px;font-family:var(--font-mono);font-size:9px;font-weight:700;letter-spacing:.02em;line-height:1;top:5px;transform:translate3d(var(--share-window-offset, 0),0,0)}.simulation-share-window-marker>span{border-radius:var(--kafka-flow-radius-sm);left:50%;padding:2px 3px;position:absolute;top:calc(100% + 5px);transform:translate(-50%,-50%);white-space:nowrap}.simulation-broker{align-items:center;display:flex;margin:40px 0;min-height:30px;min-width:0;position:relative}.simulation-entity-summary__transition{color:var(--kafka-flow-reassignment)}.simulation-entity-summary.has-transition{align-items:flex-start;display:flex;flex-direction:column;white-space:normal}.simulation-broker__partitions{display:grid;flex:1 0 auto;gap:0;min-width:0;transition:opacity .2s ease}.kafka-flow-app .simulation-partition-row,.kafka-flow-app .simulation-consumer{min-height:var(--kafka-flow-lane-height)}.simulation-lane-hint{border-radius:999px;cursor:help;flex:0 0 auto;height:auto;justify-content:flex-start;width:auto}.simulation-lane-hint:hover,.simulation-lane-hint[data-open]{background:transparent}.kafka-flow-app .simulation-partition-marker[data-status-kind] .simulation-partition-badge:after{animation:kafka-flow-lane-signal 1.8s ease-in-out infinite;border-radius:inherit;content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.kafka-flow-app .simulation-partition-marker[data-status-kind=out-of-sync] .simulation-partition-badge:after{content:none}@keyframes kafka-flow-lane-signal{0%,to{box-shadow:0 0 color-mix(in srgb,var(--lane-signal) 0%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--lane-signal) 45%,transparent)}}.simulation-consumer-badge{font-weight:600;margin-right:0}@keyframes simulation-producer-compact{0%{transform:translate(0)}to{transform:translate(calc(0px - var(--producer-shift-distance, 82px)))}}@keyframes simulation-producer-ghost{0%{opacity:1}to{opacity:0}}@keyframes simulation-transit-travel{0%{transform:translate3d(var(--transit-x0),var(--transit-y0),0)}to{transform:translate3d(var(--transit-x1),var(--transit-y1),0)}}@keyframes simulation-transit-fade-in{0%{opacity:0}to{opacity:1}}@keyframes simulation-transit-fade-out{0%{opacity:1}to{opacity:0}}@keyframes simulation-transit-land{to{background-color:var(--kafka-flow-record);border-color:var(--kafka-flow-record-border);color:var(--kafka-flow-text)}}@keyframes simulation-arrival-settle{0%{opacity:0;transform:scale(var(--arrival-settle-scale, .96));visibility:hidden}0.01%{visibility:visible}30%{opacity:calc(var(--record-alpha, 1) * var(--provisional-alpha, 1))}to{opacity:calc(var(--record-alpha, 1) * var(--provisional-alpha, 1));transform:scale(1)}}@keyframes simulation-commit-retire{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(var(--commit-retire-scale, .94));visibility:hidden}}@media(max-width:767px){.kafka-flow-app{flex-direction:column}.simulation-pane{flex:1 0 0;height:50vh;max-width:none;min-height:0;min-width:100%;width:100%}.simulation-section-heading{margin-bottom:30px}}@media(prefers-reduced-motion:reduce){.simulation-transit-message{--transit-travel-easing: steps(2, jump-none)}.simulation-message,.simulation-message__commits>span{--arrival-settle-scale: 1;--commit-retire-scale: 1}.kafka-flow-app .simulation-partition-marker[data-status-kind] .simulation-partition-badge:after{animation:none;box-shadow:0 0 0 4px color-mix(in srgb,var(--lane-signal) 45%,transparent)}.simulation-message-list.is-departing-prefix .simulation-message:not([data-producer-departure-prefix]){animation-timing-function:steps(1,end)}.simulation-high-watermark-marker,.simulation-share-window-marker{transition:none}.simulation-message__share-lock:after{animation-timing-function:steps(var(--share-lock-ticks, 4),end)}.simulation-message{transition-property:background-color,border-color,box-shadow,filter,opacity}}@font-face{font-display:swap;font-family:Space Grotesk;font-style:normal;font-weight:400 700;src:url(/assets/fonts/space-grotesk-latin.woff2) format("woff2")}@font-face{font-display:swap;font-family:Space Mono;font-style:normal;font-weight:400;src:url(/assets/fonts/space-mono-400-latin.woff2) format("woff2")}@font-face{font-display:swap;font-family:Space Mono;font-style:normal;font-weight:700;src:url(/assets/fonts/space-mono-700-latin.woff2) format("woff2")}@font-face{font-display:swap;font-family:Bricolage Grotesque;font-style:normal;font-weight:800;src:url(/assets/fonts/bricolage-grotesque-wordmark.woff2) format("woff2");unicode-range:U+0020-007E}@font-face{font-display:swap;font-family:Kafka Flow Wordmark Fallback;font-style:normal;font-weight:700;size-adjust:85.23%;src:local("Space Grotesk"),url(/assets/fonts/space-grotesk-latin.woff2) format("woff2")}:root{--font-sans: "Space Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "Space Mono", ui-monospace, "SFMono-Regular", "Cascadia Mono", "Roboto Mono", Consolas, monospace;--font-wordmark: "Bricolage Grotesque", "Kafka Flow Wordmark Fallback", var(--font-sans);font-family:var(--font-sans);font-synthesis:none}html,body,#root{height:100%;width:100%}*,*:before,*:after{box-sizing:border-box}body{background:var(--kafka-flow-background);color:var(--kafka-flow-text);font-family:var(--font-sans);font-size:14px;font-weight:400;font-kerning:normal;line-height:1.5715;margin:0;min-height:100vh;min-width:320px;overflow:hidden;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body:has(.kafka-flow-static-fallback){overflow:auto}.kafka-flow-static-fallback{background:var(--kafka-flow-background, #f6f6f4);color:var(--kafka-flow-text, #151515);font-family:ui-sans-serif,system-ui,sans-serif;line-height:1.6;margin:32px auto;max-width:760px;padding:32px}.kafka-flow-static-fallback h1,.kafka-flow-static-fallback h2{line-height:1.15}.kafka-flow-static-fallback a{color:inherit;text-decoration-thickness:2px;text-underline-offset:3px}button{color:inherit;font:inherit;-webkit-tap-highlight-color:transparent}img{max-width:100%}:root[data-theme-switching] *,:root[data-theme-switching] *:before,:root[data-theme-switching] *:after{transition:none!important}.visually-hidden{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important}}:root{color-scheme:dark;--kafka-flow-background: #161616;--kafka-flow-surface: #1f1f1f;--kafka-flow-surface-hover: #2c2c2c;--kafka-flow-canvas: #191919;--kafka-flow-record: #272727;--kafka-flow-control: #1f1f1f;--kafka-flow-ink: #f2f2ee;--kafka-flow-border: #f2f2ee;--kafka-flow-rule: #3a3a38;--kafka-flow-record-border: #5c5c58;--kafka-flow-text: #f5f5f2;--kafka-flow-muted: #9c9c97;--kafka-flow-text-subtle: #d0d0cb;--kafka-flow-accent: #ff6699;--kafka-flow-accent-selected: #ff6699;--kafka-flow-accent-fill: #ff6699;--kafka-flow-accent-fill-hover: #ff548d;--kafka-flow-focus: #f2f2ee;--kafka-flow-offline: #fc4761;--kafka-flow-out-of-sync-border: #6b2430;--kafka-flow-out-of-sync-surface: #24151a;--kafka-flow-danger: #ff595f;--kafka-flow-danger-hover: #ff6b70;--kafka-flow-danger-surface: rgb(255 89 95 / 9%);--kafka-flow-reassignment: #d67002;--kafka-flow-reassignment-ready: #639858;--kafka-flow-icon-filter: brightness(0) invert(.95);--kafka-flow-line: #f2f2ee;--kafka-flow-scroll-thumb: #6a6a66;--kafka-flow-sticky-shadow: 8px 0 8px -8px rgb(0 0 0 / 80%);--kafka-flow-popover: #1f1f1f;--kafka-flow-producer-background: #1f1f1f;--kafka-flow-producer-border: #f2f2ee;--kafka-flow-producer-text: #f5f5f2;--kafka-flow-queued-background: #272727;--kafka-flow-queued-border: #f2f2ee;--kafka-flow-queued-text: #f5f5f2;--kafka-flow-on-accent: #111111;--kafka-flow-on-badge: #081311;--kafka-flow-on-transit: #101828;--kafka-flow-hue-text-l-min: .72;--kafka-flow-hue-text-l-max: 1;--kafka-flow-shadow-hard-sm: 2px 2px 0 #f2f2ee;--kafka-flow-shadow-hard: 4px 4px 0 #f2f2ee;--kafka-flow-popover-shadow: 6px 6px 0 #f2f2ee;--partition-1: #fcc000;--partition-2: #00b567;--partition-3: #55d8ff;--partition-4: #367eff;--partition-5: #f100ca;--consumer-1: #ffb283;--consumer-2: #a6da00;--consumer-3: #00d5c1;--consumer-4: #009aef;--consumer-5: #e0baff;--message-key-a: #ffb288;--message-key-b: #c2d400;--message-key-c: #00d5c6;--message-key-d: #0090da;--message-key-e: #c8aaff;--kafka-flow-radius-sm: 2px;--kafka-flow-radius: 3px;--kafka-flow-radius-lg: 4px;--motion-depart: cubic-bezier(.4, 0, 1, 1);--motion-travel: cubic-bezier(.4, 0, .2, 1);--motion-arrive: cubic-bezier(.16, 1, .3, 1);--motion-settle: cubic-bezier(.34, 1.26, .64, 1);--motion-fade-in: .1s;--motion-fade-out: 90ms;--motion-settle-duration: .18s;--motion-reflow: .28s;--kafka-flow-focus-ring: 2px solid var(--kafka-flow-focus);--kafka-flow-press-fill: color-mix( in srgb, var(--kafka-flow-text) 10%, var(--kafka-flow-surface-hover) );--kafka-flow-gutter: 24px;--kafka-flow-entity-column: 120px}:root[data-theme=light]{color-scheme:light;--kafka-flow-background: #f6f6f3;--kafka-flow-surface: #ffffff;--kafka-flow-surface-hover: #ecece8;--kafka-flow-canvas: #f6f6f3;--kafka-flow-record: #ffffff;--kafka-flow-control: #ffffff;--kafka-flow-ink: #111111;--kafka-flow-border: #111111;--kafka-flow-rule: #dcdcd7;--kafka-flow-record-border: #a6a6a0;--kafka-flow-text: #111111;--kafka-flow-muted: #66665f;--kafka-flow-text-subtle: #3d3d3a;--kafka-flow-accent: #ff7eb3;--kafka-flow-accent-selected: #ff7eb3;--kafka-flow-accent-fill: #ff7eb3;--kafka-flow-accent-fill-hover: #ff6aa7;--kafka-flow-focus: #111111;--kafka-flow-offline: #751a2d;--kafka-flow-out-of-sync-border: #d79aa6;--kafka-flow-out-of-sync-surface: #fdf0f2;--kafka-flow-danger: #c4322c;--kafka-flow-danger-hover: #9f2925;--kafka-flow-danger-surface: rgb(196 50 44 / 8%);--kafka-flow-reassignment: #8a5200;--kafka-flow-reassignment-ready: #0f6b2a;--kafka-flow-icon-filter: brightness(0);--kafka-flow-line: #111111;--kafka-flow-scroll-thumb: #b4b4ae;--kafka-flow-sticky-shadow: 8px 0 8px -8px rgb(17 17 17 / 22%);--kafka-flow-popover: #ffffff;--kafka-flow-producer-background: #ffffff;--kafka-flow-producer-border: #111111;--kafka-flow-producer-text: #111111;--kafka-flow-queued-background: #ffffff;--kafka-flow-queued-border: #111111;--kafka-flow-queued-text: #111111;--kafka-flow-on-accent: #111111;--kafka-flow-on-badge: #fff;--kafka-flow-on-transit: #fff;--kafka-flow-hue-text-l-min: 0;--kafka-flow-hue-text-l-max: .52;--kafka-flow-shadow-hard-sm: 2px 2px 0 #111111;--kafka-flow-shadow-hard: 4px 4px 0 #111111;--kafka-flow-popover-shadow: 6px 6px 0 #111111;--partition-1: #bd0045;--partition-2: #5aa200;--partition-3: #0081d0;--partition-4: #4628ff;--partition-5: #f300fb;--consumer-1: #f16600;--consumer-2: #00a38f;--consumer-3: #0060a9;--consumer-4: #ad5dff;--consumer-5: #a50066;--message-key-a: #ff534b;--message-key-b: #009b45;--message-key-c: #0059ac;--message-key-d: #b265ff;--message-key-e: #9b006b}.kafka-flow-app{--kafka-flow-overlay-height: 36px;--kafka-flow-overlay-inset: 68px;--kafka-flow-pane-inset: 32px;--kafka-flow-lane-marker-inset: 14px;--kafka-flow-lane-marker-width: 65px;--kafka-flow-lane-height: 50px;background:var(--kafka-flow-background);color:var(--kafka-flow-text);font-family:var(--font-sans);font-weight:400;position:relative}.kafka-flow-masthead,.kafka-flow-transport,.kafka-flow-stepper,.kafka-flow-button,.kafka-flow-topology-controls,.kafka-flow-apply-bar{color:var(--kafka-flow-text);font-family:var(--font-sans)}.kafka-flow-icon{display:block;flex:0 0 auto;filter:var(--kafka-flow-icon-filter);height:14px;object-fit:contain;opacity:.9;width:14px}.kafka-flow-button,.kafka-flow-stepper button,.kafka-flow-speed__options button,.kafka-flow-acks-control__options button{align-items:center;background:transparent;border:0;color:var(--kafka-flow-text);cursor:pointer;display:inline-flex;justify-content:center;transition:background-color .14s ease,border-color .14s ease,box-shadow .1s ease,color .14s ease,opacity .14s ease,transform .1s ease}.kafka-flow-button:focus-visible,.kafka-flow-stepper button:focus-visible,.kafka-flow-speed__options button:focus-visible,.kafka-flow-acks-control__options button:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:2px;position:relative;z-index:2}.kafka-flow-stepper button:not(:disabled):active,.kafka-flow-speed__options button:not(:disabled):active,.kafka-flow-acks-control__options button:not(:disabled):active,.simulation-message-key-legend__item:active{background:var(--kafka-flow-press-fill);transition-duration:0ms}.kafka-flow-button:disabled,.kafka-flow-button[aria-disabled=true],.kafka-flow-stepper button:disabled,.kafka-flow-speed__options button:disabled,.kafka-flow-acks-control__options button:disabled{background:transparent;color:var(--kafka-flow-muted);cursor:not-allowed;opacity:.75}.kafka-flow-button:disabled,.kafka-flow-button[aria-disabled=true]{border-color:color-mix(in srgb,var(--kafka-flow-ink) 45%,transparent);box-shadow:none;transform:none}.kafka-flow-button{border:2px solid var(--kafka-flow-border);border-radius:var(--kafka-flow-radius);font-size:13px;font-weight:700;gap:9px;height:36px;padding:0 14px;white-space:nowrap}.kafka-flow-button--quiet{background:var(--kafka-flow-surface);box-shadow:var(--kafka-flow-shadow-hard-sm)}.kafka-flow-button--quiet:not(:disabled):not([aria-disabled=true]):hover{box-shadow:3px 3px 0 var(--kafka-flow-ink);transform:translate(-1px,-1px)}.kafka-flow-button--icon{flex:0 0 36px;padding:0;width:36px}.kafka-flow-button--quiet[aria-expanded=true]{background:var(--kafka-flow-surface-hover)}.kafka-flow-live-controls{border:0;display:inline-flex;margin:0;min-width:0;padding:0}.kafka-flow-button--primary{background:var(--kafka-flow-accent-fill);border-color:var(--kafka-flow-ink);box-shadow:var(--kafka-flow-shadow-hard-sm);color:var(--kafka-flow-on-accent);min-width:136px}.kafka-flow-button--primary:not(:disabled):hover{background:var(--kafka-flow-accent-fill-hover);box-shadow:3px 3px 0 var(--kafka-flow-ink);transform:translate(-1px,-1px)}.kafka-flow-button:not(:disabled):not([aria-disabled=true]):active{box-shadow:0 0 0 var(--kafka-flow-ink);transform:translate(2px,2px);transition-duration:0ms}.kafka-flow-masthead{align-items:center;column-gap:16px;display:flex;flex-wrap:wrap;justify-content:space-between;min-height:40px;padding:0 4px;row-gap:10px}.kafka-flow-masthead__controls{column-gap:12px;flex-wrap:wrap;justify-content:flex-end;margin-left:auto;row-gap:8px}.kafka-flow-transport{align-items:center;display:flex;gap:6px}.kafka-flow-brand{color:var(--kafka-flow-text);display:block;flex:0 0 auto;font-family:var(--font-wordmark);font-size:clamp(26px,4.4vw,34px);font-weight:800;letter-spacing:-.005em;line-height:.86;margin:0;min-width:0;white-space:nowrap}.kafka-flow-brand__flow{background:var(--kafka-flow-accent-fill);border:2px solid var(--kafka-flow-ink);border-radius:var(--kafka-flow-radius-sm);box-shadow:var(--kafka-flow-shadow-hard-sm);color:var(--kafka-flow-on-accent);display:inline-block;margin-inline:.04em .34em;padding:.06em .15em;vertical-align:baseline}.kafka-flow-brand__caret{animation:kafka-flow-caret-blink 1.2s steps(1,end) infinite;background:var(--kafka-flow-ink);border-radius:var(--kafka-flow-radius-sm);display:inline-block;height:.5em;vertical-align:baseline;width:.34em}@keyframes kafka-flow-caret-blink{0%,64%{opacity:1}65%,to{opacity:0}}.kafka-flow-masthead__controls,.kafka-flow-speed__options{align-items:center;display:flex}.kafka-flow-control-label{color:var(--kafka-flow-muted);font-family:var(--font-mono);font-size:11px;font-weight:400;letter-spacing:0;line-height:1;white-space:nowrap}.kafka-flow-control-label,.simulation-section-heading__title{align-items:center;display:inline-flex;gap:4px}.kafka-flow-speed__options,.kafka-flow-stepper,.kafka-flow-acks-control__options{border:2px solid var(--kafka-flow-border);border-radius:var(--kafka-flow-radius);display:inline-flex;overflow:hidden}.kafka-flow-speed__options button,.kafka-flow-acks-control__options button{border-right:2px solid var(--kafka-flow-border);font-family:var(--font-mono);font-size:12px;font-weight:700;height:26px;padding:0 10px}.kafka-flow-speed__options button{min-width:46px}.kafka-flow-acks-control__options{background:var(--kafka-flow-control)}.kafka-flow-acks-control__options button{min-width:42px}.kafka-flow-speed__options button:last-child,.kafka-flow-acks-control__options button:last-child{border-right:0}.kafka-flow-speed__options button:not(.is-selected):hover,.kafka-flow-acks-control__options button:not(.is-selected):hover{background:var(--kafka-flow-surface-hover)}.kafka-flow-speed__options button.is-selected,.kafka-flow-acks-control__options button.is-selected{background:var(--kafka-flow-accent-selected);color:var(--kafka-flow-on-accent)}.kafka-flow-topology-controls,.kafka-flow-labeled-control{align-items:center;display:flex}.kafka-flow-topology-controls{flex-wrap:wrap;gap:12px 28px;justify-content:flex-end}.kafka-flow-labeled-control{gap:12px}.kafka-flow-stepper{background:var(--kafka-flow-control);min-height:26px}.kafka-flow-stepper button{border-right:2px solid var(--kafka-flow-border);height:26px;padding:0;width:26px}.kafka-flow-stepper button:last-child{border-left:2px solid var(--kafka-flow-border);border-right:0}.kafka-flow-stepper button:not(:disabled):hover{background:var(--kafka-flow-surface-hover)}.kafka-flow-stepper button .kafka-flow-icon{height:12px;width:12px}.kafka-flow-stepper button .kafka-flow-stepper__decrement-icon{height:10px;opacity:.72;width:10px}.kafka-flow-stepper__value{align-items:center;color:var(--kafka-flow-text);display:inline-flex;font-family:var(--font-mono);font-size:13px;font-variant-numeric:tabular-nums;font-weight:700;justify-content:center;line-height:26px;min-width:52px;padding:0 10px;white-space:nowrap}.kafka-flow-apply-bar{align-items:center;background:color-mix(in srgb,var(--kafka-flow-background) 96%,transparent);border-top:1px solid transparent;bottom:0;display:flex;justify-content:flex-end;min-height:68px;padding:12px 0;position:sticky;z-index:80}.kafka-flow-app .simulation-pane{background:var(--kafka-flow-background);color:var(--kafka-flow-text);display:flex;flex-direction:column;flex:1 1 auto;height:100dvh;min-width:0;overflow-x:auto;overflow-y:auto;padding:var(--kafka-flow-pane-inset);scrollbar-color:var(--kafka-flow-scroll-thumb) transparent;width:100%}.kafka-flow-app .simulation-pane__inner{flex:1 0 auto;max-width:none;overflow-x:visible;padding-bottom:calc(var(--kafka-flow-overlay-inset) + var(--kafka-flow-overlay-height));padding-right:4px}.kafka-flow-app .simulation-about{align-items:center;color:var(--kafka-flow-muted);display:flex;flex:0 0 auto;font-family:var(--font-mono);font-size:11px;font-weight:400;justify-content:center;letter-spacing:0;line-height:18px;left:0;min-height:52px;padding:16px 24px 8px;position:sticky;text-align:center;width:min(calc(100vw - var(--kafka-flow-pane-inset) * 2),100%)}.kafka-flow-app .simulation-about p{margin:0;max-width:760px}.kafka-flow-app .simulation-about a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}.kafka-flow-app .simulation-about a:hover{text-decoration-thickness:2px}.kafka-flow-app .simulation-pane__toolbar{left:0;margin-bottom:14px;position:sticky;width:min(calc(100vw - var(--kafka-flow-pane-inset) * 2),100%);z-index:100}.kafka-flow-app .simulation-stage{background:var(--kafka-flow-surface);border:2px solid var(--kafka-flow-border);border-radius:var(--kafka-flow-radius-lg);box-shadow:var(--kafka-flow-shadow-hard);margin:0 0 18px;min-width:860px;overflow:hidden}.kafka-flow-app .simulation-section-heading{align-items:center;background:var(--kafka-flow-surface);border-bottom:2px solid var(--kafka-flow-border);color:var(--kafka-flow-text);display:flex;flex-wrap:wrap;font-size:13px;font-weight:700;gap:12px 24px;justify-content:space-between;line-height:1.25;margin:0;min-height:48px;padding:9px var(--kafka-flow-gutter);white-space:normal}.kafka-flow-app .simulation-section-heading__label{font:inherit;letter-spacing:.12em;margin:0;text-transform:uppercase}.kafka-flow-app .simulation-section-heading__title{flex:0 0 auto}.kafka-flow-app .simulation-section-heading__actions{align-items:center;display:flex;flex:1 1 auto;justify-content:flex-end;min-width:0}.kafka-flow-app .simulation-producer{align-items:stretch;display:grid;grid-template-rows:40px 28px;margin:0;min-height:96px;padding:15px var(--kafka-flow-gutter) 8px;row-gap:5px}.kafka-flow-app .simulation-stage-badge{background:var(--kafka-flow-control);border-color:var(--kafka-flow-ink);color:var(--kafka-flow-muted)}.kafka-flow-app .simulation-message--producer{background:var(--kafka-flow-producer-background);border-color:var(--kafka-flow-producer-border);color:var(--kafka-flow-producer-text);font-weight:700}.kafka-flow-app .simulation-message--producer.is-queued,.kafka-flow-app .simulation-message--producer.is-producer-queue-in-flight{background:var(--kafka-flow-queued-background);border-color:var(--kafka-flow-queued-border);box-shadow:var(--kafka-flow-shadow-hard-sm);color:var(--kafka-flow-queued-text)}.kafka-flow-app .simulation-message--producer.is-producer-queue-upcoming{background:transparent;border-color:color-mix(in srgb,var(--kafka-flow-producer-border) 45%,transparent);border-style:dashed;color:color-mix(in srgb,var(--kafka-flow-producer-text) 55%,transparent)}.kafka-flow-app .simulation-message--producer.is-producer-preview-start:before{background:var(--kafka-flow-rule);bottom:4px;content:"";left:-10px;position:absolute;top:4px;width:1px}.kafka-flow-app .simulation-message-key-legend{color:var(--kafka-flow-text-subtle)}.kafka-flow-app .simulation-message-key-legend__title{color:var(--kafka-flow-muted);font-family:var(--font-mono);font-size:11px;font-weight:400}.kafka-flow-app .simulation-message-key-legend__item{color:var(--kafka-flow-text-subtle);font-family:var(--font-mono);font-weight:700}.kafka-flow-app .simulation-message-key-legend__item:hover{background:var(--kafka-flow-surface-hover);color:var(--kafka-flow-text)}.kafka-flow-app .simulation-message-key-legend__item:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:2px}.kafka-flow-app .simulation-message-key-legend__item[aria-pressed=true]{background:color-mix(in srgb,var(--message-key-color, var(--kafka-flow-accent)) 18%,var(--kafka-flow-control));border-color:var(--kafka-flow-ink);color:var(--kafka-flow-text)}.kafka-flow-app .simulation-pane__inner[data-highlighted-message-key] .simulation-message-key-legend__item:not([aria-pressed=true]){opacity:.72}.kafka-flow-app .simulation-message-rail,.kafka-flow-app .simulation-message-list{height:40px}.kafka-flow-app .simulation-producer .simulation-message-rail{-webkit-mask-image:linear-gradient(90deg,#000 0 60%,color-mix(in srgb,#000 25%,transparent) 100%);mask-image:linear-gradient(90deg,#000 0,#000 60%,color-mix(in srgb,#000 25%,transparent))}.kafka-flow-app .simulation-message-list{gap:18px}.kafka-flow-app .simulation-message{border-radius:var(--kafka-flow-radius-sm);flex-basis:64px;height:32px;line-height:30px;width:64px}.kafka-flow-app .simulation-message__commits{top:27px}.kafka-flow-app .simulation-message__commits>span{border-color:var(--consumer-color, var(--partition-color));color:var(--kafka-flow-on-badge);color:oklch(from var(--consumer-color, var(--partition-color)) clamp(0,(.55 - l) * 100000,1) 0 0)}.kafka-flow-app .simulation-message__commits>span.is-share-available{background:transparent;border-color:var(--kafka-flow-ink);color:var(--kafka-flow-ink)}.kafka-flow-app .simulation-message__commits>span.is-share-archived{background:var(--kafka-flow-offline);border-color:var(--kafka-flow-offline);color:oklch(from var(--kafka-flow-offline) clamp(0,(.55 - l) * 100000,1) 0 0)}.kafka-flow-app .simulation-message__share-lock:after{background:var(--consumer-color)}.kafka-flow-app .simulation-share-window-marker{background:var(--kafka-flow-ink)}.kafka-flow-app .simulation-share-window-marker>span{background:var(--kafka-flow-ink);color:var(--kafka-flow-surface)}.kafka-flow-app .simulation-transit-message{border-color:var(--kafka-flow-ink);border-radius:var(--kafka-flow-radius-sm);box-shadow:var(--kafka-flow-shadow-hard-sm);height:32px;line-height:30px;width:64px}.kafka-flow-app .simulation-transit-message--committed{border-color:var(--transit-color);border-radius:50%;color:var(--kafka-flow-on-badge);color:oklch(from var(--transit-color) clamp(0,(.55 - l) * 100000,1) 0 0);height:20px;line-height:18px;min-width:20px;width:auto}.kafka-flow-app .simulation-transit-message--acknowledged{border-radius:999px;color:var(--kafka-flow-on-transit);color:oklch(from var(--transit-color) clamp(0,(.55 - l) * 100000,1) 0 0);font-size:11px;height:20px;letter-spacing:.06em;line-height:18px;width:36px}.kafka-flow-app .simulation-transit-message--produced,.kafka-flow-app .simulation-transit-message--consumed{color:var(--kafka-flow-on-transit);color:oklch(from var(--transit-color) clamp(0,(.55 - l) * 100000,1) 0 0)}.kafka-flow-app .simulation-transit-message--replicated,.kafka-flow-app .simulation-transit-message--catch-up{color:oklch(from var(--transit-color) clamp(var(--kafka-flow-hue-text-l-min),l,var(--kafka-flow-hue-text-l-max)) c h)}.kafka-flow-app .simulation-brokers,.kafka-flow-app .simulation-consumers{background:var(--kafka-flow-canvas)}.kafka-flow-app .simulation-broker{display:grid;grid-template-columns:var(--kafka-flow-entity-column) minmax(0,1fr);margin:0;min-height:72px}.kafka-flow-app .simulation-broker:not(:last-child),.kafka-flow-app .simulation-consumer-group:not(:last-child){border-bottom:1px solid var(--kafka-flow-rule)}.kafka-flow-app .simulation-broker__identity,.kafka-flow-app .simulation-consumer-group__label{align-content:center;align-self:stretch;background:var(--kafka-flow-surface);border-right:1px solid var(--kafka-flow-rule);color:var(--kafka-flow-text);display:grid;gap:6px;grid-template-columns:minmax(0,1fr);justify-items:start;min-width:0;padding:0 8px 0 var(--kafka-flow-gutter)}.kafka-flow-app .simulation-entity-copy{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-width:0}.kafka-flow-app .simulation-entity-name{align-items:center;display:flex;gap:2px;min-width:0}.kafka-flow-app .simulation-broker__label,.kafka-flow-app .simulation-entity-name__text{color:var(--kafka-flow-text);font-size:14px;font-weight:700;letter-spacing:-.01em;line-height:18px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kafka-flow-app .simulation-entity-summary{color:var(--kafka-flow-muted);font-family:var(--font-mono);font-size:11px;font-weight:400;line-height:16px;overflow-wrap:anywhere}.kafka-flow-app .simulation-entity-summary.has-transition{line-height:14px}.kafka-flow-app .simulation-entity-summary__transition{font-size:10px;font-weight:700;line-height:14px}.kafka-flow-app .simulation-broker.is-offline .simulation-entity-summary{color:var(--kafka-flow-offline)}.kafka-flow-app .simulation-entity-actions{align-items:center;display:inline-flex;justify-content:flex-start;margin-left:-8px;min-width:0}.kafka-flow-app .simulation-broker.is-offline .simulation-broker__partitions{opacity:.78}.kafka-flow-app .simulation-broker__partitions{align-self:stretch;min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:8px 24px 10px 0;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-x pan-y}.kafka-flow-app .simulation-broker__partitions.is-empty{align-items:center;display:flex}.kafka-flow-app .simulation-broker__empty{color:var(--kafka-flow-muted);font-size:12px;padding-left:var(--kafka-flow-lane-marker-width);white-space:nowrap}.kafka-flow-app .simulation-partition-marker,.kafka-flow-app .simulation-consumer-marker{align-items:center;align-self:stretch;background:var(--kafka-flow-canvas);box-shadow:var(--kafka-flow-sticky-shadow);display:inline-flex;flex:0 0 var(--kafka-flow-lane-marker-width);left:0;padding-left:var(--kafka-flow-lane-marker-inset);position:sticky;z-index:7}.kafka-flow-app .simulation-partition-marker .simulation-stage-badge{margin:5px 0 5px 5px}.kafka-flow-app .simulation-partition-marker[data-status-kind]{--lane-signal: var(--kafka-flow-reassignment)}.kafka-flow-app .simulation-partition-marker[data-status-kind=ready]{--lane-signal: var(--kafka-flow-reassignment-ready)}.kafka-flow-app .simulation-message__outcome{background:var(--kafka-flow-out-of-sync-surface);border:1px solid var(--kafka-flow-ink);color:var(--kafka-flow-offline)}.kafka-flow-app .simulation-message[data-producer-outcome]{border-color:var(--kafka-flow-out-of-sync-border)}.kafka-flow-app .simulation-broker.is-paused-sync .simulation-entity-summary{color:var(--kafka-flow-offline)}.kafka-flow-app .simulation-partition-badge.is-leader{background:var(--partition-color);border-color:var(--kafka-flow-ink);box-shadow:none;color:var(--kafka-flow-on-badge);color:oklch(from var(--partition-color) clamp(0,(.55 - l) * 100000,1) 0 0);font-weight:700}.kafka-flow-app .simulation-partition-row.is-promoted-leader .simulation-partition-badge.is-leader{animation:kafka-flow-leader-promoted .72s ease-out both}.kafka-flow-app .simulation-partition-row.is-catching-up .simulation-partition-badge{animation:kafka-flow-replica-catching-up var(--catch-up-duration, 3s) ease-in-out both}.kafka-flow-app .simulation-partition-badge.is-replica{background:color-mix(in srgb,var(--partition-color) 7%,var(--kafka-flow-control));border-color:var(--kafka-flow-ink);color:var(--partition-color);color:oklch(from var(--partition-color) clamp(var(--kafka-flow-hue-text-l-min),l,var(--kafka-flow-hue-text-l-max)) c h);font-weight:700}.kafka-flow-app .simulation-consumer-group{align-items:stretch;display:grid;grid-template-columns:var(--kafka-flow-entity-column) minmax(0,1fr);min-height:108px}.kafka-flow-app .simulation-consumer-group__members{min-width:0;overflow-x:auto;overflow-y:hidden;overscroll-behavior-inline:contain;padding:8px 24px 8px 0;scrollbar-color:transparent transparent;scrollbar-width:thin;touch-action:pan-x pan-y}.kafka-flow-app .simulation-broker__partitions::-webkit-scrollbar,.kafka-flow-app .simulation-consumer-group__members::-webkit-scrollbar{height:6px}.kafka-flow-app .simulation-broker__partitions::-webkit-scrollbar-thumb,.kafka-flow-app .simulation-consumer-group__members::-webkit-scrollbar-thumb{background:transparent;border-radius:999px;transition:background-color .14s ease}.kafka-flow-app .simulation-broker__partitions:is(:hover,:focus-visible,.is-scrolling),.kafka-flow-app .simulation-consumer-group__members:is(:hover,:focus-visible,.is-scrolling){scrollbar-color:var(--kafka-flow-scroll-thumb) transparent}.kafka-flow-app .simulation-broker__partitions:is(:hover,:focus-visible,.is-scrolling)::-webkit-scrollbar-thumb,.kafka-flow-app .simulation-consumer-group__members:is(:hover,:focus-visible,.is-scrolling)::-webkit-scrollbar-thumb{background:var(--kafka-flow-scroll-thumb)}.kafka-flow-app .simulation-broker__partitions::-webkit-scrollbar-track,.kafka-flow-app .simulation-consumer-group__members::-webkit-scrollbar-track{background:transparent}.kafka-flow-app .simulation-broker__partitions:focus-visible,.kafka-flow-app .simulation-consumer-group__members:focus-visible{outline:var(--kafka-flow-focus-ring);outline-offset:-2px}@media(forced-colors:active){.kafka-flow-app .simulation-broker__partitions,.kafka-flow-app .simulation-consumer-group__members{scrollbar-color:auto}.kafka-flow-brand__flow{background:Highlight;color:HighlightText}.kafka-flow-brand__caret{background:CanvasText}}.kafka-flow-app .simulation-consumer{margin:0}.kafka-flow-app .simulation-consumer-badge{background:var(--consumer-color);border-color:var(--kafka-flow-ink);color:var(--kafka-flow-on-badge);color:oklch(from var(--consumer-color) clamp(0,(.55 - l) * 100000,1) 0 0);font-weight:700}.kafka-flow-app .simulation-message--leader,.kafka-flow-app .simulation-message--consumer,.kafka-flow-app .simulation-message--replica{background:var(--kafka-flow-record);border-color:var(--kafka-flow-record-border);color:var(--kafka-flow-text);font-weight:700}.kafka-flow-app .simulation-message--leader.is-protocol-uncommitted,.kafka-flow-app .simulation-message--replica.is-protocol-uncommitted,.kafka-flow-app .simulation-partition-marker[data-status-kind=out-of-sync] .simulation-partition-badge{--hatch-gap: 6px;--hatch-strength: 22%;background-color:var(--kafka-flow-record);background-image:repeating-linear-gradient(-45deg,transparent 0 var(--hatch-gap),color-mix(in srgb,var(--kafka-flow-muted) var(--hatch-strength),transparent) var(--hatch-gap) calc(var(--hatch-gap) + 1px))}.kafka-flow-app .simulation-partition-marker[data-status-kind=out-of-sync] .simulation-partition-badge{--hatch-gap: 3px;--hatch-strength: 45%;border-color:var(--kafka-flow-muted);color:var(--kafka-flow-muted)}.kafka-flow-theme-toggle .anticon,.kafka-flow-settings-trigger .anticon{font-size:15px}.kafka-flow-apply-overlay{bottom:var(--kafka-flow-overlay-inset);pointer-events:none;position:fixed;right:var(--kafka-flow-pane-inset);z-index:120}.kafka-flow-apply-overlay .kafka-flow-apply-bar{background:transparent;border:0;min-height:0;padding:0;pointer-events:auto;position:static}@keyframes kafka-flow-leader-promoted{0%,to{box-shadow:0 0 color-mix(in srgb,var(--partition-color) 0%,transparent);filter:brightness(1)}42%{box-shadow:0 0 0 6px color-mix(in srgb,var(--partition-color) 22%,transparent);filter:brightness(1.12)}}@keyframes kafka-flow-replica-catching-up{0%,to{box-shadow:0 0 color-mix(in srgb,var(--partition-color) 0%,transparent);filter:brightness(1)}45%{box-shadow:0 0 0 4px color-mix(in srgb,var(--partition-color) 20%,transparent);filter:brightness(1.25)}}@media(max-width:900px){.kafka-flow-topology-controls{gap:14px;justify-content:flex-start;width:100%}.kafka-flow-app .simulation-section-heading{padding-inline:16px}}@media(max-width:680px){.kafka-flow-topology-controls{align-items:flex-start;flex-direction:column}.kafka-flow-labeled-control{justify-content:space-between;width:100%}.kafka-flow-app{--kafka-flow-pane-inset: 16px}.kafka-flow-app .simulation-pane{flex:1 1 auto;height:100dvh;min-height:100dvh;min-width:0;width:100%}.kafka-flow-app .simulation-pane__inner{min-width:860px;width:860px}.kafka-flow-app .simulation-stage{min-width:860px}.kafka-flow-app .simulation-section-heading .kafka-flow-topology-controls{align-items:center;flex-direction:row;gap:16px;justify-content:flex-end;width:auto}.kafka-flow-app .simulation-section-heading .kafka-flow-labeled-control{gap:8px;justify-content:flex-start;width:auto}}@media(prefers-reduced-motion:reduce){.kafka-flow-button,.kafka-flow-stepper button,.kafka-flow-speed__options button,.kafka-flow-acks-control__options button{transition:none}.kafka-flow-brand__caret{animation:none;opacity:1}}
