.wf-letter-arrival{animation:1.25s linear both wf-letter-arrival;animation-delay:var(--wf-arrival-delay);animation-play-state:paused}[data-arrival-visible=true] .wf-letter-arrival{animation-play-state:running}[data-arrival-style="1"] .wf-letter-arrival{animation-name:wf-letter-fan;animation-duration:1.35s}[data-arrival-style="2"] .wf-letter-arrival{animation-name:wf-letter-wall;animation-duration:1.45s}@keyframes wf-letter-fan{0%{translate:var(--wf-start-x) var(--wf-arrival-offset);animation-timing-function:cubic-bezier(.4,0,1,1);rotate:18deg;scale:1}48%{animation-timing-function:cubic-bezier(0,.6,.4,1);translate:0;rotate:-18deg;scale:1.1 .89}64%{animation-timing-function:cubic-bezier(.6,0,1,.4);translate:0 -42px;rotate:9deg;scale:.96 1.04}79%{animation-timing-function:cubic-bezier(0,.6,.4,1);translate:0;rotate:-5deg;scale:1.05 .95}88%{animation-timing-function:cubic-bezier(.6,0,1,.4);translate:0 -13px;rotate:3deg;scale:1}to{translate:0;rotate:0deg;scale:1}}@keyframes wf-letter-wall{0%{translate:var(--wf-start-x) var(--wf-arrival-offset);animation-timing-function:cubic-bezier(.4,0,1,1);rotate:-24deg;scale:1}24%{translate:var(--wf-edge-x) calc(var(--wf-arrival-offset) * .55);animation-timing-function:cubic-bezier(.2,.1,.8,.7);rotate:12deg;scale:.9 1.08}49%{animation-timing-function:cubic-bezier(0,.65,.4,1);translate:0;rotate:20deg;scale:1.11 .88}65%{animation-timing-function:cubic-bezier(.6,0,1,.4);translate:0 -48px;rotate:-12deg;scale:.96 1.04}80%{animation-timing-function:cubic-bezier(0,.6,.4,1);translate:0;rotate:6deg;scale:1.05 .95}89%{animation-timing-function:cubic-bezier(.6,0,1,.4);translate:0 -15px;rotate:-3deg;scale:1}to{translate:0;rotate:0deg;scale:1}}@keyframes wf-letter-arrival{0%{translate:var(--wf-start-x) var(--wf-arrival-offset);opacity:1;animation-timing-function:cubic-bezier(.4,0,1,1);rotate:-16deg}28%{translate:var(--wf-edge-x) calc(var(--wf-arrival-offset) * .68);animation-timing-function:cubic-bezier(.35,.15,.8,.6);rotate:6deg}52%{animation-timing-function:cubic-bezier(0,.55,.45,1);translate:0;rotate:14deg;scale:1.09 .9}67%{animation-timing-function:cubic-bezier(.55,0,1,.45);translate:0 -32px;rotate:-8deg;scale:.97 1.03}81%{animation-timing-function:cubic-bezier(0,.55,.45,1);translate:0;rotate:4deg;scale:1.04 .96}89%{animation-timing-function:cubic-bezier(.55,0,1,.45);translate:0 -9px;rotate:-2deg;scale:1}to{opacity:1;translate:0;rotate:0deg;scale:1}}.wf-letter-position{transition:left .95s cubic-bezier(.22,.65,.3,1),top .95s cubic-bezier(.22,.65,.3,1),width .95s,height .95s,transform .2s}.wf-letter-position[data-dragging=true]{transition:none}.wf-letter-bead{background:color-mix(in oklab, var(--primary) 15%, transparent);color:var(--primary);border:1px solid color-mix(in oklab, var(--primary) 30%, transparent)}.wf-magnifier-viewport{touch-action:none;overscroll-behavior:contain;height:min(55dvh,420px)}.wf-letter-glyph{transition:transform .24s cubic-bezier(.22,.65,.3,1)}.wf-letter-snap{animation:.52s ease-out wf-letter-click}@keyframes wf-letter-click{0%{scale:1;box-shadow:0 0 #0000}30%{box-shadow:0 0 0 3px color-mix(in oklab, var(--primary) 25%, transparent);scale:.82}58%{box-shadow:0 0 16px 5px color-mix(in oklab, var(--primary) 25%, transparent);scale:1.12}80%{box-shadow:0 0 8px 3px color-mix(in oklab, var(--primary) 12%, transparent);scale:.97}to{scale:1;box-shadow:0 0 #0000}}.wf-cloud-letter{transition:left .95s cubic-bezier(.22,.65,.3,1),top .95s cubic-bezier(.22,.65,.3,1),width .95s,height .95s,transform .95s;transition-delay:var(--wf-assembly-delay,0s)}.wf-cloud-letter[data-dragging=true]{transition:none}@media (prefers-reduced-motion:reduce){.wf-letter-arrival{animation:none}.wf-letter-position,.wf-cloud-letter,.wf-letter-glyph{transition:none}.wf-letter-snap{animation:none}}.impl-diagram{font-family:var(--font-sans);overflow:visible}.impl-set{fill:var(--primary-soft);fill-opacity:.28;stroke:var(--primary);stroke-width:2px;vector-effect:non-scaling-stroke}.impl-letter{text-anchor:middle;fill:var(--primary);font-size:18px;font-weight:600}.impl-witness{fill:var(--chart-5);stroke:var(--primary);stroke-width:1.5px}.impl-small{text-anchor:middle;fill:var(--primary);font-size:13px}.impl-question{text-anchor:middle;fill:var(--muted-foreground);font-size:21px}.impl-reveal{animation:.34s ease-out both impl-reveal}@keyframes impl-reveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.impl-reveal{animation:none}}
