/* Mission · 03 · the coplanning Venn (g-venn.js): the home page's drawing, lit part by part as you scroll. */
.ms-venn-svg{display:block;width:100%;height:auto;max-height:100%;overflow:visible;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}
.ms-venn-svg text{pointer-events:none}
.ms-venn-name{font-family:var(--f-name);font-weight:var(--w-name);letter-spacing:-.012em;fill:var(--ink)}
.ms-venn-role{font-family:var(--f-label);font-weight:var(--w-label);letter-spacing:.13em;text-transform:uppercase;fill:var(--ink-2)}
.ms-venn-svg.is-narrow .ms-venn-role{letter-spacing:.09em}
.ms-venn-word{font-family:var(--f-name);font-weight:var(--w-name);letter-spacing:-.015em;fill:var(--ink);transition:opacity .45s var(--ms-ease)}
.ms-venn-stubt{font-family:var(--f-name);font-weight:var(--w-name);letter-spacing:-.01em}
.ms-venn-ico{fill:var(--ink);stroke:var(--ink)}
.ms-venn-name,.ms-venn-role{transition:opacity .45s var(--ms-ease)}
.ms-venn-name.is-dim,.ms-venn-role.is-dim,.ms-venn-word.is-dim,.ms-venn-ico g.is-dim{opacity:.38}
.ms-venn-ico g{transition:opacity .45s var(--ms-ease),transform 1.4s var(--ms-ease)}

/* the veils: every part not being read sits under a white veil */
.ms-venn-veil{fill:var(--ground);opacity:0;transition:opacity .45s var(--ms-ease);pointer-events:none}
.ms-venn-svg.has-on .ms-venn-veil{opacity:.62}
.ms-venn-svg.has-on .ms-venn-veil.is-on{opacity:0}
.ms-venn-out circle,.ms-venn-out path{fill:none;stroke:var(--ink);opacity:.85;pointer-events:none}

/* the stubs draw at step 3 and stay */
.ms-venn-ln{fill:none;stroke-linecap:round;stroke-dasharray:1 1;stroke-dashoffset:1;transition:stroke-dashoffset .9s var(--ms-ease)}
.ms-venn-dot,.ms-venn-stubt{opacity:0;transition:opacity .5s var(--ms-ease) .45s}
.ms-venn-svg.has-stubs .ms-venn-ln{stroke-dashoffset:0}
.ms-venn-svg.has-stubs .ms-venn-dot,.ms-venn-svg.has-stubs .ms-venn-stubt{opacity:1}
.ms-venn-svg.has-stubs .ms-venn-stub:not(.is-on){opacity:.4}
.ms-venn-stub{transition:opacity .4s var(--ms-ease)}
.ms-venn-svg.has-stubs .ms-venn-stub:nth-child(2) .ms-venn-ln{transition-delay:.12s}
.ms-venn-svg.has-stubs .ms-venn-stub:nth-child(3) .ms-venn-ln{transition-delay:.24s}

/* the centre: its glow grows when the centre is the step */
.ms-venn-glow{opacity:.55;transition:opacity .8s var(--ms-ease)}
.ms-venn-svg[data-s="4"] .ms-venn-glow,.ms-venn-svg[data-s="final"] .ms-venn-glow{opacity:.95}

/* the arrival: the three circles drift together, then the overlaps and the centre light */
.ms-venn-in{transition:transform 1.4s var(--ms-ease),opacity 1s var(--ms-ease)}
.ms-venn-svg:not(.is-in) .ms-venn-in{opacity:0}
.ms-venn-svg:not(.is-in) .ms-venn-in--s{transform:translate(-260px,-150px)}
.ms-venn-svg:not(.is-in) .ms-venn-in--i{transform:translate(260px,-150px)}
.ms-venn-svg:not(.is-in) .ms-venn-in--a{transform:translate(0,300px)}
.ms-venn-lenses,.ms-venn-core,.ms-venn-word{transition:opacity .8s var(--ms-ease) .9s}
.ms-venn-svg:not(.is-in) .ms-venn-lenses,.ms-venn-svg:not(.is-in) .ms-venn-core,.ms-venn-svg:not(.is-in) .ms-venn-word{opacity:0}
.ms-venn-svg.is-still *,.ms-static .ms-venn-svg *{transition:none!important}

/* the seven parts are buttons */
.ms-venn-reg{cursor:pointer;outline:none}
.ms-venn-reg path{fill:transparent;stroke:transparent}
.ms-venn-reg:focus-visible path{stroke:var(--focus);stroke-dasharray:14 10}
.ms-tip .ms-venn-tipline{display:block;margin:-1px 0 6px;font-family:var(--f-q);font-style:italic;color:var(--ink-3)}

/* static reading: the finished figure, not too large */
.ms-static .ms-venn-svg{max-width:760px;margin-inline:auto}
