@keyframes spinner-rotate{to{transform:rotate(360deg)}}.spinner{width:var(--spinner-size-md);height:var(--spinner-size-md);flex-shrink:0;display:inline-flex}.spinner--sm{width:var(--spinner-size-sm);height:var(--spinner-size-sm)}.spinner--md{width:var(--spinner-size-md);height:var(--spinner-size-md)}.spinner--lg{width:var(--spinner-size-lg);height:var(--spinner-size-lg)}.spinner__svg{width:100%;height:100%;animation:spinner-rotate var(--spinner-duration) linear infinite}.spinner__track{stroke:currentColor;stroke-width:var(--spinner-stroke-width);opacity:.2;fill:none}.spinner__arc{stroke:currentColor;stroke-width:var(--spinner-stroke-width);stroke-linecap:round;fill:none;stroke-dasharray:62.83;stroke-dashoffset:47.12px}@media (prefers-reduced-motion:reduce){.spinner__svg{animation:none}.spinner__arc{stroke-dashoffset:0;opacity:.5}}
.button{--button-glow-color:#ffffff73;padding:var(--button-padding-y) var(--button-padding-x);font-family:var(--font-family-base);font-size:var(--button-font-size);font-weight:var(--button-font-weight);border-radius:var(--button-border-radius);border:var(--button-border-width) solid var(--button-primary-border);background:var(--button-primary-background);color:var(--button-primary-foreground);cursor:pointer;isolation:isolate;transition:border-color var(--button-duration) var(--easing-default), color var(--button-duration) var(--easing-default);white-space:nowrap;-webkit-user-select:none;user-select:none;justify-content:center;align-items:center;line-height:1;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.button:hover{border-color:var(--button-primary-background-hover)}.button:focus-visible{outline:var(--focus-ring-width) solid var(--color-border-focus);outline-offset:var(--focus-ring-offset)}.button:disabled,.button--disabled{opacity:var(--opacity-disabled);cursor:not-allowed}.button__label{align-items:center;gap:var(--button-icon-gap);z-index:1;display:inline-flex;position:relative}.button__label--hidden{opacity:0}.button--secondary{background:var(--button-secondary-background);color:var(--button-secondary-foreground);border-color:var(--button-secondary-border);border-width:var(--button-outline-border-width);transition:border-color var(--button-duration) var(--easing-default), color var(--button-duration) var(--easing-default)}.button--secondary:hover{border-color:var(--button-secondary-background-hover)}.button--secondary.button--hovering{color:var(--button-secondary-foreground-hover)}.button--ghost{background:var(--button-ghost-background);color:var(--button-ghost-foreground);border-color:var(--button-ghost-border);border-width:var(--button-outline-border-width)}.button--link{color:inherit;transition:text-decoration-color var(--button-duration) var(--easing-default);background:0 0;border-color:#0000;padding-inline:0;-webkit-text-decoration:underline #0000;text-decoration:underline #0000;text-decoration-thickness:1px;overflow:visible}.button--link:hover{background:0 0;border-color:#0000;text-decoration-color:currentColor}.button--full-width{justify-content:center;width:100%}.button--loading{cursor:not-allowed;pointer-events:none}.button__spinner{z-index:1;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.button__spinner-svg{width:var(--icon-size-sm);height:var(--icon-size-sm);animation:button-spinner-rotate var(--button-spinner-duration) linear infinite}@keyframes button-spinner-rotate{to{transform:rotate(360deg)}}.button__icon{flex-shrink:0;align-items:center;width:1em;height:1em;display:flex}.button__arrow{transition:transform var(--button-duration) var(--easing-default);flex-shrink:0;align-items:center;display:flex}.button:hover .button__arrow{transform:translateX(var(--button-arrow-nudge))}.button__glow{width:var(--button-glow-size);height:var(--button-glow-size);background:radial-gradient(circle, var(--button-glow-color) 0%, transparent 70%);pointer-events:none;z-index:-1;opacity:0;border-radius:50%;position:absolute;transform:translate(-50%,-50%)}.button__wipe{pointer-events:none;z-index:-1;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.button__wipe path{fill:var(--button-primary-background-hover)}.button--secondary .button__wipe path{fill:var(--button-secondary-background-hover)}.button--ghost .button__wipe path{fill:var(--button-ghost-background-hover)}@media (hover:none){.button:active{background:var(--button-primary-background-hover)}.button--secondary:active{background:var(--button-secondary-background-hover);color:var(--button-secondary-foreground-hover);border-color:var(--button-secondary-background-hover)}.button--ghost:active{background:var(--button-ghost-background-hover)}.button--link:active{background:0 0}}@media (prefers-reduced-motion:reduce){.button__wipe{display:none}.button__spinner-svg{animation:none}.button--link{transition:none}.button{transition:background var(--button-duration) var(--easing-default), border-color var(--button-duration) var(--easing-default), color var(--button-duration) var(--easing-default)}.button:hover{background:var(--button-primary-background-hover)}.button--secondary:hover{background:var(--button-secondary-background-hover);color:var(--button-secondary-foreground-hover)}.button--ghost:hover{background:var(--button-ghost-background-hover)}.button--link:hover{background:0 0;border-color:#0000;text-decoration-color:currentColor}}
