.specular-button{--sb-radius:18px;--sb-tint:#fff;--sb-tint-opacity:0;--sb-blur:0px;--sb-text-color:#f5f5f5;letter-spacing:.01em;color:var(--sb-text-color);background:color-mix(in srgb, var(--sb-tint) calc(var(--sb-tint-opacity) * 100%), transparent);border-radius:var(--sb-radius);-webkit-backdrop-filter:blur(var(--sb-blur));cursor:pointer;border:none;outline:none;justify-content:center;align-items:center;margin:0;font-family:inherit;font-weight:500;line-height:1;text-decoration:none;transition:transform .15s,background .2s,box-shadow .2s;display:inline-flex;position:relative;box-shadow:inset 0 1px #ffffff0a,0 8px 24px #00000040}.specular-button:active{transform:scale(.97)}.specular-button:focus-visible{outline:2px solid color-mix(in srgb, var(--sb-text-color) 70%, transparent);outline-offset:3px}.specular-button:disabled{opacity:.55;cursor:default}.specular-button:disabled:active{transform:none}.specular-button--sm{padding:10px 22px;font-size:.85rem}.specular-button--md{padding:14px 30px;font-size:1rem}.specular-button--lg{padding:18px 40px;font-size:1.15rem}.specular-button__fx{pointer-events:none;z-index:1;position:absolute;inset:-20px}.specular-button__fx canvas{width:100%;height:100%;display:block}.specular-button__label{z-index:2;justify-content:center;align-items:center;gap:.5rem;display:inline-flex;position:relative}
.status-mark{--sm-size:20px;--sm-stroke:2;--sm-color:currentColor;--sm-done:#22c55e;--sm-error:#ef4444;--sm-fill:.06;--sm-font:14px;--sm-draw:.24s;--sm-strike-delay:.18s;--sm-muted:.55;--sm-check-delay:.12s;--sm-label-o:.65;--sm-ease-out:cubic-bezier(.23, 1, .32, 1);--sm-ease-in-out:cubic-bezier(.77, 0, .175, 1);align-items:center;gap:calc(var(--sm-size) * .5);vertical-align:middle;line-height:1;display:inline-flex;position:relative}.status-mark__glyph{color:var(--sm-color);flex:none;transition:color .2s;overflow:visible}.status-mark[data-status=done] .status-mark__glyph{color:var(--sm-done)}.status-mark[data-status=failed] .status-mark__glyph{color:var(--sm-error)}.status-mark__track{fill:currentColor;stroke:currentColor;stroke-width:var(--sm-stroke);fill-opacity:0;stroke-opacity:0;transition:fill-opacity .18s,stroke-opacity .2s}.status-mark[data-status=running] .status-mark__track{stroke-opacity:.2}.status-mark[data-status=done] .status-mark__track,.status-mark[data-status=failed] .status-mark__track{fill-opacity:var(--sm-fill)}.status-mark__ring{fill:none;stroke:currentColor;stroke-width:var(--sm-stroke);stroke-linecap:round;opacity:var(--sm-muted);transition:opacity .2s}.status-mark[data-status=running] .status-mark__ring,.status-mark[data-status=done] .status-mark__ring,.status-mark[data-status=failed] .status-mark__ring{opacity:1}.status-mark__check,.status-mark__cross{fill:none;stroke:currentColor;stroke-width:var(--sm-stroke);stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:1 2;stroke-dashoffset:1.05px;opacity:0;transition:stroke-dashoffset .16s var(--sm-ease-out), opacity 0s linear .16s}.status-mark[data-status=done] .status-mark__check,.status-mark[data-status=failed] .status-mark__cross,.status-mark[data-status=cancelled] .status-mark__cross{stroke-dashoffset:0;opacity:1;transition:stroke-dashoffset var(--sm-draw) var(--sm-ease-out) var(--sm-check-delay), opacity 0s linear var(--sm-check-delay)}.status-mark__label{color:var(--sm-color);font-size:var(--sm-font);opacity:var(--sm-label-o);line-height:1.25;transition:opacity .2s;position:relative}.status-mark[data-status=running]{--sm-label-o:1}.status-mark[data-status=done]{--sm-label-o:.6}.status-mark[data-status=failed]{--sm-label-o:1}.status-mark[data-status=cancelled]{--sm-label-o:.55}.status-mark__strike{height:max(1px, calc(var(--sm-font) / 14));transform-origin:0;pointer-events:none;transition:transform .16s var(--sm-ease-out);background:currentColor;position:absolute;top:50%;left:0;right:0;transform:scaleX(0)translateY(-50%)}.status-mark[data-status=done][data-strike] .status-mark__strike{transition:transform .28s var(--sm-ease-out) var(--sm-strike-delay);transform:scaleX(1)}.status-mark__sr{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes sm-breathe{50%{opacity:.45}}@media (prefers-reduced-motion:reduce){.status-mark[data-indeterminate] .status-mark__ring{animation:sm-breathe 1.4s var(--sm-ease-in-out) infinite}.status-mark__check,.status-mark__cross{stroke-dashoffset:0;transition:opacity .2s}.status-mark__strike{opacity:0;transition:opacity .2s;transform:scaleX(1)!important}.status-mark[data-status=done][data-strike] .status-mark__strike{opacity:1}}
