.lab-page[data-astro-cid-yc4n7asv]{max-width:var(--content-width);padding-top:2.5rem;padding-bottom:4rem}.lab-header[data-astro-cid-yc4n7asv]{text-align:center;margin-bottom:2.5rem}.lab-back[data-astro-cid-yc4n7asv]{font-family:var(--font-mono);font-size:.8125rem;color:var(--color-text-muted);text-decoration:none}.lab-back[data-astro-cid-yc4n7asv]:hover{color:var(--color-accent)}.lab-header[data-astro-cid-yc4n7asv] h1[data-astro-cid-yc4n7asv]{font-size:2.25rem;margin-top:.75rem;margin-bottom:.5rem}.lab-subtitle[data-astro-cid-yc4n7asv]{font-style:italic;color:var(--color-text-secondary);font-size:1.05rem;max-width:36rem;margin:0 auto}.sim-wrapper[data-astro-cid-yc4n7asv]{margin-bottom:3rem}.sim-controls[data-astro-cid-yc4n7asv]{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem;font-family:var(--font-mono);font-size:.8125rem;flex-wrap:wrap}.type-select[data-astro-cid-yc4n7asv]{font-family:var(--font-mono);font-size:.8125rem;padding:.3rem .5rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text);cursor:pointer}.extra-controls[data-astro-cid-yc4n7asv]{font-family:var(--font-mono);font-size:.8125rem;margin-bottom:.5rem;display:flex;align-items:center;gap:.5rem;min-height:0}.extra-controls[data-astro-cid-yc4n7asv]:empty{display:none}.extra-controls[data-astro-cid-yc4n7asv] .btn[data-astro-cid-yc4n7asv]{padding:.2rem .5rem;font-size:.75rem}.toggle-label[data-astro-cid-yc4n7asv]{display:flex;align-items:center;gap:.4rem;color:var(--color-text-secondary);cursor:pointer;user-select:none}.toggle-label[data-astro-cid-yc4n7asv] input[data-astro-cid-yc4n7asv]{accent-color:var(--color-accent)}.btn[data-astro-cid-yc4n7asv]{font-family:var(--font-mono);font-size:.75rem;padding:.3rem .75rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.btn[data-astro-cid-yc4n7asv]:hover:not(:disabled){border-color:var(--color-border-hover);color:var(--color-text)}.btn[data-astro-cid-yc4n7asv]:disabled{opacity:.4;cursor:not-allowed}.global-counter[data-astro-cid-yc4n7asv]{text-align:center;margin-bottom:.75rem;font-family:var(--font-mono);font-size:1.5rem;font-weight:600;transition:color .3s ease}.global-counter[data-astro-cid-yc4n7asv].converged{color:var(--color-accent)}.global-counter[data-astro-cid-yc4n7asv].diverged{color:#b45555}[data-theme=dark] .global-counter[data-astro-cid-yc4n7asv].diverged{color:#d4756a}.diverged-label{display:block;font-size:.7rem;font-weight:400;letter-spacing:.05em;text-transform:uppercase;opacity:.7;margin-top:.1rem}.diverged-label.converged-label{visibility:hidden}.node-val{margin:0 .25rem}#crdt-svg[data-astro-cid-yc4n7asv]{width:100%;max-width:500px;display:block;margin:0 auto}.edge{stroke:var(--color-text-muted);stroke-width:1.5;transition:stroke-dasharray .3s ease,stroke .3s ease}.edge.partitioned{stroke-dasharray:6 4;stroke:var(--color-text-muted);opacity:.4}.edge-target{stroke:transparent;stroke-width:20;cursor:pointer}.edge-label{font-family:var(--font-mono);font-size:9px;fill:var(--color-text-muted);opacity:0;pointer-events:none;transition:opacity .2s ease}.edge-label.visible{opacity:.7}.node-bg{fill:var(--color-bg-surface);stroke:var(--color-border);stroke-width:1.5;transition:fill .2s ease}.node-ring{fill:none;stroke:var(--color-accent);stroke-width:0;transition:stroke-width .3s ease}.node-group:hover .node-ring,.node-ring.active{stroke-width:2.5}.node-name{font-family:var(--font-heading);font-size:16px;font-weight:600;fill:var(--color-text);text-anchor:middle;pointer-events:none}.node-value{font-family:var(--font-mono);font-size:11.5px;fill:var(--color-text-secondary);text-anchor:middle;pointer-events:none}.node-total{font-family:var(--font-mono);font-size:13px;font-weight:500;fill:var(--color-accent);text-anchor:middle;pointer-events:none}.action-btn rect{fill:var(--color-accent-subtle);stroke:var(--color-accent);stroke-width:1;cursor:pointer;transition:fill .15s ease}.action-btn:hover rect{fill:var(--color-accent)}.action-btn text{font-family:var(--font-mono);font-size:11px;font-weight:500;fill:var(--color-accent);pointer-events:none;transition:fill .15s ease}.action-btn:hover text{fill:var(--color-bg)}.dec-btn rect{fill:var(--color-bg-surface);stroke:var(--color-text-muted);stroke-width:1;cursor:pointer;transition:fill .15s ease}.dec-btn:hover rect{fill:var(--color-text-muted)}.dec-btn text{font-family:var(--font-mono);font-size:11px;font-weight:500;fill:var(--color-text-muted);pointer-events:none;transition:fill .15s ease}.dec-btn:hover text{fill:var(--color-bg)}.set-item{font-family:var(--font-mono);font-size:10px;fill:var(--color-text-secondary);cursor:pointer;transition:fill .15s ease}.set-item:hover{fill:#b45555;text-decoration:underline}.sync-flash{fill:var(--color-accent);opacity:0;pointer-events:none}.sync-flash.flash{opacity:.8;transition:opacity 0s}.event-log[data-astro-cid-yc4n7asv]{font-family:var(--font-mono);font-size:.75rem;line-height:1.6;max-height:8rem;overflow-y:auto;border:1px solid var(--color-border);border-radius:4px;padding:.5rem .75rem;margin-top:1rem;background:var(--color-bg-surface)}.log-entry{color:var(--color-text-secondary);padding:.1rem 0}.log-entry strong{color:var(--color-text)}.log-sync{color:var(--color-accent)}.log-partition{color:var(--color-text-muted);font-style:italic}.log-merge{color:var(--color-accent);opacity:.85}.log-icon{display:inline-block;width:1.1em;text-align:center;margin-right:.25em;font-style:normal}.log-icon-inc,.log-icon-sync{color:var(--color-accent)}.log-icon-partition{color:var(--color-text-muted)}.log-icon-heal{color:var(--color-accent)}.log-icon-reset,.log-icon-isolate{color:var(--color-text-muted)}.log-icon-write,.log-icon-add{color:var(--color-accent)}.log-icon-remove{color:var(--color-text-muted)}.log-warn{color:#b45555}[data-theme=dark] .log-warn{color:#d4756a}.lab-explanation[data-astro-cid-yc4n7asv]{border-top:1px solid var(--color-border);padding-top:2rem}.lab-explanation[data-astro-cid-yc4n7asv] h2[data-astro-cid-yc4n7asv]{text-align:center;margin-top:0;margin-bottom:1.5rem}@media(max-width:640px){.lab-header[data-astro-cid-yc4n7asv] h1[data-astro-cid-yc4n7asv]{font-size:1.75rem}.lab-subtitle[data-astro-cid-yc4n7asv]{font-size:.95rem}#crdt-svg[data-astro-cid-yc4n7asv]{max-width:100%}}
