.btn{--_bg:var(--surface);--_fg:var(--ink);--_bd:var(--border);--_h:var(--h-md);position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;height:var(--_h);padding-inline:1.1em;border-radius:var(--r-sm);font:600 .875rem/1 var(--font-body);letter-spacing:-.005em;white-space:nowrap;text-decoration:none;background:var(--_bg);color:var(--_fg);border:1px solid var(--_bd);cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:transform var(--dur-base) var(--ease-critical),background-color var(--dur-fast) ease,border-color var(--dur-fast) ease,color var(--dur-fast) ease,box-shadow var(--dur-base) var(--ease-out)}@media (hover:hover){.btn:hover{--_bg:color-mix(in oklab,var(--surface),var(--ink) 4%)}}.btn:active{transform:scale(.97);transition-duration:var(--dur-press)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;pointer-events:none;cursor:default}.btn[aria-busy=true]{color:transparent;pointer-events:none}.btn[aria-busy=true]:after{content:"";position:absolute;inset:0;margin:auto;width:1em;height:1em;border-radius:50%;border:2px solid var(--_fg);border-right:2px solid transparent;animation:btnSpin .7s linear infinite}@keyframes btnSpin{to{transform:rotate(1turn)}}.btn .btn__arrow{display:inline-block;transition:transform var(--dur-fast) var(--ease-out)}@media (hover:hover){.btn:hover .btn__arrow{transform:translateX(2px)}}.btn--primary{--_bg:var(--accent-solid);--_fg:#fff;--_bd:transparent;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.12),0 1px 2px rgba(0,0,0,.12)}@media (hover:hover){.btn--primary:hover{--_bg:var(--accent-solid-hover)}}.btn--ghost{--_bg:transparent;--_bd:var(--border)}@media (hover:hover){.btn--ghost:hover{--_bg:var(--surface)}}.btn--destructive{--_fg:var(--danger)}@media (hover:hover){.btn--destructive:hover{--_bg:var(--danger-bg);--_bd:var(--badge-danger-border)}}.btn--link{--_bg:transparent;--_bd:transparent;--_fg:var(--accent);padding-inline:.25em}@media (hover:hover){.btn--link:hover{--_bg:transparent;text-decoration:underline;text-underline-offset:3px}}.btn--quiet{--_bg:transparent;--_bd:transparent;--_fg:var(--ink-3)}@media (hover:hover){.btn--quiet:hover{--_bg:var(--surface);--_fg:var(--ink)}}.btn--sm{--_h:var(--h-sm);font-size:.8125rem;padding-inline:.85em;border-radius:var(--r-xs)}.btn--lg{--_h:var(--h-lg);font-size:.9375rem;padding-inline:1.5em;border-radius:var(--r-md)}.btn--pill{border-radius:var(--r-pill)}.btn--icon{padding-inline:0;aspect-ratio:1}.btn--compact{--_h:28px;padding-inline:.6em;font-size:.75rem;border-radius:var(--r-xs)}.btn--compact.btn--icon{padding-inline:0}.btn--compact:before{content:"";position:absolute;inset:-6px}.btn--block{display:flex;width:100%;height:auto;min-height:var(--_h);padding-block:.5em;white-space:normal;text-align:center;line-height:1.3}@media (pointer:coarse){.btn:not(.btn--compact){min-height:44px}.btn--icon:not(.btn--compact){min-width:44px}.btn--compact:before{inset:-8px}}@media (prefers-reduced-motion:reduce){.btn:active{transform:none}.btn .btn__arrow{transition:none}}