.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);border:1.5px solid transparent;border-radius:var(--radius-md);font-family:inherit;font-weight:600;letter-spacing:.01em;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out),border-color var(--duration-base) var(--ease-out),opacity var(--duration-base) var(--ease-out),transform .12s var(--ease-out)}.ui-btn:active{transform:scale(.98)}.ui-btn:disabled,.ui-btn[aria-disabled=true]{cursor:not-allowed;opacity:.55;pointer-events:none}.ui-btn:focus-visible{outline:2px solid var(--clr-accent-light);outline-offset:2px}.ui-btn-full{width:100%}.ui-btn-label{display:inline-flex;align-items:center}.ui-btn-icon{padding:0;gap:0;position:relative;flex-shrink:0}.ui-btn-icon.ui-btn-sm{width:32px}.ui-btn-icon.ui-btn-md{width:40px}.ui-btn-icon.ui-btn-lg{width:48px}.ui-btn-icon .ui-btn-label svg{width:20px;height:20px}.ui-btn-sm{height:32px;padding:0 var(--space-3);font-size:var(--text-sm);border-radius:var(--radius-sm)}.ui-btn-md{height:40px;padding:0 var(--space-4);font-size:var(--text-base)}.ui-btn-lg{height:48px;padding:0 var(--space-6);font-size:var(--text-lg);border-radius:var(--radius-lg)}.ui-btn-primary{background:linear-gradient(135deg,var(--clr-accent) 0,var(--clr-accent-dark) 100%);color:var(--app-text-inverse);box-shadow:var(--shadow-sm)}.ui-btn-primary:hover:not(:disabled){opacity:.92}.ui-btn-secondary{background:var(--clr-surface-2);color:var(--app-text-secondary);border-color:var(--clr-border)}.ui-btn-secondary:hover:not(:disabled){background:var(--clr-surface-3);color:var(--app-text-primary)}.ui-btn-danger{background:linear-gradient(135deg,var(--clr-danger) 0,color-mix(in srgb,var(--clr-danger) 70%,black) 100%);color:var(--app-text-inverse);box-shadow:var(--shadow-sm)}.ui-btn-danger:hover:not(:disabled){opacity:.92}.ui-btn-ghost{background:transparent;color:var(--app-text-accent);border-color:transparent}.ui-btn-ghost:hover:not(:disabled){background:var(--clr-accent-muted)}.ui-btn-danger-ghost{background:transparent;color:var(--clr-danger);border-color:transparent}.ui-btn-danger-ghost:hover:not(:disabled){background:var(--clr-danger-muted)}.ui-btn-warning{background:transparent;color:var(--clr-warning);border-color:color-mix(in srgb,var(--clr-warning) 40%,transparent)}.ui-btn-warning:hover:not(:disabled){background:var(--clr-warning-muted)}.ui-btn-spinner{width:1em;height:1em;border-radius:50%;border:2px solid;border-top:2px solid transparent;opacity:.85;animation:ui-btn-spin .7s linear infinite}@keyframes ui-btn-spin{to{transform:rotate(1turn)}}