.bloom-demo{border-block:1px solid var(--border-color-base);font:14px/1.5 var(--font-sans);color:var(--text-color-body);margin:2rem 0;padding:1.5rem 0}.bloom-demo *{box-sizing:border-box}.bloom-demo p{font:inherit;margin:0}.bloom-demo .quiet{color:var(--text-color-muted);font-size:12px}.bloom-operation{align-items:center;gap:1rem;margin-bottom:1.2rem;display:flex}.word-token{border:1px solid var(--border-color-base);font:16px var(--font-mono);color:var(--text-color-strong);border-radius:6px;padding:.4rem .8rem}.bit-vector{grid-template-columns:repeat(10,minmax(0,1fr));gap:6px;display:grid}.bit-vector>div{text-align:center}.bit-vector strong{border:1px solid var(--border-color-base);min-height:42px;font:22px var(--font-mono);background:var(--background-color-card);border-radius:4px;place-items:center;display:grid}.bit-vector span{font:11px var(--font-mono);color:var(--text-color-muted);margin-top:.4rem;display:block}.bit-vector [data-selected=true] strong{border-color:var(--accent-600);color:var(--accent-600);box-shadow:inset 0 -3px var(--accent-600)}.bit-vector [data-shared=true] strong{border-style:double}.stored-words{flex-wrap:wrap;align-items:center;gap:.6rem;margin-top:1.3rem;font-size:12px;display:flex}.stored-words>span{color:var(--text-color-muted)}.stored-words b{font:12px var(--font-mono);background:var(--background-color-card);border-radius:3px;padding:.2rem .5rem}.bloom-demo .bloom-caption{min-height:3em;margin-top:1.2rem;font-size:14px}.bloom-demo button{font:inherit;border:1px solid var(--border-color-base);min-height:44px;color:var(--text-color-strong);cursor:pointer;background:0 0;border-radius:5px;padding:.4rem .7rem}.bloom-demo input{font:inherit;border:1px solid var(--border-color-base);min-height:44px;color:var(--text-color-strong);background:0 0;min-width:0;max-width:100%;padding:.5rem}.bloom-controls{flex-wrap:wrap;gap:.5rem;margin-top:1rem;display:flex}.bloom-controls input{flex:1;min-width:100px}.bloom-demo details{color:var(--text-color-muted);margin-top:1rem;font-size:12px}.bloom-demo summary{cursor:pointer;padding:.5rem 0}.bloom-demo details p{margin-top:.6rem}.bloom-demo .playback{align-items:center;gap:.6rem;margin-top:1rem;display:flex}.bloom-demo .playback-dots{gap:5px;margin-right:auto;display:flex}.bloom-demo .playback-dots i{background:var(--border-color-base);border-radius:50%;width:5px;height:5px}.bloom-demo .playback-dots i[data-active=true]{background:var(--text-color-strong)}.bloom-demo .playback button{text-underline-offset:4px;border:0;font-size:12px;text-decoration:underline}.lookup-lanes{gap:1rem;display:grid}.fruit-row{gap:5px;margin-top:.7rem;display:flex}.fruit-row span{text-align:center;border:1px solid var(--border-color-base);font:12px var(--font-mono);flex:1;padding:.5rem .1rem}.fruit-row [data-current=true]{background:var(--background-color-card);border-color:var(--accent-600)}.bucket-result{flex-wrap:wrap;align-items:center;gap:1rem;margin-top:.7rem;display:flex}.bloom-demo :focus-visible{outline:2px solid var(--accent-600);outline-offset:3px}@media (width<=540px){.bit-vector{gap:3px}.bit-vector strong{min-height:32px;font-size:18px}}@media (prefers-reduced-motion:reduce){.bloom-demo *{transition:none!important;animation:none!important}}.bloom-demo[data-manual=true] *{transition:none!important;animation:none!important}.tuner-context{color:var(--text-color-muted);font-size:12px}.tuner-chart{width:100%;height:auto;color:var(--text-color-muted);margin:1rem 0;display:block}.tuner-result{align-items:center;gap:1rem;margin:1.4rem 0;display:flex}.tuner-result strong{font:32px var(--font-mono);color:var(--text-color-strong)}.tuner-result span{color:var(--text-color-muted);font-size:12px}.bloom-equation{font:clamp(17px,3vw,25px)/1.8 var(--font-mono);color:var(--text-color-strong)}.formula-values{flex-wrap:wrap;gap:1rem;margin-top:1rem;font-size:13px;display:flex}.formula-values b{color:var(--accent-600);margin-right:.4rem}.design-controls{grid-template-columns:1fr 1fr;gap:1rem;display:grid}.design-controls label{gap:.5rem;font-size:12px;display:grid}.design-controls select{background:var(--background-color-base);min-height:44px;color:var(--text-color-strong);border:1px solid var(--border-color-base);border-radius:4px;max-width:100%;padding:.4rem}.design-results{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;display:grid}.design-results>div{gap:.4rem;display:grid}.design-results strong{font:27px var(--font-mono)}.design-results span{color:var(--text-color-muted);font-size:12px}.membership-result{grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.25rem;display:grid}.membership-result>div{border-top:2px solid var(--accent-600);gap:.35rem;padding:.65rem 0;display:grid}.membership-result span{color:var(--text-color-muted);font-size:12px}.membership-result strong{font-size:14px;font-weight:500}.hash-flow{width:100%;margin-top:.25rem}.flow-input{justify-items:center;gap:.5rem;display:grid}.flow-input .word-token{text-align:center;background:var(--background-color-card);min-width:110px}.flow-branches,.flow-connections{fill:none;width:100%;stroke:var(--border-color-base);stroke-width:1.5px;display:block;overflow:visible}.flow-branches{height:54px}.flow-connections{height:90px}.flow-branches path,.flow-connections path{vector-effect:non-scaling-stroke}.flow-functions{grid-template-columns:repeat(3,1fr);gap:0;padding:0 5%;display:grid}.flow-functions>div{border:1px solid var(--border-color-base);background:var(--background-color-card);border-radius:6px;justify-self:center;justify-items:center;gap:.35rem;min-width:84px;padding:.65rem 1rem;display:grid}.flow-functions span{font:12px var(--font-sans);color:var(--text-color-muted)}.flow-functions strong{font:28px/1.1 var(--font-mono);color:var(--accent-600)}.flow-signal{stroke:var(--accent-600);stroke-width:2px;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.hash-flow[data-active=true] .flow-signal{opacity:1;stroke-dashoffset:0;animation:.9s linear both bloom-trace}@keyframes bloom-trace{0%{stroke-dashoffset:1px}to{stroke-dashoffset:0}}.bloom-demo .bit-vector{gap:0}.bloom-demo .bit-vector>div{padding:0 3px}.bloom-demo[data-stage=empty] .bloom-caption{text-align:center;min-height:0}@media (width<=540px){.flow-functions>div{gap:.3rem;min-width:64px;padding:.55rem .7rem}.flow-functions span{font-size:11px}.flow-connections{height:72px}.bloom-demo .bit-vector>div{padding:0 1.5px}}@media (prefers-reduced-motion:reduce){.hash-flow[data-active=true] .flow-signal{animation:none}}.bloom-demo .experiment-controls{border-block:1px solid var(--border-color-base);flex-wrap:wrap;gap:.75rem;margin:1rem 0;padding:1rem 0;display:flex}.bloom-demo .experiment-controls label{flex:1;gap:.5rem;min-width:150px;font-size:13px;display:grid}.bloom-demo .experiment-controls input[type=range]{width:100%;accent-color:var(--accent-600)}.bloom-demo .experiment-controls button{min-width:36px;min-height:44px}.bloom-demo .experiment-controls button[aria-pressed=true]{color:var(--accent-600);border-color:var(--accent-600)}.lookup-query{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.8rem;display:flex}.lookup-query label{color:var(--text-color-muted);font-size:13px}.lookup-query select{font:18px var(--font-mono);color:var(--text-color-strong);background:var(--background-color-card);border:1px solid var(--border-color-base);border-radius:6px;min-height:44px;padding:.6rem 1.2rem}.lookup-query .quiet{margin-left:auto}.search-lane+.search-lane{border-top:1px solid var(--border-color-base);margin-top:2rem;padding-top:1.5rem}.search-heading{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.search-heading>strong{font-size:16px;font-weight:500}.search-count{color:var(--text-color-muted);font-size:12px}.search-count b{font:20px var(--font-mono);color:var(--text-color-strong);margin-right:.3rem}.search-cells{gap:0;display:grid}.list-cells{grid-template-columns:repeat(5,minmax(0,1fr))}.bucket-cells{grid-template-columns:repeat(7,minmax(0,1fr))}.search-cells>div{border:1px solid var(--border-color-base);background:var(--background-color-card);border-radius:5px;justify-items:center;gap:.35rem;margin:0 3px;padding:.5rem .1rem;display:grid}.search-cells strong{font:13px var(--font-mono);color:var(--text-color-strong)}.search-cells .cell-index{font:11px var(--font-mono);color:var(--text-color-muted)}.search-cells small{color:var(--text-color-muted);font-size:10px}.search-cells [data-checked=true]{opacity:.5}.search-cells [data-current=true]{border-color:var(--accent-600)}.search-cells [data-match=true]{border-color:var(--accent-600);box-shadow:inset 0 -3px var(--accent-600)}.search-cells [data-match=true] strong,.search-cells [data-match=true] small{color:var(--accent-600)}.list-pointer-track{height:53px;padding-top:6px}.list-pointer-track>span{width:20%;color:var(--accent-600);justify-items:center;transition:transform .45s cubic-bezier(.77,0,.175,1),opacity .2s linear;display:grid}.list-pointer-track b{font-size:11px;font-weight:500}.lookup-hash{justify-content:center;align-items:center;gap:1rem;margin-top:1rem;display:flex}.hash-address{border:1px solid var(--border-color-base);border-radius:6px;justify-items:center;gap:.2rem;padding:.4rem .9rem;display:grid}.hash-address span{color:var(--text-color-muted);font-size:11px}.hash-address strong{font:24px var(--font-mono);color:var(--accent-600)}.bucket-path{fill:none;width:100%;height:54px;stroke:var(--accent-600);stroke-width:2px;display:block;overflow:visible}.bucket-path>path{vector-effect:non-scaling-stroke;stroke-dasharray:1;stroke-dashoffset:1px;opacity:0}.bucket-path>path[data-active=true]{opacity:1;stroke-dashoffset:0;animation:.7s linear both bloom-trace}@media (width<=540px){.bucket-cells strong{font-size:10px}.search-cells>div{margin:0 1px}.lookup-query .quiet{width:100%;margin-left:0}.search-cells small{font-size:9px}}@media (prefers-reduced-motion:reduce){.lookup-demo .list-pointer-track>span{transition:none}.lookup-demo .bucket-path>path{animation:none}}.lookup-hash{position:relative}.lookup-hash>.word-token{position:absolute;right:calc(50% + 85px)}.lookup-hash>span{position:absolute;right:calc(50% + 57px)}.sketch-bucket-arrow{width:100%;height:64px;color:var(--accent-600);opacity:0;transition:opacity .25s linear;display:block;overflow:visible}.sketch-bucket-arrow[data-active=true]{opacity:1}.sketch-bucket-arrow path{stroke-dasharray:none;stroke-dashoffset:0}.removal-words{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;display:flex}.removal-words .word-token{gap:.4rem;display:grid}.removal-words small{font:11px var(--font-mono);color:var(--text-color-muted)}.removal-words [data-removing=true]{border-style:dashed}.removal-lane+.removal-lane{border-top:1px solid var(--border-color-base);margin-top:1.5rem;padding-top:1.5rem}.removal-heading{justify-content:space-between;gap:.7rem;margin-bottom:1rem;display:flex}.removal-heading>strong{font-weight:500}.removal-comparison .bit-vector [data-shared=true] strong{border:2px solid var(--accent-600);background:var(--background-color-card)}.removal-comparison .removal-cell{justify-content:center;gap:.15rem;min-height:48px;font-size:18px;display:flex}.removal-comparison .removal-cell del{opacity:.55;font-size:12px}.removal-comparison .removal-cell span{margin:0;font-size:12px}.removal-comparison .removal-cell b{font:inherit;animation:.3s linear removal-arrive}.removal-outcome{flex-wrap:wrap;align-items:center;gap:.7rem;min-height:3em;margin-top:1rem;font-size:12px;display:flex}.removal-outcome>strong{color:var(--accent-600);font-weight:500}.removal-outcome>span:last-child{color:var(--text-color-muted)}@keyframes removal-arrive{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}@media (width<=540px){.removal-comparison .removal-cell{flex-wrap:wrap;gap:0;font-size:16px}.removal-comparison .removal-cell del{font-size:10px}.removal-comparison .removal-cell span{font-size:9px}}
