.btn{--_bd:var(--btn-stroke);--_bg:var(--btn-bg);--_fg:var(--btn-color);--_bd-hover:var(--btn-hover-stroke);--_bg-hover:var(--btn-hover-bg);--_fg-hover:var(--btn-hover-color);--_bd-focus:var(--btn-focus-stroke);--_bg-focus:var(--btn-focus-bg);--_fg-focus:var(--btn-focus-color);--_bd-active:var(--btn-active-stroke);--_bg-active:var(--btn-active-bg);--_fg-active:var(--btn-active-color)}.btn:is(a,button),.btn :is(a,button){font:var(--btn-weight) var(--btn-fs) / var(--btn-leading) var(--btn-font);text-transform:var(--btn-transform,none);padding:var(--btn-py) var(--btn-px);border-radius:var(--btn-radius);border:1px solid var(--_bd);background-color:var(--_bg);color:var(--_fg);cursor:pointer;user-select:none;text-decoration:none;transition:background-color 0.15s,color 0.15s,border-color 0.15s,transform 0.02s}.btn:is(a,button):hover,.btn :is(a,button):hover{background-color:var(--_bg-hover);color:var(--_fg-hover);border-color:var(--_bd-hover)}.btn:is(a,button):focus-visible,.btn :is(a,button):focus-visible{outline:2px solid var(--btn-focus-ring);outline-offset:2px;background-color:var(--_bg-focus);color:var(--_fg-focus);border-color:var(--_bd-focus)}.btn:is(a,button):active,.btn :is(a,button):active{background-color:var(--_bg-active);color:var(--_fg-active);border-color:var(--_bd-active);transform:translateY(1px)}.btn:is(a,button)[disabled],.btn :is(a,button)[disabled],.btn:is(a,button)[aria-disabled='true'],.btn :is(a,button)[aria-disabled='true']{opacity:.6;cursor:not-allowed;pointer-events:none}.btn-primary{--btn-stroke:var(--btn-primary-stroke);--btn-bg:var(--btn-primary-bg);--btn-color:var(--btn-primary-color);--btn-hover-stroke:var(--btn-primary-hover-stroke);--btn-hover-bg:var(--btn-primary-hover-bg);--btn-hover-color:var(--btn-primary-hover-color);--btn-focus-stroke:var(--btn-primary-focus-stroke);--btn-focus-bg:var(--btn-primary-focus-bg);--btn-focus-color:var(--btn-primary-focus-color);--btn-active-stroke:var(--btn-primary-active-stroke);--btn-active-bg:var(--btn-primary-active-bg);--btn-active-color:var(--btn-primary-active-color)}.btn-secondary{--btn-stroke:var(--btn-secondary-stroke);--btn-bg:var(--btn-secondary-bg);--btn-color:var(--btn-secondary-color);--btn-hover-stroke:var(--btn-secondary-hover-stroke);--btn-hover-bg:var(--btn-secondary-hover-bg);--btn-hover-color:var(--btn-secondary-hover-color);--btn-focus-stroke:var(--btn-secondary-focus-stroke);--btn-focus-bg:var(--btn-secondary-focus-bg);--btn-focus-color:var(--btn-secondary-focus-color);--btn-active-stroke:var(--btn-secondary-active-stroke);--btn-active-bg:var(--btn-secondary-active-bg);--btn-active-color:var(--btn-secondary-active-color)}.btn-tertiary{--btn-stroke:var(--btn-tertiary-stroke);--btn-bg:var(--btn-tertiary-bg);--btn-color:var(--btn-tertiary-color);--btn-hover-stroke:var(--btn-tertiary-hover-stroke);--btn-hover-bg:var(--btn-tertiary-hover-bg);--btn-hover-color:var(--btn-tertiary-hover-color);--btn-focus-stroke:var(--btn-tertiary-focus-stroke);--btn-focus-bg:var(--btn-tertiary-focus-bg);--btn-focus-color:var(--btn-tertiary-focus-color);--btn-active-stroke:var(--btn-tertiary-active-stroke);--btn-active-bg:var(--btn-tertiary-active-bg);--btn-active-color:var(--btn-tertiary-active-color)}.btn-flat{--btn-stroke:var(--btn-flat-stroke);--btn-bg:var(--btn-flat-bg);--btn-color:var(--btn-flat-color);--btn-hover-stroke:var(--btn-flat-hover-stroke);--btn-hover-bg:var(--btn-flat-hover-bg);--btn-hover-color:var(--btn-flat-hover-color);--btn-focus-stroke:var(--btn-flat-focus-stroke);--btn-focus-bg:var(--btn-flat-focus-bg);--btn-flat-focus-color:var(--btn-flat-focus-color);--btn-active-stroke:var(--btn-flat-active-stroke);--btn-active-bg:var(--btn-flat-active-bg);--btn-active-color:var(--btn-flat-active-color)}.btn-sm{--btn-fs:0.875rem;--btn-py:0.4em;--btn-px:0.8em}.btn-lg{--btn-fs:1.125rem;--btn-py:0.65em;--btn-px:1.2em}.btn-pill{--btn-radius:9999px}.btn-ghost{--btn-bg:transparent;--btn-stroke:transparent}