.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:var(--font-medium);border:1px solid transparent;cursor:pointer;outline:none;text-decoration:none;box-sizing:border-box;transition:background-color var(--duration-normal) var(--ease-default),border-color var(--duration-normal) var(--ease-default),color var(--duration-normal) var(--ease-default),box-shadow var(--duration-normal) var(--ease-default)}.p-btn:focus-visible{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 15%,transparent);outline:2px solid var(--color-border-focus);outline-offset:2px}.p-btn:disabled{opacity:.5;cursor:not-allowed}.p-btn--primary{background-color:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.p-btn--primary:hover:not(:disabled){background-color:var(--color-primary-hover);border-color:var(--color-primary-hover)}.p-btn--primary:active:not(:disabled){background-color:var(--color-primary-active);border-color:var(--color-primary-active)}.p-btn--secondary{background-color:var(--color-secondary);color:var(--color-on-secondary);border-color:var(--color-secondary)}.p-btn--secondary:hover:not(:disabled){background-color:var(--color-secondary-hover);border-color:var(--color-secondary-hover)}.p-btn--secondary:active:not(:disabled){background-color:var(--color-secondary-active);border-color:var(--color-secondary-active)}.p-btn--outline{background-color:transparent;color:var(--color-text);border-color:var(--color-border)}.p-btn--outline:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}.p-btn--outline:active:not(:disabled){background-color:var(--color-surface-active)}.p-btn--ghost{background-color:transparent;color:var(--color-text-secondary);border-color:transparent}.p-btn--ghost:hover:not(:disabled){background-color:var(--color-surface-hover);color:var(--color-text)}.p-btn--ghost:active:not(:disabled){background-color:var(--color-surface-active)}.p-btn--danger{background-color:var(--color-danger);color:var(--color-on-danger);border-color:var(--color-danger)}.p-btn--danger:hover:not(:disabled){background-color:var(--color-danger-hover);border-color:var(--color-danger-hover)}.p-btn--danger:active:not(:disabled){background-color:var(--color-danger-active);border-color:var(--color-danger-active)}.p-btn--sm{height:var(--size-sm);padding:0 var(--space-3);font-size:var(--text-xs)}.p-btn--md,.p-btn--sm{border-radius:var(--radius-button)}.p-btn--md{height:var(--size-md);padding:0 var(--space-4);font-size:var(--text-sm)}.p-btn--lg{height:var(--size-lg);padding:0 var(--space-5);font-size:var(--text-base);border-radius:var(--radius-button)}.p-btn--icon-only.p-btn--sm{width:var(--size-sm);padding:0}.p-btn--icon-only.p-btn--md{width:var(--size-md);padding:0}.p-btn--icon-only.p-btn--lg{width:var(--size-lg);padding:0}.p-btn--icon-only .p-btn__icon{margin:0}.p-btn__icon{display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:1.25em;height:1.25em}.p-btn__icon>svg{width:100%;height:100%}.p-btn__spinner{display:inline-block;width:1em;height:1em;border:2px solid;border-right:2px solid transparent;border-radius:var(--radius-full);animation:p-btn-spin .6s linear infinite}@keyframes p-btn-spin{to{transform:rotate(1turn)}}@media (max-width:480px){.p-btn,.p-btn--sm{min-height:44px}}