/* Anchored annotations shared by every visual. See annotations.mjs. */
.fig-ann{position:absolute;inset:0;pointer-events:none;z-index:4;font-family:var(--fig-font,Sora,Arial,sans-serif);--ann-halo:var(--ann-bg,#0f111b);--ann-ink:#eef2fb;--ann-muted:#b0bcd2}
.fig-ann>svg{position:absolute;inset:0;width:100%;height:100%;overflow:visible}
.fig-ann-mark{color:var(--tone)}
.fig-ann-mark .lead{fill:none;stroke:var(--tone);stroke-width:1;stroke-opacity:.72;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 1;vector-effect:non-scaling-stroke}
.fig-ann-mark .ring{fill:none;stroke:var(--tone);stroke-width:1.15;stroke-opacity:.5}
.fig-ann-mark.has-ring .ring{stroke-opacity:.9}
.fig-ann-mark .pin{fill:var(--tone)}
.fig-ann-mark.is-pressed .ring{stroke-width:1.6;stroke-opacity:1}
.fig-ann-label{position:absolute;left:0;top:0;width:max-content;max-width:212px;min-width:min-content;margin:0;padding:0;border:0;background:none;text-align:left;color:var(--ann-ink);font:inherit;will-change:transform,opacity;
 text-shadow:0 0 3px var(--ann-halo),0 0 8px var(--ann-halo),0 0 16px var(--ann-halo),0 0 24px var(--ann-halo)}
/* The module places the words every frame, so no page's button transitions may apply (they trail or fly in from the corner).
   min-width keeps a long title inside its box: the module measures the box, and a right-aligned title would spill onto its hairline. */
.fig-ann .fig-ann-label{transition:none}
.fig-ann-label.is-left{text-align:right}
.fig-ann-label b{display:block;font-weight:500;font-size:13.5px;line-height:1.3;letter-spacing:-.006em;color:var(--tone);white-space:nowrap}
.fig-ann-label span{display:block;margin-top:2px;font-size:12.5px;line-height:1.42;font-weight:400;color:var(--ann-muted);text-wrap:balance}
.fig-ann-label span[hidden]{display:none}
.fig-ann-label sub,.fig-ann-label sup{font-size:.72em;line-height:0}
button.fig-ann-label{cursor:pointer}
button.fig-ann-label:hover b,button.fig-ann-label[aria-pressed=true] b{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
button.fig-ann-label:focus-visible{outline:1.5px solid var(--tone);outline-offset:4px;border-radius:2px}
.fig-ann-label.is-swap{animation:fig-ann-swap .5s ease}
@keyframes fig-ann-swap{0%{filter:blur(0)}30%{opacity:.15;filter:blur(2px)}100%{filter:blur(0)}}
.fig-ann.is-compact .fig-ann-label{max-width:150px}
.fig-ann.is-compact .fig-ann-label b{font-size:12.5px}
.fig-ann.is-compact .fig-ann-label span{font-size:11.5px;line-height:1.38}
.fig-ann.is-compact .fig-ann-label[data-phone=title] span{display:none}
/* Light paper backgrounds: dark ink, a pale halo. */
.fig-ann.on-paper{--ann-halo:#ffffff;--ann-ink:#1a1f32;--ann-muted:#4d5569}
.fig-ann.is-plated .fig-ann-label{padding:5px 9px 6px;border-radius:6px;background:rgba(16,19,31,.72);-webkit-backdrop-filter:blur(10px) saturate(1.2);backdrop-filter:blur(10px) saturate(1.2);box-shadow:0 0 0 1px rgba(255,255,255,.06),0 6px 20px rgba(0,0,0,.35);text-shadow:none}
.fig-ann.is-plated .fig-ann-label span{color:#c0cade}
