@property --btn-grad-a{syntax:"<color>";inherits:false;initial-value:#0000}@property --btn-grad-b{syntax:"<color>";inherits:false;initial-value:#0000}.btn{--btn-shadow:none;--btn-ring:var(--ring-accent);isolation:isolate;justify-content:center;align-items:center;gap:var(--space-2);height:var(--control-height);padding:0 var(--space-4);border:var(--border-hairline) solid transparent;border-radius:var(--radius-md);font-family:var(--font-sans);font-size:var(--size-body);font-weight:var(--weight-medium);letter-spacing:var(--tracking-normal);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;appearance:none;box-shadow:var(--btn-shadow);transition:background-color var(--duration-fast) var(--ease-standard), --btn-grad-a var(--duration-base) var(--ease-standard), --btn-grad-b var(--duration-base) var(--ease-standard), border-color var(--duration-fast) var(--ease-standard), color var(--duration-fast) var(--ease-standard), box-shadow var(--duration-fast) var(--ease-standard), transform var(--duration-fast) var(--ease-standard);line-height:1;display:inline-flex;position:relative}.btn:focus-visible{box-shadow:var(--btn-shadow), var(--btn-ring);outline:none}.btn--sm{height:var(--control-height-sm);padding:0 var(--space-3);font-size:var(--size-caption);border-radius:var(--radius-sm);gap:var(--space-1)}.btn--lg{height:var(--control-height-lg);padding:0 var(--space-5);border-radius:var(--radius-md)}.btn--block{width:100%}.btn--icon{width:var(--control-height-sm);height:var(--control-height-sm);border-radius:var(--radius-sm)}.btn__icon{flex:none;width:1em;height:1em;display:inline-flex}.btn__icon svg{width:100%;height:100%;display:block}.btn__icon:first-child{margin-left:calc(var(--space-1) * -1)}.btn__icon:last-child{margin-right:calc(var(--space-1) * -1)}.btn--primary{color:var(--text-on-accent);--btn-grad-a:var(--accent);--btn-grad-b:var(--accent-hover);background:linear-gradient(180deg, var(--btn-grad-a), var(--btn-grad-b));--btn-shadow:inset 0 1px 0 0 #ffffff29, var(--shadow-sm)}.btn--primary:hover:not(:disabled):not(.is-loading){--btn-grad-a:var(--accent-lift);--btn-grad-b:var(--accent);--btn-shadow:inset 0 1px 0 0 #ffffff38, var(--shadow-md)}.btn--primary:active:not(:disabled):not(.is-loading){--btn-grad-a:var(--accent-hover);--btn-grad-b:var(--accent-active);transform:translateY(var(--space-px));--btn-shadow:inset 0 1px 1px 0 rgb(var(--shadow-rgb) / .4), 0 1px 1px 0 rgb(var(--shadow-rgb) / .1)}.btn--secondary{color:var(--text-body);background:var(--bg-surface);border-color:var(--border-default);--btn-shadow:inset 0 1px 0 0 #fff9, 0 1px 2px 0 rgb(var(--shadow-rgb) / .05)}.btn--secondary:hover:not(:disabled):not(.is-loading){color:var(--text-strong);background:var(--neutral-wash);border-color:var(--border-strong)}.btn--secondary:active:not(:disabled):not(.is-loading){background:var(--neutral-wash-press);transform:translateY(var(--space-px));--btn-shadow:inset 0 1px 2px 0 rgb(var(--shadow-rgb) / .07)}.btn--ghost{color:var(--text-body);background:0 0}.btn--ghost:before{content:"";z-index:-1;border-radius:inherit;background:var(--neutral-wash);opacity:0;transition:transform var(--duration-fast) var(--ease-standard), opacity var(--duration-fast) var(--ease-standard), background-color var(--duration-fast) var(--ease-standard);position:absolute;inset:0;transform:scale(.75)}.btn--ghost:hover:not(:disabled):not(.is-loading){color:var(--text-strong)}.btn--ghost:hover:not(:disabled):not(.is-loading):before{opacity:1;transform:scale(1)}.btn--ghost:active:not(:disabled):not(.is-loading){transform:translateY(var(--space-px))}.btn--ghost:active:not(:disabled):not(.is-loading):before{background:var(--neutral-wash-press)}.btn--danger{color:var(--text-on-accent);--btn-grad-a:var(--red-500);--btn-grad-b:var(--red-600);background:linear-gradient(180deg, var(--btn-grad-a), var(--btn-grad-b));--btn-ring:var(--ring-danger);--btn-shadow:inset 0 1px 0 0 #ffffff29, var(--shadow-sm)}.btn--danger:hover:not(:disabled):not(.is-loading){--btn-grad-a:var(--red-400);--btn-grad-b:var(--red-500);--btn-shadow:inset 0 1px 0 0 #ffffff38, var(--shadow-md)}.btn--danger:active:not(:disabled):not(.is-loading){--btn-grad-a:var(--red-600);--btn-grad-b:var(--red-700);transform:translateY(var(--space-px));--btn-shadow:inset 0 1px 1px 0 rgb(var(--shadow-rgb) / .4), 0 1px 1px 0 rgb(var(--shadow-rgb) / .1)}.btn--link{border-radius:var(--radius-sm);height:auto;color:var(--text-accent);--btn-shadow:none;font-weight:var(--weight-medium);background:0 0;padding:0}.btn--link:hover:not(:disabled):not(.is-loading){color:var(--accent-active);text-underline-offset:var(--space-px);text-decoration:underline}.btn--link:active:not(:disabled):not(.is-loading){color:var(--accent-active)}.btn--link:focus-visible{border-radius:var(--radius-sm);box-shadow:var(--btn-ring)}.btn:disabled,.btn.is-loading{cursor:default}.btn:disabled{transform:none}.btn--primary:disabled{background:var(--accent-disabled);color:var(--text-on-accent);--btn-shadow:none}.btn--danger:disabled{background:var(--danger-disabled);color:var(--text-on-accent);--btn-shadow:none}.btn--secondary:disabled{color:var(--text-disabled);background:var(--bg-surface);border-color:var(--border-subtle);--btn-shadow:none}.btn--ghost:disabled{color:var(--text-disabled);background:0 0}.btn--link:disabled{color:var(--text-disabled);text-decoration:none}.btn.is-loading .btn__label,.btn.is-loading .btn__icon{opacity:0}.btn__spinner{border-radius:var(--radius-full);border:var(--border-emphasis) solid currentColor;opacity:.9;width:1em;height:1em;animation:btn-spin var(--duration-spin) var(--ease-standard) infinite;border-right-color:#0000;margin:-.5em 0 0 -.5em;position:absolute;top:50%;left:50%}@keyframes btn-spin{to{transform:rotate(360deg)}}
