.ui-btn--link[data-v-58b646c3]{text-decoration:none}.ui-btn[data-v-58b646c3]{align-items:center;background:var(--ui-surface);border:var(--ui-border-w) solid var(--ui-border);border-radius:var(--ui-radius);box-shadow:var(--ui-shadow-md);color:var(--ui-text);cursor:pointer;display:inline-flex;font-family:var(--ui-font);font-weight:var(--ui-fw-bold);gap:var(--ui-sp-2);justify-content:center;letter-spacing:.04em;text-transform:uppercase;transition:transform var(--ui-transition),box-shadow var(--ui-transition);-webkit-user-select:none;-moz-user-select:none;user-select:none}.ui-btn[data-v-58b646c3]:hover:not(:disabled){box-shadow:5px 5px 0 0 var(--ui-border);transform:translate(-1px,-1px)}.ui-btn[data-v-58b646c3]:active:not(:disabled){box-shadow:1px 1px 0 0 var(--ui-border);transform:translate(2px,2px)}.ui-btn[data-v-58b646c3]:focus-visible{outline:var(--ui-border-w) dashed var(--ui-border);outline-offset:2px}.ui-btn[data-v-58b646c3]:disabled{box-shadow:var(--ui-shadow-sm);cursor:not-allowed;opacity:.6}.ui-btn--primary[data-v-58b646c3]{background:var(--ui-accent);color:var(--ui-accent-fg)}.ui-btn--primary[data-v-58b646c3]:hover:not(:disabled){background:var(--ui-accent-hover)}.ui-btn--danger[data-v-58b646c3]{background:var(--ui-danger);color:var(--ui-text-inverse)}.ui-btn--danger[data-v-58b646c3]:hover:not(:disabled){background:var(--ui-danger-hover)}.ui-btn--ghost[data-v-58b646c3]{background:transparent;box-shadow:none}.ui-btn--ghost[data-v-58b646c3]:hover:not(:disabled){background:var(--ui-surface-2);box-shadow:var(--ui-shadow-sm)}.ui-btn--sm[data-v-58b646c3]{font-size:var(--ui-fs-sm);min-height:24px;padding:4px 10px}.ui-btn--md[data-v-58b646c3]{font-size:var(--ui-fs-md);min-height:36px;padding:8px 16px}.ui-btn--lg[data-v-58b646c3]{font-size:var(--ui-fs-lg);min-height:48px;padding:12px 24px}.ui-btn--block[data-v-58b646c3]{width:100%}.ui-btn__label[data-v-58b646c3],.ui-btn__spinner[data-v-58b646c3]{display:inline-flex}.ui-btn__spinner[data-v-58b646c3]{align-items:flex-end;gap:3px;height:12px}.ui-btn__spinner>span[data-v-58b646c3]{animation:ui-blocks-58b646c3 .9s ease-in-out infinite;background:currentColor;display:block;height:4px;width:4px}.ui-btn__spinner>span[data-v-58b646c3]:nth-child(2){animation-delay:.15s}.ui-btn__spinner>span[data-v-58b646c3]:nth-child(3){animation-delay:.3s}@keyframes ui-blocks-58b646c3{0%,70%,to{opacity:.4;transform:translateY(0) scaleY(1)}35%{opacity:1;transform:translateY(-6px) scaleY(2)}}
