.btn{--_btn-height:var(--control-height);--_btn-gap:var(--space-2);--_btn-padding-inline:var(--space-5);--_btn-padding-block:var(--space-2);--_btn-font-size:var(--font-size-14);--_btn-line-height:var(--line-height-20);--_btn-fill-background:transparent;--_btn-fill-background-hover:transparent;--_btn-fill-border:transparent;--_btn-fill-border-hover:transparent;--_btn-fill-foreground:currentcolor;--_btn-outline-background:transparent;--_btn-outline-border:currentcolor;--_btn-outline-border-hover:currentcolor;--_btn-outline-foreground:currentcolor;--_btn-background:var(--_btn-fill-background);--_btn-background-hover:var(--_btn-fill-background-hover);--_btn-border:var(--_btn-fill-border);--_btn-border-hover:var(--_btn-fill-border-hover);--_btn-foreground:var(--_btn-fill-foreground);--_btn-foreground-hover:var(--_btn-fill-foreground);--_btn-background-active:var(--_btn-fill-background-hover);--_btn-border-active:var(--_btn-fill-border-hover);--_btn-foreground-active:var(--_btn-fill-foreground);display:inline-flex;min-height:var(--_btn-height);min-width:0;max-width:100%;align-items:center;justify-content:center;gap:var(--_btn-gap);padding:var(--_btn-padding-block) var(--_btn-padding-inline);border:1px solid var(--_btn-border);border-radius:var(--radius-button);outline:none;background:var(--_btn-background);color:var(--_btn-foreground);font:inherit;font-size:var(--_btn-font-size);font-weight:var(--font-weight-semibold);line-height:var(--_btn-line-height);text-align:center;white-space:normal;overflow-wrap:anywhere;text-decoration:none;cursor:pointer;transition:color var(--transition-fast),border-color var(--transition-fast),background-color var(--transition-fast),box-shadow var(--transition-fast),opacity var(--transition-fast)}.btn>:where(svg:not(.web-icon)){width:var(--_btn-line-height);height:var(--_btn-line-height);flex:0 0 auto}.btn>:where(span){min-width:0}.btn.btn-xxs{--_btn-padding-block:var(--space-1);--_btn-height:var(--control-height-xxs);--_btn-gap:var(--space-1);--_btn-padding-inline:var(--space-2);--_btn-font-size:var(--font-size-12);--_btn-line-height:var(--line-height-18)}.btn.btn-xs{--_btn-padding-block:var(--space-1);--_btn-height:var(--control-height-xs);--_btn-gap:var(--space-1);--_btn-padding-inline:var(--space-3);--_btn-font-size:var(--font-size-12);--_btn-line-height:var(--line-height-18)}.btn.btn-sm{--_btn-padding-block:var(--space-1);--_btn-height:var(--control-height-sm);--_btn-gap:var(--space-1-5);--_btn-padding-inline:var(--space-3-5);--_btn-font-size:var(--font-size-13)}.btn.btn-lg{--_btn-height:var(--control-height-lg);--_btn-padding-inline:var(--space-6);--_btn-font-size:var(--font-size-16);--_btn-line-height:var(--line-height-24)}.btn.btn-xl{--_btn-height:var(--control-height-xl);--_btn-gap:var(--space-2-5);--_btn-padding-inline:var(--space-7);--_btn-font-size:var(--font-size-18);--_btn-line-height:var(--line-height-28)}.btn.btn-xxl{--_btn-height:var(--control-height-xxl);--_btn-gap:var(--space-3);--_btn-padding-inline:var(--space-8);--_btn-font-size:var(--font-size-20);--_btn-line-height:var(--line-height-28)}.btn.btn-inline{min-height:auto;justify-content:flex-start;padding:var(--space-0)}.btn.is-icon{width:var(--_btn-height);flex:0 0 var(--_btn-height);padding:var(--space-0)}.btn.is-icon.is-rounded{border-radius:var(--radius-full)}.btn.btn-primary{--_btn-fill-background:var(--color-button-brand-background);--_btn-fill-background-hover:var(--color-button-brand-background-hover);--_btn-fill-border:var(--color-button-brand-border);--_btn-fill-border-hover:var(--color-button-brand-border-hover);--_btn-fill-foreground:var(--color-button-brand-foreground);--_btn-outline-border:var(--color-primary);--_btn-outline-border-hover:var(--color-primary-hover);--_btn-outline-foreground:var(--color-primary)}.btn.btn-secondary{--_btn-fill-background:var(--color-button-secondary-background);--_btn-fill-background-hover:var(--color-button-secondary-background-hover);--_btn-fill-border:var(--color-button-secondary-border);--_btn-fill-border-hover:var(--color-button-secondary-border-hover);--_btn-fill-foreground:var(--color-button-secondary-foreground);--_btn-outline-border:var(--color-button-outline-border);--_btn-outline-border-hover:var(--color-foreground);--_btn-outline-foreground:var(--color-text-body)}.btn.btn-tertiary{--_btn-fill-background:var(--color-button-tertiary-background);--_btn-fill-background-hover:var(--color-button-tertiary-background-hover);--_btn-fill-border:var(--color-button-tertiary-border);--_btn-fill-border-hover:var(--color-button-tertiary-border-hover);--_btn-fill-foreground:var(--color-button-tertiary-foreground)}.btn.btn-success{--_btn-fill-background:var(--color-success);--_btn-fill-background-hover:var(--color-success-strong);--_btn-fill-border:var(--color-success);--_btn-fill-border-hover:var(--color-success-strong);--_btn-fill-foreground:var(--color-success-foreground);--_btn-outline-border:var(--color-success);--_btn-outline-border-hover:var(--color-success-strong);--_btn-outline-foreground:var(--color-success)}.btn.btn-warning{--_btn-fill-background:var(--color-warning);--_btn-fill-background-hover:var(--color-warning-strong);--_btn-fill-border:var(--color-warning);--_btn-fill-border-hover:var(--color-warning-strong);--_btn-fill-foreground:var(--color-warning-foreground);--_btn-outline-border:var(--color-warning);--_btn-outline-border-hover:var(--color-warning-strong);--_btn-outline-foreground:var(--color-warning)}.btn.btn-danger{--_btn-fill-background:var(--color-button-danger-background);--_btn-fill-background-hover:var(--color-button-danger-background-hover);--_btn-fill-border:var(--color-button-danger-border);--_btn-fill-border-hover:var(--color-button-danger-border-hover);--_btn-fill-foreground:var(--color-button-danger-foreground);--_btn-outline-border:var(--color-danger);--_btn-outline-border-hover:var(--color-danger-strong);--_btn-outline-foreground:var(--color-danger)}.btn.btn-info{--_btn-fill-background:var(--color-info);--_btn-fill-background-hover:color-mix(in oklch, var(--color-info) 86%, var(--color-foreground));--_btn-fill-border:var(--color-info);--_btn-fill-border-hover:color-mix(in oklch, var(--color-info) 86%, var(--color-foreground));--_btn-fill-foreground:var(--color-info-foreground);--_btn-outline-border:var(--color-info);--_btn-outline-border-hover:color-mix(in oklch, var(--color-info) 86%, var(--color-foreground));--_btn-outline-foreground:var(--color-info)}.btn.btn-neutral{--_btn-fill-background:var(--color-button-neutral-background);--_btn-fill-background-hover:var(--color-button-neutral-background-hover);--_btn-fill-border:var(--color-border);--_btn-fill-border-hover:var(--color-border-strong);--_btn-fill-foreground:var(--color-background);--_btn-outline-border:var(--color-border-strong);--_btn-outline-border-hover:var(--color-foreground);--_btn-outline-foreground:var(--color-foreground)}.btn.btn-light{--_btn-fill-background:var(--color-button-light-background);--_btn-fill-background-hover:var(--color-button-light-background-hover);--_btn-fill-border:var(--color-button-light-border);--_btn-fill-border-hover:var(--color-button-light-border-hover);--_btn-fill-foreground:var(--color-button-light-foreground);--_btn-outline-border:var(--color-button-light-border);--_btn-outline-border-hover:var(--color-button-light-border-hover);--_btn-outline-foreground:var(--color-button-light-background)}.btn.btn-dark{--_btn-fill-background:var(--color-button-dark-background);--_btn-fill-background-hover:var(--color-button-dark-background-hover);--_btn-fill-border:var(--color-button-dark-border);--_btn-fill-border-hover:var(--color-button-dark-border-hover);--_btn-fill-foreground:var(--color-button-dark-foreground);--_btn-outline-border:var(--color-button-dark-border);--_btn-outline-border-hover:var(--color-button-dark-border-hover);--_btn-outline-foreground:var(--color-button-dark-background)}.btn.is-outline{--_btn-background:var(--_btn-outline-background);--_btn-background-hover:var(--_btn-fill-background);--_btn-border:var(--_btn-outline-border);--_btn-border-hover:var(--_btn-fill-border);--_btn-foreground:var(--_btn-outline-foreground);--_btn-foreground-hover:var(--_btn-fill-foreground)}.btn.is-outline.is-hover-border{--_btn-background-hover:var(--_btn-outline-background);--_btn-border-hover:var(--_btn-outline-border-hover);--_btn-foreground-hover:var(--_btn-outline-foreground)}.btn.is-outline.is-hover-fill{--_btn-background-hover:var(--_btn-fill-background);--_btn-border-hover:var(--_btn-fill-border);--_btn-foreground-hover:var(--_btn-fill-foreground)}.btn.is-hover-outline:not(.is-outline){--_btn-background-hover:var(--_btn-outline-background);--_btn-border-hover:var(--_btn-outline-border);--_btn-foreground-hover:var(--_btn-outline-foreground)}.btn.is-outline.is-dotted{border-style:dotted}.btn.btn-link{--_btn-background:transparent;--_btn-background-hover:transparent;--_btn-border:transparent;--_btn-border-hover:transparent;--_btn-foreground:var(--color-primary);--_btn-foreground-hover:var(--color-primary-hover);text-decoration:underline;text-decoration-color:#fff0;text-underline-offset:.2em}.btn.btn-link:hover:not(:is(:disabled,.is-disabled,[aria-disabled="true"],.is-no-hover)){color:var(--color-primary-hover);text-decoration-color:currentColor}.btn:hover:not(:is(:disabled,.is-disabled,[aria-disabled="true"],.is-no-hover)){border-color:var(--_btn-border-hover);background:var(--_btn-background-hover);color:var(--_btn-foreground-hover)}.btn:is(:active,.is-active,[aria-pressed="true"]):not(:is(:disabled,.is-disabled,[aria-disabled="true"])){border-color:var(--_btn-border-active);background:var(--_btn-background-active);color:var(--_btn-foreground-active);box-shadow:var(--shadow-button-active)}.btn.btn-link:is(:active,.is-active,[aria-pressed="true"]):not(:is(:disabled,.is-disabled,[aria-disabled="true"])){color:var(--color-primary-hover);text-decoration-color:currentcolor}.btn:focus-visible{outline:3px solid var(--color-focus-ring);outline-offset:2px}.btn:is(:disabled,.is-disabled,[aria-disabled="true"],.is-loading){cursor:not-allowed;opacity:.56}.btn-spinner{width:1em;height:1em;flex:0 0 auto;animation:btn-spinner-rotate 0.8s linear infinite}@keyframes btn-spinner-rotate{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.btn,.btn-spinner{transition:none;animation:none}}