/* candor.inc orb, extracted 2026-10-11. The 216px optical surface scales as a whole. */
.source-orb {
  --source-orb-size: 216px;
  --source-ink: #000;
  --source-paper: #fff;
  --source-orb-base: #ededed;
  --source-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='220' height='220'%3E%3Cfilter id='g' color-interpolation-filters='sRGB'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 2.5 -0.75 0 0 0 2.5 -0.75 0 0 0 2.5 -0.75 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E");
  display: block;
  position: relative;
  width: var(--source-orb-size);
  height: var(--source-orb-size);
  flex: none;
  isolation: isolate;
}
.source-orb__disc {
  --source-phase: 0deg;
  --source-zoom: 1;
  --source-lean-x: 0px;
  --source-lean-y: 0px;
  --source-ring: 0;
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0 auto auto 0;
  display: grid;
  grid-template-areas: "stack";
  overflow: hidden;
  border-radius: 50%;
  background: var(--source-orb-base);
  isolation: isolate;
  transform-origin: 0 0;
  transform: scale(var(--source-orb-scale, 1));
}
.source-orb__disc::before {
  content: "";
  grid-area: stack;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background:
    conic-gradient(from calc(var(--source-phase) * 2) at 25% 70%, var(--source-ink), transparent 20% 80%, var(--source-ink)),
    conic-gradient(from calc(var(--source-phase) * 2) at 45% 75%, var(--source-paper), transparent 30% 60%, var(--source-paper)),
    conic-gradient(from calc(var(--source-phase) * -3) at 80% 20%, var(--source-ink), transparent 40% 60%, var(--source-ink)),
    conic-gradient(from calc(var(--source-phase) * 2) at 15% 5%, var(--source-paper), transparent 10% 90%, var(--source-paper)),
    conic-gradient(from var(--source-phase) at 20% 80%, var(--source-ink), transparent 10% 90%, var(--source-ink)),
    conic-gradient(from calc(var(--source-phase) * -2) at 85% 10%, var(--source-paper), transparent 20% 80%, var(--source-paper));
  box-shadow: inset var(--source-orb-base) 0 0 14px 4px;
  filter: blur(7px) contrast(2.35);
}
.source-orb__grain {
  grid-area: stack;
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--source-grain) 0 0 / 220px 220px;
  mix-blend-mode: overlay;
  opacity: .10;
  pointer-events: none;
}
.source-orb[data-interactive] .source-orb__disc {
  transform: translate(calc(var(--source-orb-size) * (1 - var(--source-zoom)) / 2), calc(var(--source-orb-size) * (1 - var(--source-zoom)) / 2)) scale(calc(var(--source-orb-scale, 1) * var(--source-zoom)));
  -webkit-mask-image: radial-gradient(circle closest-side at 50% 50%, #000 calc(100% - 30% * var(--source-ring)), transparent 100%);
  mask-image: radial-gradient(circle closest-side at 50% 50%, #000 calc(100% - 30% * var(--source-ring)), transparent 100%);
}
.source-orb[data-interactive] .source-orb__disc::before {
  --source-swell: calc(1 + .05 * var(--source-ring));
  clip-path: circle(calc(50% / var(--source-swell)) at calc(50% - var(--source-lean-x) / var(--source-swell)) calc(50% - var(--source-lean-y) / var(--source-swell)));
  transform: translate3d(var(--source-lean-x), var(--source-lean-y), 0) scale(var(--source-swell));
}

/* Numeric scale avoids CSS Values 4 length division, unsupported by older browsers.
   Before installation the disc fits its host, so no oversized first paint occurs. */
.source-orb[data-orb-sized] .source-orb__disc { width: var(--source-orb-basis, 216px); height: var(--source-orb-basis, 216px); }
