@property --shutter-p{syntax:"<number>";inherits:true;initial-value:0}.shutter{--halo-at:7px;--halo-band:var(--halo-veil,transparent);--press-scale:.94;--shutter-l:.8;--shutter-c:.13;--shutter-p:var(--progress,0);--shutter-light:conic-gradient(from 210deg, oklch(var(--shutter-l) var(--shutter-c) var(--shutter-h1,25)), oklch(var(--shutter-l) var(--shutter-c) var(--shutter-h2,85)), oklch(var(--shutter-l) var(--shutter-c) var(--shutter-h3,155)), oklch(var(--shutter-l) var(--shutter-c) var(--shutter-h1,25)))}.dark .shutter{--shutter-l:.74;--shutter-c:.15}.shutter:focus-visible{outline:2px solid var(--halo-ink);outline-offset:calc(var(--halo-at) + (1 - var(--halo-t)) * 1.5px)}.shutter-ring{pointer-events:none;border-radius:9999px;position:absolute;inset:-5px;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 3px),#000 calc(100% - 2.5px))}.shutter-track,.shutter-fill{border-radius:inherit;background:var(--shutter-light);position:absolute;inset:0}.shutter[data-state=sending] .shutter-ring,.shutter[data-state=done] .shutter-ring{-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 4px),#000 calc(100% - 3.5px))}.shutter[data-state=sending] .shutter-track,.shutter[data-state=done] .shutter-track{opacity:.28}.shutter-fill{opacity:0;-webkit-mask:conic-gradient(#000 calc(var(--shutter-p) * 1turn), transparent 0);-webkit-mask:conic-gradient(#000 calc(var(--shutter-p) * 1turn), transparent 0);mask:conic-gradient(#000 calc(var(--shutter-p) * 1turn), transparent 0)}.shutter[data-state=sending] .shutter-fill,.shutter[data-state=done] .shutter-fill{opacity:1}.shutter[data-state=done]{--shutter-p:1}.shutter-glow{z-index:-1;pointer-events:none;background:var(--shutter-light);filter:blur(14px);opacity:.6;border-radius:9999px;position:absolute;inset:-4px}.shutter[data-state=sending] .shutter-glow{opacity:.35}@media (prefers-reduced-motion:no-preference){.shutter{transition:--shutter-p .42s var(--ease-emphasis), scale .15s var(--ease-emphasis)}.shutter-track,.shutter-fill,.shutter-glow{transition:opacity .24s var(--ease-emphasis)}.shutter[data-state=idle] .shutter-glow{animation:4.8s ease-in-out infinite alternate shutter-breathe}}@keyframes shutter-breathe{to{opacity:.32}}@media (forced-colors:active){.shutter-ring,.shutter-glow{display:none}}