.b-icon{display:inline-flex;align-items:center;justify-content:center;color:inherit;flex-shrink:0}.b-icon--2xs{width:var(--icon-2xs);height:var(--icon-2xs)}.b-icon--xs{width:var(--icon-xs);height:var(--icon-xs)}.b-icon--sm{width:var(--icon-sm);height:var(--icon-sm)}.b-icon--md{width:var(--icon-md);height:var(--icon-md)}.b-icon--lg{width:var(--icon-lg);height:var(--icon-lg)}.b-icon--xl{width:var(--icon-xl);height:var(--icon-xl)}.b-icon--2xl{width:var(--icon-2xl);height:var(--icon-2xl)}.b-spinner{display:inline-block;flex-shrink:0;border:var(--spinner-width) solid currentColor;border-top-color:transparent;border-radius:var(--radius-full);opacity:var(--opacity-spinner);animation:b-spinner-turn .6s linear infinite}.b-spinner--sm{width:var(--icon-sm);height:var(--icon-sm)}.b-spinner--lg{width:var(--icon-xl);height:var(--icon-xl)}@keyframes b-spinner-turn{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.b-spinner{animation-duration:1.5s}}.b-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-inline);font-family:var(--font-body);font-weight:var(--weight-medium);border:none;border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),color var(--transition-fast),border-color var(--transition-fast);line-height:var(--leading-tight);text-decoration:none}.b-btn--sm{height:var(--input-height-sm);padding:0 var(--space-3);font-size:var(--text-sm)}.b-btn--md{height:var(--input-height);padding:0 var(--space-5);font-size:var(--text-base)}.b-btn--lg{height:var(--input-height-lg);padding:0 var(--space-6);font-size:var(--text-lg)}.b-btn--primary{color:var(--white);background:var(--primary-500)}.b-btn--primary:hover:not(:disabled){background:var(--primary-600)}.b-btn--primary:active:not(:disabled){background:var(--primary-700)}.b-btn--primary:disabled{background:var(--primary-300);cursor:not-allowed}.b-btn--secondary{color:var(--primary-600);background:transparent;border:var(--border-default)}.b-btn--secondary:hover:not(:disabled){border-color:var(--primary-500);background:var(--primary-50)}.b-btn--secondary:active:not(:disabled){background:var(--primary-100)}.b-btn--secondary:disabled{color:var(--gray-400);border-color:var(--gray-200);cursor:not-allowed}.b-btn--danger{color:var(--white);background:var(--error-500)}.b-btn--danger:hover:not(:disabled){background:var(--error-600)}.b-btn--danger:active:not(:disabled){background:var(--error-600)}.b-btn--danger:disabled{opacity:var(--opacity-inactive);cursor:not-allowed}.b-btn--ghost{color:var(--gray-600);background:transparent}.b-btn--ghost:hover:not(:disabled){background:var(--gray-75);color:var(--gray-800)}.b-btn--ghost:active:not(:disabled){background:var(--gray-100)}.b-btn--ghost:disabled{color:var(--gray-400);cursor:not-allowed}.b-btn--icon{width:var(--icon-button-size);padding:0;color:var(--gray-500);background:transparent}.b-btn--icon.b-btn--sm{width:var(--icon-button-size-sm);height:var(--icon-button-size-sm)}.b-btn--icon:hover:not(:disabled){color:var(--gray-800);background:var(--gray-75)}.b-btn--icon:disabled{color:var(--gray-500);background:transparent}.b-btn--danger-quiet{color:var(--gray-500);background:transparent}.b-btn--danger-quiet:hover:not(:disabled){color:var(--error-500);background:var(--error-50)}.b-btn--text{height:auto;padding:0;color:var(--primary-500);background:transparent;text-decoration:underline;text-underline-offset:var(--space-1)}.b-btn--text:hover:not(:disabled){color:var(--primary-600)}.b-btn--over-photo,.b-btn--over-photo.b-btn--icon{color:var(--white);background:var(--scrim-medium)}.b-btn--over-photo:hover:not(:disabled),.b-btn--over-photo.b-btn--icon:hover:not(:disabled){color:var(--white);background:var(--scrim)}.b-btn--on-dark,.b-btn--on-dark.b-btn--icon,.b-btn--on-dark.b-btn--icon:hover:not(:disabled){color:var(--white);background:var(--overlay-light)}.b-btn--pressed,.b-btn--pressed:hover:not(:disabled),.b-btn--pressed:active:not(:disabled){color:var(--primary-600);background:var(--primary-50)}.b-btn--block{width:100%}@media(max-width:767px){.b-btn--icon{min-width:var(--mobile-touch-target);min-height:var(--mobile-touch-target)}}
