:root{--anim-spring-bounce:cubic-bezier(.34,1.56,.64,1);--anim-spring-smooth:cubic-bezier(.22,1,.36,1);--anim-spring-snappy:cubic-bezier(.17,.89,.32,1.28);--anim-ease-out-expo:cubic-bezier(.16,1,.3,1);--anim-duration-fast:.2s;--anim-duration-normal:.4s;--anim-duration-slow:.6s;--anim-node-idle-bg:rgb(var(--color-card-muted,229 231 235));--anim-node-idle-stroke:rgb(var(--color-border,156 163 175));--anim-node-active-bg:#fde68a;--anim-node-active-stroke:rgb(var(--color-accent));--anim-node-success-bg:#86efac;--anim-node-success-stroke:#15803d;--anim-node-error-bg:#fecaca;--anim-node-error-stroke:#dc2626;--anim-node-warning-bg:#fde68a;--anim-node-warning-stroke:#d97706;--anim-arrow-info:#2563eb;--anim-arrow-success:#15803d;--anim-arrow-error:#dc2626;--anim-arrow-warning:#d97706;--anim-arrow-neutral:rgb(var(--color-border,156 163 175));--anim-status-healthy:#15803d;--anim-status-pending:#d97706;--anim-status-failed:#dc2626;--anim-status-unknown:rgb(var(--color-text-muted));--anim-text-primary:rgb(var(--color-text-base));--anim-text-muted:rgb(var(--color-text-muted));--anim-text-accent:rgb(var(--color-accent));--anim-text-success:#15803d;--anim-text-error:#dc2626;--anim-glow-success:#15803d66;--anim-glow-info:#2563eb66;--anim-glow-error:#dc262666;--anim-glow-warning:#d9770666;--ex-node:rgb(var(--color-samudra));--ex-node-stroke:rgb(var(--color-samudra));--ex-node-fill:var(--anim-node-idle-bg);--ex-node-ink:rgb(var(--color-samudra));--ex-data:rgb(var(--color-moss));--ex-data-stroke:rgb(var(--color-moss));--ex-data-fill:rgba(var(--color-moss),.15);--ex-data-text:rgb(var(--color-moss));--ex-data-ink:#0f7a5f;--ex-data-glow:rgba(var(--color-moss),.5);--ex-current:var(--anim-node-active-stroke);--ex-current-fill:var(--anim-node-active-bg);--ex-current-bg:var(--anim-node-active-bg);--ex-current-bg-tint:color-mix(in srgb,rgb(var(--color-accent))16%,transparent);--ex-current-stroke:var(--anim-node-active-stroke);--ex-current-text:var(--anim-node-active-stroke);--ex-current-ink:#8a5a00;--ex-error:var(--anim-node-error-stroke);--ex-error-stroke:var(--anim-node-error-stroke);--ex-error-fill:var(--anim-node-error-bg);--ex-error-bg:var(--anim-node-error-bg);--ex-error-text:var(--anim-text-error);--ex-error-ink:#c92a2a;--ex-success:var(--anim-arrow-success);--ex-success-stroke:var(--anim-node-success-stroke);--ex-success-fill:var(--anim-node-success-bg);--ex-success-bg:var(--anim-node-success-bg);--ex-muted:var(--anim-node-idle-stroke);--ex-muted-stroke:var(--anim-node-idle-stroke);--ex-muted-fill:var(--anim-node-idle-bg);--ex-muted-bg:var(--anim-node-idle-bg);--ex-muted-text:var(--anim-text-muted);--ex-consumer-stroke:rgb(var(--color-secondary));--ex-consumer-fill:rgba(var(--color-secondary),.14);--ex-ink:rgb(var(--color-text-base));--ex-ink-muted:rgb(var(--color-text-muted));--ex-surface:rgb(var(--color-card));--ex-arrow-async-dash:6 4;--ex-arrow-weak-dash:2 4;--ex-dashflow-duration:1.5s}html[data-theme=dark]{--anim-node-idle-bg:#374151;--anim-node-idle-stroke:#6b7280;--anim-node-active-bg:#854d0e;--anim-node-active-stroke:rgb(var(--color-accent));--anim-node-success-bg:#166534;--anim-node-success-stroke:#22c55e;--anim-node-error-bg:#7f1d1d;--anim-node-error-stroke:#f87171;--anim-node-warning-bg:#78350f;--anim-node-warning-stroke:#fbbf24;--anim-arrow-info:#3b82f6;--anim-arrow-success:#22c55e;--anim-arrow-error:#f87171;--anim-arrow-warning:#fbbf24;--anim-status-healthy:#22c55e;--anim-status-failed:#f87171;--anim-text-success:#22c55e;--anim-text-error:#f87171;--anim-glow-success:#22c55e80;--anim-glow-info:#3b82f680;--anim-glow-error:#f8717180;--anim-glow-warning:#fbbf2480;--ex-node-ink:rgb(var(--color-samudra));--ex-current-ink:#fcd34d;--ex-data-ink:#5eead4;--ex-error-ink:#f87171}@media (prefers-reduced-motion:reduce){:root{--anim-duration-fast:.01ms;--anim-duration-normal:.01ms;--anim-duration-slow:.01ms}}.raft-animation:where(.astro-upq2h2cq){width:100%;height:100%;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.raft-animation:where(.astro-upq2h2cq)>:where(.astro-upq2h2cq)[data-step]{opacity:0;visibility:hidden;transition:opacity var(--anim-duration-normal)var(--anim-ease-out-expo)}.raft-animation:where(.astro-upq2h2cq)>:where(.astro-upq2h2cq)[data-step].visible{opacity:1;visibility:visible}.node-bg:where(.astro-upq2h2cq){stroke-width:3px;transition:fill var(--anim-duration-slow)var(--anim-spring-smooth),stroke var(--anim-duration-slow)var(--anim-spring-smooth)}.node-bg:where(.astro-upq2h2cq).follower{fill:var(--ex-muted-bg);stroke:var(--ex-muted-stroke)}.node-bg:where(.astro-upq2h2cq).candidate{fill:var(--ex-current-bg);stroke:var(--ex-current-stroke);animation:candidatePulse 2s var(--anim-spring-smooth)infinite}.node-bg:where(.astro-upq2h2cq).voted{fill:var(--ex-muted-bg);stroke:var(--ex-success)}.node-bg:where(.astro-upq2h2cq).leader{fill:var(--ex-muted-bg);stroke:var(--ex-success);animation:leaderGlow 2s var(--anim-spring-smooth)infinite}@keyframes candidatePulse{0%,to{filter:brightness()}50%{filter:brightness(1.12)}}@keyframes leaderGlow{0%,to{filter:drop-shadow(0 0 6px var(--anim-glow-success))}50%{filter:drop-shadow(0 0 12px var(--anim-glow-success))}}.node-label:where(.astro-upq2h2cq){fill:var(--ex-ink);text-anchor:middle;font-size:26px;font-weight:700}.node-state:where(.astro-upq2h2cq){fill:var(--ex-ink-muted);text-anchor:middle;font-size:20px;font-weight:500}.node-state:where(.astro-upq2h2cq).accent{fill:var(--ex-current-stroke);font-weight:600}.node-state:where(.astro-upq2h2cq).granted{fill:var(--ex-success);font-weight:600}.node-state:where(.astro-upq2h2cq).leader-state{fill:var(--ex-success);font-weight:700}.timeout-ring:where(.astro-upq2h2cq){fill:none;stroke:var(--ex-error);stroke-width:4px;stroke-dasharray:4 6;stroke-linecap:round;animation:6s linear infinite spinRing}@keyframes spinRing{to{transform-origin:70px 150px;transform:rotate(360deg)}}.term-bg:where(.astro-upq2h2cq){fill:var(--ex-current-stroke);opacity:.15}.term-text:where(.astro-upq2h2cq){fill:var(--ex-current-stroke);text-anchor:middle;font-size:20px;font-weight:600}.vote-request:where(.astro-upq2h2cq){stroke:var(--ex-current-stroke);stroke-width:3px;stroke-dasharray:var(--ex-arrow-async-dash);stroke-linecap:round;animation:flowDash var(--ex-dashflow-duration)linear infinite}.arr-info-head:where(.astro-upq2h2cq){fill:var(--ex-current-stroke)}@keyframes flowDash{to{stroke-dashoffset:-20px}}.msg-label:where(.astro-upq2h2cq){fill:var(--ex-current-stroke);text-anchor:middle;font-size:20px;font-weight:600}.vote-yes:where(.astro-upq2h2cq){stroke:var(--ex-success);stroke-width:3px;stroke-linecap:round}.arr-success-head:where(.astro-upq2h2cq){fill:var(--ex-success)}.yes-label:where(.astro-upq2h2cq){fill:var(--ex-success);text-anchor:middle;font-size:20px;font-weight:700}.vote-count:where(.astro-upq2h2cq){fill:var(--ex-success);text-anchor:middle;font-size:32px;font-weight:700}.vote-label:where(.astro-upq2h2cq){fill:var(--ex-ink-muted);text-anchor:middle;font-size:20px;font-weight:500}.rule-label:where(.astro-upq2h2cq){fill:var(--ex-ink);text-anchor:middle;font-family:SF Mono,Fira Code,ui-monospace,monospace;font-size:20px;font-weight:600}.crown:where(.astro-upq2h2cq){fill:var(--ex-success)}.pulse-ring:where(.astro-upq2h2cq){fill:none;stroke:var(--ex-success);stroke-width:3px;animation:ripplePulse 2s var(--anim-ease-out-expo)infinite}@keyframes ripplePulse{0%{opacity:.8;r:46;stroke-width:4px}to{opacity:0;r:70;stroke-width:1px}}.heartbeat:where(.astro-upq2h2cq){stroke:var(--ex-success);stroke-width:3px;stroke-linecap:round;animation:heartbeatLine 1.5s var(--anim-spring-smooth)infinite}@keyframes heartbeatLine{0%,to{opacity:.7}50%{opacity:1}}.heartbeat-symbol:where(.astro-upq2h2cq){fill:var(--ex-success);text-anchor:middle;animation:heartBeat 1.4s var(--anim-spring-bounce)infinite;font-size:22px}@keyframes heartBeat{0%,to{transform:scale(1)}20%{transform:scale(1.2)}40%{transform:scale(1)}}.status-label:where(.astro-upq2h2cq){fill:var(--ex-ink-muted);text-anchor:middle;font-size:20px;font-weight:500}.status-label:where(.astro-upq2h2cq).success{fill:var(--ex-success);font-weight:600}@media (prefers-reduced-motion:reduce){.raft-animation:where(.astro-upq2h2cq) :where(.astro-upq2h2cq),.raft-animation:where(.astro-upq2h2cq) :where(.astro-upq2h2cq):before,.raft-animation:where(.astro-upq2h2cq) :where(.astro-upq2h2cq):after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.pulse-ring:where(.astro-upq2h2cq){r:52;opacity:.6}}