.vpim-family{--vpim-result:currentColor;position:relative;isolation:isolate;box-sizing:border-box;padding:clamp(1rem,4vw,3rem);color:inherit;background:transparent;font-family:Georgia,serif;font-size:1.1rem;font-style:italic;line-height:1.5;overflow:hidden}
.vpim-family *{box-sizing:border-box}.vpim-family [hidden]{display:none!important}.vpim-family button{font:inherit;color:inherit;cursor:pointer}.vpim-family button:focus-visible,.vpim-family-field:focus-visible{outline:2px solid currentColor;outline-offset:6px}.vpim-family-determination{display:grid;justify-items:center;text-align:center;padding:1rem 0 2rem;min-height:420px}.vpim-family-field{position:relative;width:min(100%,420px);aspect-ratio:1;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 28%,transparent);border-radius:50%;cursor:crosshair;touch-action:manipulation;transition:box-shadow .8s,border-color .8s;margin:1rem 0 2rem}.vpim-family-field:before{content:"";position:absolute;inset:-5.5%;border:1px solid currentColor;border-color:color-mix(in srgb,currentColor 12%,transparent);border-radius:50%;pointer-events:none}.vpim-family.has-family .vpim-family-field{cursor:default;border-color:color-mix(in srgb,var(--vpim-result) 60%,currentColor 40%);box-shadow:0 0 80px color-mix(in srgb,var(--vpim-result) 15%,transparent)}.vpim-family-core{position:absolute;inset:38%;animation:vpim-family-pulse 3.6s ease-in-out infinite;pointer-events:none}.vpim-family-glow{position:absolute;inset:-70%;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--vpim-result) 60%,transparent),transparent 68%);filter:blur(2px)}.vpim-family-orb{position:relative;display:block;width:100%;height:100%;filter:drop-shadow(0 0 15px color-mix(in srgb,var(--vpim-result) 50%,transparent))}.vpim-family-disc{fill:var(--vpim-result);stroke:currentColor;stroke-opacity:.3;stroke-width:2;transition:fill 1s}.vpim-family-cursor{position:absolute;width:16px;height:16px;transform:translate(-50%,-50%);border:2px solid currentColor;border-radius:50%;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 20%,transparent);pointer-events:none}.vpim-family-instruction{margin:0!important;letter-spacing:.04em}.vpim-family-help{font:normal .85rem/1.5 system-ui,sans-serif;opacity:.8;max-width:30rem;margin:.7rem 0 0}.vpim-family-result{max-width:40rem;animation:vpim-family-rise .8s ease both}.vpim-family-result h3{font-family:Georgia,serif;font-style:normal;font-size:clamp(1.5rem,3vw,2.2rem);font-weight:500;letter-spacing:.05em;color:inherit!important;margin:0!important;text-wrap:balance}.vpim-family-result p{margin:.5rem 0!important}.vpim-family-action{border:1px solid currentColor!important;border-color:color-mix(in srgb,var(--vpim-result) 60%,currentColor 40%)!important;background:transparent!important;border-radius:0;padding:.7rem 1.4rem;margin-top:1.1rem;color:inherit!important;box-shadow:0 0 22px color-mix(in srgb,var(--vpim-result) 10%,transparent)}.vpim-family-action:hover{background:color-mix(in srgb,var(--vpim-result) 10%,transparent)!important}.vpim-family-oath{display:grid;justify-items:center;min-height:0;padding-top:1.5rem}.vpim-family-verses{position:relative;z-index:2;display:grid;gap:2rem;text-align:center;max-width:44rem;width:100%}.vpim-family-verse{font-size:clamp(1.05rem,2.4vw,1.55rem);line-height:1.55;margin:0!important;text-wrap:balance;color:inherit!important}.vpim-family-word{opacity:0;filter:blur(5px);transition:opacity .7s,filter .9s}.vpim-family-word.is-revealed{opacity:1;filter:none}.vpim-family-status{font:normal .9rem/1.5 system-ui,sans-serif;margin:.5rem 0 0}.vpim-family-status:empty{display:none}.vpim-family-sr{position:absolute!important;width:1px;height:1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.vpim-family .is-flashing{animation:vpim-family-flash 1.15s ease-out}.vpim-family-editor{border:1px dashed #777;padding:1.5rem;text-align:center}.vpim-family-editor-orb{width:140px;aspect-ratio:1;margin:1.5rem auto;border:1px solid currentColor;border-radius:50%;display:grid;place-items:center}.vpim-family-editor-orb:after{content:"";width:30px;height:30px;border-radius:50%;background:currentColor;box-shadow:0 0 30px currentColor;opacity:.65}@keyframes vpim-family-pulse{50%{transform:scale(1.07)}}@keyframes vpim-family-rise{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}@keyframes vpim-family-flash{18%{box-shadow:0 0 80px color-mix(in srgb,var(--vpim-result) 35%,transparent) inset,0 0 90px color-mix(in srgb,var(--vpim-result) 40%,transparent)}}@media(max-width:600px){.vpim-family{padding:1rem}.vpim-family-field{width:min(78vw,100%,360px)}.vpim-family-determination{min-height:350px}.vpim-family-oath{min-height:0}.vpim-family-verses{gap:1.5rem}.vpim-family-help{max-width:24rem}}@media(prefers-reduced-motion:reduce){.vpim-family *,.vpim-family *:before,.vpim-family *:after{animation:none!important;transition:none!important}.vpim-family-word{opacity:1;filter:none}}
