.ui-spinner[data-v-5a804253]{width:var(--size-icon);height:var(--size-icon);color:currentColor;flex:none;display:inline-flex}.ui-spinner[data-size=sm][data-v-5a804253]{width:calc(var(--size-icon) - var(--space-1));height:calc(var(--size-icon) - var(--space-1))}.ui-spinner-ring[data-v-5a804253]{fill:none;stroke:currentColor;stroke-width:2px;width:100%;height:100%;animation:ui-spinner-turn-5a804253 var(--duration-spinner) linear infinite}.ui-spinner-track[data-v-5a804253]{opacity:.25}.ui-spinner-arc[data-v-5a804253]{stroke-linecap:round}@keyframes ui-spinner-turn-5a804253{to{transform:rotate(360deg)}}.ui-button[data-v-ffa85d48]{--button-bg:var(--color-bg-surface);--button-bg-hover:var(--color-bg-hover);--button-bg-pressed:var(--color-bg-pressed);--button-text:var(--color-text);--button-border:var(--color-border-field);justify-content:center;align-items:center;gap:var(--space-1);min-width:var(--size-target-min);height:var(--size-control-md);padding:0 var(--space-3);font-family:var(--font-sans);font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--button-text);white-space:nowrap;background:var(--button-bg);border:var(--size-border) solid var(--button-border);border-radius:var(--radius-md);box-shadow:var(--shadow-raised);cursor:pointer;-webkit-user-select:none;user-select:none;transition:transform var(--duration-fast) var(--ease-standard);flex:none;margin:0;text-decoration:none;display:inline-flex;position:relative}.ui-button[data-v-ffa85d48]:before{content:"";background:var(--button-bg-hover);border-radius:inherit;opacity:0;transition:opacity var(--duration-fast) var(--ease-standard);position:absolute;inset:-1px}.ui-button[data-variant=secondary][data-v-ffa85d48]:before{inset:0}.ui-button[data-v-ffa85d48]:hover:before{opacity:1}.ui-button[data-v-ffa85d48]:active:before{background:var(--button-bg-pressed);opacity:1}.ui-button[data-v-ffa85d48]:active:not(:disabled,[aria-disabled=true],[data-loading]){transform:scale(.98)}.ui-button[data-size=sm][data-v-ffa85d48]{height:var(--size-control-sm);padding:0 var(--space-2);border-radius:var(--radius-sm)}.ui-button[data-size=lg][data-v-ffa85d48]{height:var(--size-control-lg);padding:0 var(--space-4);font-size:var(--text-md);line-height:var(--leading-md);border-radius:var(--radius-md)}.ui-button[data-variant=primary][data-v-ffa85d48]{--button-bg:var(--color-accent);--button-bg-hover:var(--color-accent-hover);--button-bg-pressed:var(--color-accent-pressed);--button-text:var(--color-text-on-accent);--button-border:transparent}.ui-button[data-variant=ghost][data-v-ffa85d48]{--button-bg:transparent;--button-border:transparent;box-shadow:none}.ui-button[data-variant=danger][data-v-ffa85d48]{--button-bg:var(--color-danger-solid);--button-bg-hover:var(--color-danger-solid-hover);--button-bg-pressed:var(--color-danger-solid-pressed);--button-text:var(--color-text-on-danger);--button-border:transparent}.ui-button[data-v-ffa85d48]:disabled,.ui-button[aria-disabled=true][data-v-ffa85d48]{--button-bg:var(--color-bg-subtle);--button-text:var(--color-text-disabled);--button-border:var(--color-border-divider);box-shadow:none;cursor:not-allowed}.ui-button[data-variant=ghost][data-v-ffa85d48]:disabled,.ui-button[data-variant=ghost][aria-disabled=true][data-v-ffa85d48]{--button-bg:transparent;--button-border:transparent}.ui-button[data-v-ffa85d48]:disabled:before,.ui-button[aria-disabled=true][data-v-ffa85d48]:before,.ui-button[data-loading][data-v-ffa85d48]:before{opacity:0}.ui-button[data-loading][data-v-ffa85d48]{cursor:progress}.ui-button[data-loading]>.ui-button-label[data-v-ffa85d48],.ui-button[data-loading]>.ui-button-icon[data-v-ffa85d48]{opacity:0}.ui-button-spinner[data-v-ffa85d48]{margin:auto;position:absolute;inset:0}.ui-button-label[data-v-ffa85d48],.ui-button-icon[data-v-ffa85d48]{position:relative}.ui-button-icon[data-v-ffa85d48]{width:var(--size-icon);height:var(--size-icon);flex:none}.ui-button-icon+.ui-button-label[data-v-ffa85d48]{margin-left:var(--space-half)}.ui-button-label[data-v-ffa85d48]{text-overflow:ellipsis;overflow:hidden}.ui-button-label[data-v-ffa85d48]:empty{display:none}@media (forced-colors:active){.ui-button[data-v-ffa85d48]{border-color:buttontext}.ui-button[data-v-ffa85d48]:disabled,.ui-button[aria-disabled=true][data-v-ffa85d48]{color:graytext;border-color:graytext}}
