.btn{font-family:inherit;font-size:inherit;cursor:pointer;border:var(--border-width) solid transparent;justify-content:center;align-items:center;gap:var(--space-xs);transition:all var(--transition-fast);background:0 0;outline:none;padding:0;text-decoration:none;display:inline-flex}.btn:focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn:active:not(:disabled){transform:scale(var(--press-scale,1))}.btn-primary{background:var(--color-primary);color:var(--color-on-primary);border-radius:var(--radius);padding:var(--control-padding-y) var(--btn-padding-x);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--color-primary-dark)}.btn-outline{background:var(--btn-outline-bg);color:var(--btn-outline-fg);border-radius:var(--radius);padding:var(--control-padding-y) var(--btn-padding-x);font-weight:500}.btn-outline:hover:not(:disabled){background:var(--btn-outline-hover-bg)}.btn-ghost{background:var(--btn-ghost-bg);color:var(--btn-ghost-fg);border-radius:var(--radius);--btn-padding-x:var(--space-md);padding:var(--control-padding-y) var(--btn-padding-x);font-weight:500}.btn-ghost:hover:not(:disabled){background:var(--btn-ghost-hover-bg);color:var(--btn-ghost-hover-fg)}.btn-secondary{background:var(--btn-secondary-bg);color:var(--btn-secondary-fg);border-color:var(--btn-secondary-border,transparent);border-radius:var(--radius);padding:var(--control-padding-y) var(--btn-padding-x);font-weight:var(--btn-secondary-weight)}.btn-secondary:hover:not(:disabled){background:var(--btn-secondary-hover-bg);color:var(--btn-secondary-hover-fg)}.btn-danger{background:var(--color-error);color:var(--color-on-error);border-radius:var(--radius);padding:var(--control-padding-y) var(--btn-padding-x);font-weight:600}.btn-danger:hover:not(:disabled){opacity:.9}.btn-link{color:var(--color-primary);border:none;padding:0;font-weight:500}.btn-link:hover:not(:disabled){text-decoration:underline}.btn.active{background:var(--color-primary);color:var(--color-on-primary)}.btn-md{font-size:var(--control-font-size)}.btn-sm{font-size:var(--font-sm);--control-padding-y:var(--space-xs);--btn-padding-x:var(--space-sm)}.btn-lg{font-size:var(--font-lg);--control-padding-y:var(--space-md);--btn-padding-x:var(--space-xl)}.btn-icon{flex-shrink:0;width:32px;height:32px;padding:0}.btn-icon-lg{width:var(--control-size-lg);height:var(--control-size-lg);flex-shrink:0;padding:0}
