/* Source-inspired silhouettes stay inside the existing interactive bounds. */
.type-shape.sculpted,.drawer-type.sculpted{background:transparent;border:0;border-radius:0}
.type-silhouette,.type-glow{position:absolute;inset:0;display:block;width:100%;height:100%;overflow:visible;fill:var(--type-color);stroke:none;pointer-events:none}
.type-silhouette{z-index:1}
.type-silhouette path{stroke:color-mix(in srgb,var(--type-fg) 10%,transparent);stroke-width:.6;stroke-linejoin:round}
.type-shape.sculpted .type-name,.drawer-type.sculpted .type-name{position:relative;z-index:2;translate:var(--form-label-x,0) var(--form-label-y,0);scale:var(--form-label-scale,1);pointer-events:none}
.drawer-type.sculpted{position:relative;isolation:isolate;--badge-size:120px;font-size:calc(var(--badge-size) * var(--form-font))}
/* Fade a pre-colored light layer: interpolating color-mix() filters can flash black. */
.type-shape.sculpted{
  --shape-glow:drop-shadow(0 0 2px color-mix(in srgb,var(--type-color) 95%,transparent))
    drop-shadow(0 0 7px color-mix(in srgb,var(--type-color) 60%,transparent))
    drop-shadow(0 0 16px color-mix(in srgb,var(--type-color) 30%,transparent));
}
.type-shape.sculpted > .type-glow{z-index:0;opacity:0;filter:var(--shape-glow);transition:opacity .18s var(--ease)}
.type-glow path{stroke:none}
.type-shape.sculpted:focus-visible > .type-glow{opacity:1;transition-duration:.24s}
@media(hover:hover) and (pointer:fine){
  .type-shape.sculpted:hover > .type-glow{opacity:1;transition-duration:.24s}
}
@media(prefers-reduced-motion:reduce){
  .type-shape.sculpted > .type-glow{transition:none}
}
@media(max-width:700px){.drawer-type.sculpted{--badge-size:108px}}
